From a0d29c1bff7ee917c3255dc6cbddc2463098a4ee Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 13 Jun 2022 08:49:58 +0200 Subject: [PATCH 001/200] add gitignor --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 8f1f2f2..da10adc 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,6 @@ # helper test output helpers/flaws* +.DS_Store +Archive.zip +package-lock.json From 7a7b9aad160271d23eb2f058bf5b9f06cceaffae Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 13 Jun 2022 08:51:42 +0200 Subject: [PATCH 002/200] new action name --- action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/action.yml b/action.yml index 4eaf6a0..4cfdc0c 100644 --- a/action.yml +++ b/action.yml @@ -1,4 +1,4 @@ -name: 'Veracode scan results to GitHub issues' +name: 'Veracode scan results to GitHub issues Action' description: 'Import the results of a Veracode scan as Issues for a repo' inputs: scan-results-json: From 1490c6f7a7aa624d0decc84d9f579c3e0a80d4f7 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 15:03:58 +0200 Subject: [PATCH 003/200] commit --- index.js | 20 +++++++++++++++++++- issue.js | 6 ++++++ package-lock.json | 1 + policy.js | 5 +++-- 4 files changed, 29 insertions(+), 3 deletions(-) diff --git a/index.js b/index.js index 9ee67d3..483c463 100644 --- a/index.js +++ b/index.js @@ -24,6 +24,19 @@ try { //console.log(`Calling with: resultsFile: ${resultsFile}, token: ${token}, waitTime: ${waitTime}, owner: ${owner}, repo: ${repo}`) + core.info('check if we run on a pull request') + let pullRequest = process.env.GITHUB_REF + let isPR = pullRequest?.indexOf("pull") + + if ( isPR >= 1 ){ + core.info("This run is part of a PR, should add some PR comment") + + const pr_context = github.context + const pr_repository = process.env.GITHUB_REPOSITORY + const pr_repo = pr_repository.split("/"); + const pr_commentID = context.payload.pull_request?.number + } + // do the thing importFlaws( {resultsFile: resultsFile, @@ -34,7 +47,12 @@ try { source_base_path_1: source_base_path_1, source_base_path_2: source_base_path_2, source_base_path_3: source_base_path_3, - commit_hash: commit_hash} + commit_hash: commit_hash, + pr_context: pr_context, + pr_repository: pr_repository, + pr_repo: pr_repo, + pr_commentID: pr_commentID + } ) .catch(error => {console.error(`Failure at ${error.stack}`)}); } catch (error) { diff --git a/issue.js b/issue.js index ad2d0ea..be83678 100644 --- a/issue.js +++ b/issue.js @@ -18,6 +18,11 @@ async function addVeracodeIssue(options, issue) { var authToken = 'token ' + githubToken; + if ( options.pr_commentID ){ + pr_link = "\"pull_request\"\: \[\"url: https://api.github.com/repos/octocat/Hello-World/pulls/1347\", \"html_url: https://github.com/octocat/Hello-World/pull/1347\", \"diff_url; https://github.com/octocat/Hello-World/pull/1347.diff\",\"patch_url: https://github.com/octocat/Hello-World/pull/1347.patch\"\]," + } + + await request('POST /repos/{owner}/{repo}/issues', { headers: { authorization: authToken @@ -27,6 +32,7 @@ async function addVeracodeIssue(options, issue) { data: { "title": issue.title, "labels": [label.severityToLabel(issue.severity), issue.label], + pr_link "body": issue.body } }) diff --git a/package-lock.json b/package-lock.json index 262ef27..1539e35 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,6 +5,7 @@ "requires": true, "packages": { "": { + "name": "pipeline-to-issues", "version": "1.0.0", "license": "ISC", "dependencies": { diff --git a/policy.js b/policy.js index feb97c5..caef766 100644 --- a/policy.js +++ b/policy.js @@ -173,7 +173,7 @@ async function processPolicyFlaws(options, flawData) { linestart = eval(flaw.finding_details.file_line_number-5) linened = eval(flaw.finding_details.file_line_number+5) - commit_path = "https://github.com/"+options.githubOwner+"/"+options.githubRepo+"/blob/"+options.commit_hash+"/"+filepath+"#L"+linestart+"-L"+linened + let commit_path = "https://github.com/"+options.githubOwner+"/"+options.githubRepo+"/blob/"+options.commit_hash+"/"+filepath+"#L"+linestart+"-L"+linened //console.log('Full Path:'+commit_path) @@ -236,4 +236,5 @@ async function processPolicyFlaws(options, flawData) { return index; } -module.exports = { processPolicyFlaws } \ No newline at end of file +module.exports = { processPolicyFlaws } + From 0ecd2aeb6b4edfafbd4f23b7111455d43c7fa155 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 16:54:42 +0200 Subject: [PATCH 004/200] updates --- index.js | 3 +++ policy.js | 10 +++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index 483c463..5e020a2 100644 --- a/index.js +++ b/index.js @@ -28,6 +28,8 @@ try { let pullRequest = process.env.GITHUB_REF let isPR = pullRequest?.indexOf("pull") + console.log('Is PR: '+isPR) + if ( isPR >= 1 ){ core.info("This run is part of a PR, should add some PR comment") @@ -35,6 +37,7 @@ try { const pr_repository = process.env.GITHUB_REPOSITORY const pr_repo = pr_repository.split("/"); const pr_commentID = context.payload.pull_request?.number + console.log('PR Context: '+pr_context+'\nPr Repository: '+pr_repository+'\nPr Repo: '+pr_repo+'\nPR Comment ID: '+pr_commentID) } // do the thing diff --git a/policy.js b/policy.js index caef766..60f79e5 100644 --- a/policy.js +++ b/policy.js @@ -186,13 +186,21 @@ async function processPolicyFlaws(options, flawData) { let title = `${flaw.finding_details.cwe.name} ('${flaw.finding_details.finding_category.name}') ` + createVeracodeFlawID(flaw); let lableBase = label.otherLabels.find( val => val.id === 'policy').name; let severity = flaw.finding_details.severity; - //let bodyText = `**Filename:** ${flaw.finding_details.file_name}`; + + if ( options.pr_commentId ){ + let pr = `url: https://github.com/`+options.githubOwner+`/`+options.githubRepo + //https://api.github.com/repos/octocat/Hello-World/pulls/1347 + } + + let bodyText = `${commit_path}`; bodyText += `\n\n**Filename:** ${flaw.finding_details.file_name}`; bodyText += `\n\n**Line:** ${flaw.finding_details.file_line_number}`; bodyText += `\n\n**CWE:** ${flaw.finding_details.cwe.id} (${flaw.finding_details.cwe.name} ('${flaw.finding_details.finding_category.name}'))`; bodyText += '\n\n' + decodeURI(flaw.description); + console.log('bodyText: '+bodyText) + let issue = { 'title': title, 'label': lableBase, From 7ddefd316dfb88d2d5e4729b72cebebbeb090b07 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 17:03:23 +0200 Subject: [PATCH 005/200] updates --- .DS_Store | Bin 0 -> 6148 bytes Archive.zip | Bin 0 -> 17461 bytes action.yml | 2 +- index.js | 23 +++++++++++++++++++- issue.js | 6 +++++ node_modules/.DS_Store | Bin 0 -> 10244 bytes node_modules/@actions/.DS_Store | Bin 0 -> 6148 bytes node_modules/@octokit/.DS_Store | Bin 0 -> 8196 bytes node_modules/deprecation/.DS_Store | Bin 0 -> 6148 bytes node_modules/dotenv/.DS_Store | Bin 0 -> 6148 bytes node_modules/tunnel/.DS_Store | Bin 0 -> 6148 bytes node_modules/universal-user-agent/.DS_Store | Bin 0 -> 6148 bytes package-lock.json | 1 + policy.js | 15 ++++++++++--- 14 files changed, 42 insertions(+), 5 deletions(-) create mode 100644 .DS_Store create mode 100644 Archive.zip create mode 100644 node_modules/.DS_Store create mode 100644 node_modules/@actions/.DS_Store create mode 100644 node_modules/@octokit/.DS_Store create mode 100644 node_modules/deprecation/.DS_Store create mode 100644 node_modules/dotenv/.DS_Store create mode 100644 node_modules/tunnel/.DS_Store create mode 100644 node_modules/universal-user-agent/.DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..bda908e842f53d7b568e381c3ed3414c07cdd814 GIT binary patch literal 6148 zcmeHKJx{|h5IvJ1Dq!fyn31*rAXH&v>%>&lrlLpd(M6ME>DUb6OpQq;u=wvh$K)Q(gSynA9`&IIbe5}2>(|8yxBg@Ec2a+Cog|(0Q681+NAG*IO{aMO7~M1} z(X$b{>&$gFczZ@?rLk_0FR$+hUxuS4@w0A!6QAq*{DFD&X~x!%f130r;Dq99c3j@M{Ffe6+_lE$3F|?Q&)LRFXz5)P!n6+Te zzZ9GkSPU&@2H}AylL|Dc%3d*)NryeKaiPV`ph+iXFCWTQR`!OXbakvB=x|b@LD9m1 zFpy`!Gmlk1|M$!9|M?_&5(b2Um102oQ6sA3mF(GCcsV|61B@dK7LLmd>J%t@9P0@m d#XA^U;0t&H3@v5`VS&hxfTlr|Fz}}g`~b^%nUnwk literal 0 HcmV?d00001 diff --git a/Archive.zip b/Archive.zip new file mode 100644 index 0000000000000000000000000000000000000000..b12134a042927223ae1f09b0b59b9290cc01dfc0 GIT binary patch literal 17461 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 K6a@bK`hNg1BI9QO literal 0 HcmV?d00001 diff --git a/action.yml b/action.yml index 4eaf6a0..4cfdc0c 100644 --- a/action.yml +++ b/action.yml @@ -1,4 +1,4 @@ -name: 'Veracode scan results to GitHub issues' +name: 'Veracode scan results to GitHub issues Action' description: 'Import the results of a Veracode scan as Issues for a repo' inputs: scan-results-json: diff --git a/index.js b/index.js index 9ee67d3..5e020a2 100644 --- a/index.js +++ b/index.js @@ -24,6 +24,22 @@ try { //console.log(`Calling with: resultsFile: ${resultsFile}, token: ${token}, waitTime: ${waitTime}, owner: ${owner}, repo: ${repo}`) + core.info('check if we run on a pull request') + let pullRequest = process.env.GITHUB_REF + let isPR = pullRequest?.indexOf("pull") + + console.log('Is PR: '+isPR) + + if ( isPR >= 1 ){ + core.info("This run is part of a PR, should add some PR comment") + + const pr_context = github.context + const pr_repository = process.env.GITHUB_REPOSITORY + const pr_repo = pr_repository.split("/"); + const pr_commentID = context.payload.pull_request?.number + console.log('PR Context: '+pr_context+'\nPr Repository: '+pr_repository+'\nPr Repo: '+pr_repo+'\nPR Comment ID: '+pr_commentID) + } + // do the thing importFlaws( {resultsFile: resultsFile, @@ -34,7 +50,12 @@ try { source_base_path_1: source_base_path_1, source_base_path_2: source_base_path_2, source_base_path_3: source_base_path_3, - commit_hash: commit_hash} + commit_hash: commit_hash, + pr_context: pr_context, + pr_repository: pr_repository, + pr_repo: pr_repo, + pr_commentID: pr_commentID + } ) .catch(error => {console.error(`Failure at ${error.stack}`)}); } catch (error) { diff --git a/issue.js b/issue.js index ad2d0ea..be83678 100644 --- a/issue.js +++ b/issue.js @@ -18,6 +18,11 @@ async function addVeracodeIssue(options, issue) { var authToken = 'token ' + githubToken; + if ( options.pr_commentID ){ + pr_link = "\"pull_request\"\: \[\"url: https://api.github.com/repos/octocat/Hello-World/pulls/1347\", \"html_url: https://github.com/octocat/Hello-World/pull/1347\", \"diff_url; https://github.com/octocat/Hello-World/pull/1347.diff\",\"patch_url: https://github.com/octocat/Hello-World/pull/1347.patch\"\]," + } + + await request('POST /repos/{owner}/{repo}/issues', { headers: { authorization: authToken @@ -27,6 +32,7 @@ async function addVeracodeIssue(options, issue) { data: { "title": issue.title, "labels": [label.severityToLabel(issue.severity), issue.label], + pr_link "body": issue.body } }) diff --git a/node_modules/.DS_Store b/node_modules/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..0c66b9680b7054cd168fa643f5380f02171ab6ad GIT binary patch literal 10244 zcmeI1PiPZC6vp4CA+)BY3VKj43m&Y6loXE^Tx%4>9)x;PP@1%9Q%$lgtAJI&DiA6l)(01tu%5OpW#!U=o7@7xrjacZ{>MH*#<<#g+P0LHp{P^s z9vmI&=q-k$!cp!DcUVu`ma;0G92HKEZrRa06i2p>I9Ixp<0)(JRspL(Tmi9n&(IVt zQV~~d|33LUT3+)Dg;LcoA%FN{1HGEGNdc83T4k@F1QRPadA^?7>WrIFhpADL591ii3w;hy2?WbfXAL%o zF z6z@*}INFCE_;SwWpkNszi8lx9MXGW>$x8O|A+VK%L|k8`#|4qn|=G6c-C){ z{m#%W^tXuTEuc-NKV=_C{f%;y|6cxC`yIpTFd374IERO3Y_bYi1*`&A0jt13Dlnv| zTyg$?F8TNWfn>K(RspNPzfr(R7v>AIs7s%%$7)R>$HldPOC;gfQdWlGCR{|mJdVc) zaU4IP^YX%qgmO>Yma;M&`7#_HFp26&%49(0j`gn-fZvA K_MZc^|NjGzChGP8 literal 0 HcmV?d00001 diff --git a/node_modules/@actions/.DS_Store b/node_modules/@actions/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..efbd95deaa125f48bc83603a7c20533186e98857 GIT binary patch literal 6148 zcmeHKJx;?g6#iTyR8)qtF`BIlLvIkOFfjK5s6T3vT2i5QV#!V50!SR9Ct=|L^Z8(axpbenOCfGP)_l?N7w2Cx>=9p+C#%$8<5A*q= zVyTM%%7A>k1ViMw!#Mtad8a%!&$DbW%Lmjo*G~_dO=o=(kB@#FUrbALgR_NlhzV}6 z#1tzG;@nqnU&qV&?_ak0qZsr2vxYjGxDJ{3Xt9DNuLaJ@#EdnKaf@YCkvX&VmgU-B zPaZ$Gsfk;z@^|aF-e(q}q6{bl%D~PH_*EFq*3OYMfHI&A>>C5JK3F!vG+^P;EgkIK z5rCLb?S%L4pNeQjK}-V{9;u-i?@IKpCLA%0cc!6!zB2%gJ7A*{<0{#IEqT lb>WTMifJob@hO`V>aE-m(}0CXYAE_6;AqfJ8TeBM-T`C!b(jDE literal 0 HcmV?d00001 diff --git a/node_modules/@octokit/.DS_Store b/node_modules/@octokit/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..c6d3cb08bb22056e9b46129015c20ab6c4ac5192 GIT binary patch literal 8196 zcmeHM&ubGw6n@jB8k9l>4+TZ`m`lMbg2z}^^dcw)Jqb;lkW>>l=?}r%{s}#J@ziR) z>qWeH5V7FD;7#x%9z69A@Ov|p&715G)+(Z824>!7=DnHkeKR|=Z$d3D1ZFv`t`T!^+r5ZHhik^q{P%vLS{t z=4cOC9kO9%Y@{(KWz0$0k(G^5lpY;+fmSEgFw&Qv0nb310gl~IQImEMxp!s!-s>!_ ztVjKUF}WA!>Gh*9T6L7g zcy=ErcoN%wG{%tC?vA_4&Gf8qIPt|t1Ci1M`@JW4NWb%h0o&(#~urf9hEl7X;BEbE|EB&qGoEQH5$5*iYzVPS2Ud;bd@e`?> BF5dtE literal 0 HcmV?d00001 diff --git a/node_modules/deprecation/.DS_Store b/node_modules/deprecation/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..270f24a0fe0b7dbc6b3a9424f71ccec24d3a3865 GIT binary patch literal 6148 zcmeHKyH3ME5Zr|zh0vs=bO#MZBuWYs8PQRYk^+>60#bq_5`^gdD-?VO4WE<`V0Q21 zobe@40Ybad-8k#nyYWc&=7@;9kHZd8n~0hif{hlYNXUH|wb=3*DP~>ci0&z;A&n;E z8ru@)fI0Bj9FTW+7jNtx&1pfw``hUa^6AXU<(D{XnrB&mlJ{}9d2sQ%Tpqrku44|r z$(-GWJBvJgd{+AA^gx5jIOOngj1y`*xh%ES)|%!kWt(^rU9CXZf}UwcBbryWQ5V{x zyiniHRjF?ccct+wZbWDJ%umqRuWID;PyQ(<)c1B>>Z`34`nQP}(S>a-e$fH+Y>DQc zLz~S3bHE%Z9gy!sf+3iCEF9{m1Ct&BfDNQIaIHNXm`DPcdMq3wgJ4$*bfxT%80^ZC zPdqR6SU7a$#JV%q@jJ6Wp|I|be4=#X)S=DhfH_cgVB7s{OaDJxfBvr)*)Maz9Qaob za3kwwT|AQSt+j`fUYlUtU`PnBaHu7id^^?)X~p{(8n~Cp1u*qkI79|ve+1M9o6Lb9 Gb>IV$YMRUd literal 0 HcmV?d00001 diff --git a/node_modules/dotenv/.DS_Store b/node_modules/dotenv/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..354f8eb3e8579b577cbeb7a3437fadf1a28e8b08 GIT binary patch literal 6148 zcmeHKOG?B*5Up}XhzK%Em%Vi9fCp%Yc!Ifr#1Rz|5>OX{i|hqgUcsAq4o@)$@Kski zlg8juM600tb=Nm}knR)_@#20pCz=safg#AU7!gsAns&@tj4V0k%Zs+@MpFDTd_+t$4v|N@8yp-LoUtUk{+JJG6AtHXg oEFf5CKLOatIdYhcY7er8Uo`9$C5z}&IM9Ct5+Oc013$pP2b$7Hv;Y7A literal 0 HcmV?d00001 diff --git a/node_modules/tunnel/.DS_Store b/node_modules/tunnel/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..92a6a90a4074fbe30f67827693885e7d6edc6936 GIT binary patch literal 6148 zcmeHKy-ve05Wb^DieTx;g5;42sc&Gaup{*aAOrzYqI7^gBQF9k0wa&pg^llgSG8^< zu^~k7B>S`P#}|K6Y#$Nv?75y2O^B#K6J!|-h^Plm2j(nBPHWsW_tW`p*DeN@`I{>F z_Cq?SN2=+Lw!Z)UDYv#=SyoL~L0epXy)Kt$9~avm^$#A4hYg0n8e~Kb@>e-`r=M%f zX5N>hw^d$?YrA#MU2B$)g5+~?2AlzBz!}(Y2K4r!;&{Jl@ZCED&cFZzay|q!!D!ek zrlSL0Dgl6FsFPqUwS>e3!)Vwm!UACp1!^c;iNP8UeK5ah*ehx{u@xU|nODUNr|eii zBzNMd=)E)G4CD-qbUKmy{}R8_!WMMAK}fPD0ubF z?2>Mpw0csJ8Q6X4#`3x5uS>uH6D5I1{ zlW~o$33Wgn_-hXEySs}w_Lg#*Q}F(F`@?KHb8>esnpx8Z`34YTLxC>ay5U val.id === 'policy').name; let severity = flaw.finding_details.severity; - //let bodyText = `**Filename:** ${flaw.finding_details.file_name}`; + + if ( options.pr_commentId ){ + let pr = `url: https://github.com/`+options.githubOwner+`/`+options.githubRepo + //https://api.github.com/repos/octocat/Hello-World/pulls/1347 + } + + let bodyText = `${commit_path}`; bodyText += `\n\n**Filename:** ${flaw.finding_details.file_name}`; bodyText += `\n\n**Line:** ${flaw.finding_details.file_line_number}`; bodyText += `\n\n**CWE:** ${flaw.finding_details.cwe.id} (${flaw.finding_details.cwe.name} ('${flaw.finding_details.finding_category.name}'))`; bodyText += '\n\n' + decodeURI(flaw.description); + console.log('bodyText: '+bodyText) + let issue = { 'title': title, 'label': lableBase, @@ -236,4 +244,5 @@ async function processPolicyFlaws(options, flawData) { return index; } -module.exports = { processPolicyFlaws } \ No newline at end of file +module.exports = { processPolicyFlaws } + From 2735d93b56161d603a9e36fc153368334411e41d Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 17:08:48 +0200 Subject: [PATCH 006/200] updates --- index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/index.js b/index.js index 5e020a2..aac8527 100644 --- a/index.js +++ b/index.js @@ -4,6 +4,7 @@ const core = require('@actions/core'); const github = require('@actions/github'); +const process = require('@process'); const importFlaws = require('./importer').importFlaws; From dc6e9d2bbc50cd2f74455871f13075b11bc6c9d9 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 17:11:46 +0200 Subject: [PATCH 007/200] updates --- node_modules/.package-lock.json | 8 ++ node_modules/process/.eslintrc | 21 ++++ node_modules/process/LICENSE | 22 ++++ node_modules/process/README.md | 26 ++++ node_modules/process/browser.js | 184 +++++++++++++++++++++++++++ node_modules/process/index.js | 2 + node_modules/process/package.json | 27 ++++ node_modules/process/test.js | 199 ++++++++++++++++++++++++++++++ package-lock.json | 16 ++- package.json | 3 +- 10 files changed, 506 insertions(+), 2 deletions(-) create mode 100644 node_modules/process/.eslintrc create mode 100644 node_modules/process/LICENSE create mode 100644 node_modules/process/README.md create mode 100644 node_modules/process/browser.js create mode 100644 node_modules/process/index.js create mode 100644 node_modules/process/package.json create mode 100644 node_modules/process/test.js diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json index c1bbfbe..48208f2 100644 --- a/node_modules/.package-lock.json +++ b/node_modules/.package-lock.json @@ -191,6 +191,14 @@ "wrappy": "1" } }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "engines": { + "node": ">= 0.6.0" + } + }, "node_modules/tunnel": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", diff --git a/node_modules/process/.eslintrc b/node_modules/process/.eslintrc new file mode 100644 index 0000000..1e7aab7 --- /dev/null +++ b/node_modules/process/.eslintrc @@ -0,0 +1,21 @@ +{ +extends: "eslint:recommended", + "env": { + "node": true, + "browser": true, + "es6" : true, + "mocha": true + }, + "rules": { + "indent": [2, 4], + "brace-style": [2, "1tbs"], + "quotes": [2, "single"], + "no-console": 0, + "no-shadow": 0, + "no-use-before-define": [2, "nofunc"], + "no-underscore-dangle": 0, + "no-constant-condition": 0, + "space-after-function-name": 0, + "consistent-return": 0 + } +} diff --git a/node_modules/process/LICENSE b/node_modules/process/LICENSE new file mode 100644 index 0000000..b8c1246 --- /dev/null +++ b/node_modules/process/LICENSE @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2013 Roman Shtylman + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/process/README.md b/node_modules/process/README.md new file mode 100644 index 0000000..6570729 --- /dev/null +++ b/node_modules/process/README.md @@ -0,0 +1,26 @@ +# process + +```require('process');``` just like any other module. + +Works in node.js and browsers via the browser.js shim provided with the module. + +## browser implementation + +The goal of this module is not to be a full-fledged alternative to the builtin process module. This module mostly exists to provide the nextTick functionality and little more. We keep this module lean because it will often be included by default by tools like browserify when it detects a module has used the `process` global. + +It also exposes a "browser" member (i.e. `process.browser`) which is `true` in this implementation but `undefined` in node. This can be used in isomorphic code that adjusts it's behavior depending on which environment it's running in. + +If you are looking to provide other process methods, I suggest you monkey patch them onto the process global in your app. A list of user created patches is below. + +* [hrtime](https://github.com/kumavis/browser-process-hrtime) +* [stdout](https://github.com/kumavis/browser-stdout) + +## package manager notes + +If you are writing a bundler to package modules for client side use, make sure you use the ```browser``` field hint in package.json. + +See https://gist.github.com/4339901 for details. + +The [browserify](https://github.com/substack/node-browserify) module will properly handle this field when bundling your files. + + diff --git a/node_modules/process/browser.js b/node_modules/process/browser.js new file mode 100644 index 0000000..d059362 --- /dev/null +++ b/node_modules/process/browser.js @@ -0,0 +1,184 @@ +// shim for using process in browser +var process = module.exports = {}; + +// cached from whatever global is present so that test runners that stub it +// don't break things. But we need to wrap it in a try catch in case it is +// wrapped in strict mode code which doesn't define any globals. It's inside a +// function because try/catches deoptimize in certain engines. + +var cachedSetTimeout; +var cachedClearTimeout; + +function defaultSetTimout() { + throw new Error('setTimeout has not been defined'); +} +function defaultClearTimeout () { + throw new Error('clearTimeout has not been defined'); +} +(function () { + try { + if (typeof setTimeout === 'function') { + cachedSetTimeout = setTimeout; + } else { + cachedSetTimeout = defaultSetTimout; + } + } catch (e) { + cachedSetTimeout = defaultSetTimout; + } + try { + if (typeof clearTimeout === 'function') { + cachedClearTimeout = clearTimeout; + } else { + cachedClearTimeout = defaultClearTimeout; + } + } catch (e) { + cachedClearTimeout = defaultClearTimeout; + } +} ()) +function runTimeout(fun) { + if (cachedSetTimeout === setTimeout) { + //normal enviroments in sane situations + return setTimeout(fun, 0); + } + // if setTimeout wasn't available but was latter defined + if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { + cachedSetTimeout = setTimeout; + return setTimeout(fun, 0); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedSetTimeout(fun, 0); + } catch(e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedSetTimeout.call(null, fun, 0); + } catch(e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error + return cachedSetTimeout.call(this, fun, 0); + } + } + + +} +function runClearTimeout(marker) { + if (cachedClearTimeout === clearTimeout) { + //normal enviroments in sane situations + return clearTimeout(marker); + } + // if clearTimeout wasn't available but was latter defined + if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { + cachedClearTimeout = clearTimeout; + return clearTimeout(marker); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedClearTimeout(marker); + } catch (e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedClearTimeout.call(null, marker); + } catch (e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. + // Some versions of I.E. have different rules for clearTimeout vs setTimeout + return cachedClearTimeout.call(this, marker); + } + } + + + +} +var queue = []; +var draining = false; +var currentQueue; +var queueIndex = -1; + +function cleanUpNextTick() { + if (!draining || !currentQueue) { + return; + } + draining = false; + if (currentQueue.length) { + queue = currentQueue.concat(queue); + } else { + queueIndex = -1; + } + if (queue.length) { + drainQueue(); + } +} + +function drainQueue() { + if (draining) { + return; + } + var timeout = runTimeout(cleanUpNextTick); + draining = true; + + var len = queue.length; + while(len) { + currentQueue = queue; + queue = []; + while (++queueIndex < len) { + if (currentQueue) { + currentQueue[queueIndex].run(); + } + } + queueIndex = -1; + len = queue.length; + } + currentQueue = null; + draining = false; + runClearTimeout(timeout); +} + +process.nextTick = function (fun) { + var args = new Array(arguments.length - 1); + if (arguments.length > 1) { + for (var i = 1; i < arguments.length; i++) { + args[i - 1] = arguments[i]; + } + } + queue.push(new Item(fun, args)); + if (queue.length === 1 && !draining) { + runTimeout(drainQueue); + } +}; + +// v8 likes predictible objects +function Item(fun, array) { + this.fun = fun; + this.array = array; +} +Item.prototype.run = function () { + this.fun.apply(null, this.array); +}; +process.title = 'browser'; +process.browser = true; +process.env = {}; +process.argv = []; +process.version = ''; // empty string to avoid regexp issues +process.versions = {}; + +function noop() {} + +process.on = noop; +process.addListener = noop; +process.once = noop; +process.off = noop; +process.removeListener = noop; +process.removeAllListeners = noop; +process.emit = noop; +process.prependListener = noop; +process.prependOnceListener = noop; + +process.listeners = function (name) { return [] } + +process.binding = function (name) { + throw new Error('process.binding is not supported'); +}; + +process.cwd = function () { return '/' }; +process.chdir = function (dir) { + throw new Error('process.chdir is not supported'); +}; +process.umask = function() { return 0; }; diff --git a/node_modules/process/index.js b/node_modules/process/index.js new file mode 100644 index 0000000..8d8ed7d --- /dev/null +++ b/node_modules/process/index.js @@ -0,0 +1,2 @@ +// for now just expose the builtin process global from node.js +module.exports = global.process; diff --git a/node_modules/process/package.json b/node_modules/process/package.json new file mode 100644 index 0000000..d2cfaad --- /dev/null +++ b/node_modules/process/package.json @@ -0,0 +1,27 @@ +{ + "author": "Roman Shtylman ", + "name": "process", + "description": "process information for node.js and browsers", + "keywords": [ + "process" + ], + "scripts": { + "test": "mocha test.js", + "browser": "zuul --no-coverage --ui mocha-bdd --local 8080 -- test.js" + }, + "version": "0.11.10", + "repository": { + "type": "git", + "url": "git://github.com/shtylman/node-process.git" + }, + "license": "MIT", + "browser": "./browser.js", + "main": "./index.js", + "engines": { + "node": ">= 0.6.0" + }, + "devDependencies": { + "mocha": "2.2.1", + "zuul": "^3.10.3" + } +} diff --git a/node_modules/process/test.js b/node_modules/process/test.js new file mode 100644 index 0000000..8ba579c --- /dev/null +++ b/node_modules/process/test.js @@ -0,0 +1,199 @@ +var assert = require('assert'); +var ourProcess = require('./browser'); +describe('test against our process', function () { + test(ourProcess); +}); +if (!process.browser) { + describe('test against node', function () { + test(process); + }); + vmtest(); +} +function test (ourProcess) { + describe('test arguments', function () { + it ('works', function (done) { + var order = 0; + + + ourProcess.nextTick(function (num) { + assert.equal(num, order++, 'first one works'); + ourProcess.nextTick(function (num) { + assert.equal(num, order++, 'recursive one is 4th'); + }, 3); + }, 0); + ourProcess.nextTick(function (num) { + assert.equal(num, order++, 'second one starts'); + ourProcess.nextTick(function (num) { + assert.equal(num, order++, 'this is third'); + ourProcess.nextTick(function (num) { + assert.equal(num, order++, 'this is last'); + done(); + }, 5); + }, 4); + }, 1); + ourProcess.nextTick(function (num) { + + assert.equal(num, order++, '3rd schedualed happens after the error'); + }, 2); + }); + }); +if (!process.browser) { + describe('test errors', function (t) { + it ('works', function (done) { + var order = 0; + process.removeAllListeners('uncaughtException'); + process.once('uncaughtException', function(err) { + assert.equal(2, order++, 'error is third'); + ourProcess.nextTick(function () { + assert.equal(5, order++, 'schedualed in error is last'); + done(); + }); + }); + ourProcess.nextTick(function () { + assert.equal(0, order++, 'first one works'); + ourProcess.nextTick(function () { + assert.equal(4, order++, 'recursive one is 4th'); + }); + }); + ourProcess.nextTick(function () { + assert.equal(1, order++, 'second one starts'); + throw(new Error('an error is thrown')); + }); + ourProcess.nextTick(function () { + assert.equal(3, order++, '3rd schedualed happens after the error'); + }); + }); + }); +} + describe('rename globals', function (t) { + var oldTimeout = setTimeout; + var oldClear = clearTimeout; + + it('clearTimeout', function (done){ + + var ok = true; + clearTimeout = function () { + ok = false; + } + var ran = false; + function cleanup() { + clearTimeout = oldClear; + var err; + try { + assert.ok(ok, 'fake clearTimeout ran'); + assert.ok(ran, 'should have run'); + } catch (e) { + err = e; + } + done(err); + } + setTimeout(cleanup, 1000); + ourProcess.nextTick(function () { + ran = true; + }); + }); + it('just setTimeout', function (done){ + + + setTimeout = function () { + setTimeout = oldTimeout; + try { + assert.ok(false, 'fake setTimeout called') + } catch (e) { + done(e); + } + + } + + ourProcess.nextTick(function () { + setTimeout = oldTimeout; + done(); + }); + }); + }); +} +function vmtest() { + var vm = require('vm'); + var fs = require('fs'); + var process = fs.readFileSync('./browser.js', {encoding: 'utf8'}); + + + describe('should work in vm in strict mode with no globals', function () { + it('should parse', function (done) { + var str = '"use strict";var module = {exports:{}};'; + str += process; + str += 'this.works = process.browser;'; + var script = new vm.Script(str); + var context = { + works: false + }; + script.runInNewContext(context); + assert.ok(context.works); + done(); + }); + it('setTimeout throws error', function (done) { + var str = '"use strict";var module = {exports:{}};'; + str += process; + str += 'try {process.nextTick(function () {})} catch (e){this.works = e;}'; + var script = new vm.Script(str); + var context = { + works: false + }; + script.runInNewContext(context); + assert.ok(context.works); + done(); + }); + it('should generally work', function (done) { + var str = '"use strict";var module = {exports:{}};'; + str += process; + str += 'process.nextTick(function () {assert.ok(true);done();})'; + var script = new vm.Script(str); + var context = { + clearTimeout: clearTimeout, + setTimeout: setTimeout, + done: done, + assert: assert + }; + script.runInNewContext(context); + }); + it('late defs setTimeout', function (done) { + var str = '"use strict";var module = {exports:{}};'; + str += process; + str += 'var setTimeout = hiddenSetTimeout;process.nextTick(function () {assert.ok(true);done();})'; + var script = new vm.Script(str); + var context = { + clearTimeout: clearTimeout, + hiddenSetTimeout: setTimeout, + done: done, + assert: assert + }; + script.runInNewContext(context); + }); + it('late defs clearTimeout', function (done) { + var str = '"use strict";var module = {exports:{}};'; + str += process; + str += 'var clearTimeout = hiddenClearTimeout;process.nextTick(function () {assert.ok(true);done();})'; + var script = new vm.Script(str); + var context = { + hiddenClearTimeout: clearTimeout, + setTimeout: setTimeout, + done: done, + assert: assert + }; + script.runInNewContext(context); + }); + it('late defs setTimeout and then redefine', function (done) { + var str = '"use strict";var module = {exports:{}};'; + str += process; + str += 'var setTimeout = hiddenSetTimeout;process.nextTick(function () {setTimeout = function (){throw new Error("foo")};hiddenSetTimeout(function(){process.nextTick(function (){assert.ok(true);done();});});});'; + var script = new vm.Script(str); + var context = { + clearTimeout: clearTimeout, + hiddenSetTimeout: setTimeout, + done: done, + assert: assert + }; + script.runInNewContext(context); + }); + }); +} diff --git a/package-lock.json b/package-lock.json index 1539e35..bc62580 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,8 @@ "@octokit/request": "^5.4.14", "commander": "^7.1.0", "dotenv": "^8.2.0", - "fs": "^0.0.1-security" + "fs": "^0.0.1-security", + "process": "^0.11.10" } }, "node_modules/@actions/core": { @@ -204,6 +205,14 @@ "wrappy": "1" } }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "engines": { + "node": ">= 0.6.0" + } + }, "node_modules/tunnel": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", @@ -393,6 +402,11 @@ "wrappy": "1" } }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" + }, "tunnel": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", diff --git a/package.json b/package.json index 786e2ad..fa42d3d 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,7 @@ "@octokit/request": "^5.4.14", "commander": "^7.1.0", "dotenv": "^8.2.0", - "fs": "^0.0.1-security" + "fs": "^0.0.1-security", + "process": "^0.11.10" } } From 40aa788355f903f924bcde27b08450384149975c Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 17:16:19 +0200 Subject: [PATCH 008/200] updates --- index.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index aac8527..39352d8 100644 --- a/index.js +++ b/index.js @@ -27,7 +27,8 @@ try { core.info('check if we run on a pull request') let pullRequest = process.env.GITHUB_REF - let isPR = pullRequest?.indexOf("pull") + console.log('pull request: '+pullRequest) + let isPR = pullRequest.indexOf("pull") console.log('Is PR: '+isPR) From d14f631e2e901fcdb2f8f8d6de1a0d5998815929 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 17:18:28 +0200 Subject: [PATCH 009/200] updates --- index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.js b/index.js index 39352d8..173a7d7 100644 --- a/index.js +++ b/index.js @@ -38,7 +38,7 @@ try { const pr_context = github.context const pr_repository = process.env.GITHUB_REPOSITORY const pr_repo = pr_repository.split("/"); - const pr_commentID = context.payload.pull_request?.number + const pr_commentID = context.payload.pull_request.number console.log('PR Context: '+pr_context+'\nPr Repository: '+pr_repository+'\nPr Repo: '+pr_repo+'\nPR Comment ID: '+pr_commentID) } From da0dec8175ed7a68cdc75f957ae2f62eb7f8ed01 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 17:21:47 +0200 Subject: [PATCH 010/200] updates --- index.js | 2 +- node_modules/.package-lock.json | 8 -- node_modules/process/.eslintrc | 21 ---- node_modules/process/LICENSE | 22 ---- node_modules/process/README.md | 26 ---- node_modules/process/browser.js | 184 --------------------------- node_modules/process/index.js | 2 - node_modules/process/package.json | 27 ---- node_modules/process/test.js | 199 ------------------------------ package-lock.json | 16 +-- package.json | 3 +- 11 files changed, 3 insertions(+), 507 deletions(-) delete mode 100644 node_modules/process/.eslintrc delete mode 100644 node_modules/process/LICENSE delete mode 100644 node_modules/process/README.md delete mode 100644 node_modules/process/browser.js delete mode 100644 node_modules/process/index.js delete mode 100644 node_modules/process/package.json delete mode 100644 node_modules/process/test.js diff --git a/index.js b/index.js index 173a7d7..9bba7ba 100644 --- a/index.js +++ b/index.js @@ -4,7 +4,7 @@ const core = require('@actions/core'); const github = require('@actions/github'); -const process = require('@process'); +//const process = require('@process'); const importFlaws = require('./importer').importFlaws; diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json index 48208f2..c1bbfbe 100644 --- a/node_modules/.package-lock.json +++ b/node_modules/.package-lock.json @@ -191,14 +191,6 @@ "wrappy": "1" } }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", - "engines": { - "node": ">= 0.6.0" - } - }, "node_modules/tunnel": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", diff --git a/node_modules/process/.eslintrc b/node_modules/process/.eslintrc deleted file mode 100644 index 1e7aab7..0000000 --- a/node_modules/process/.eslintrc +++ /dev/null @@ -1,21 +0,0 @@ -{ -extends: "eslint:recommended", - "env": { - "node": true, - "browser": true, - "es6" : true, - "mocha": true - }, - "rules": { - "indent": [2, 4], - "brace-style": [2, "1tbs"], - "quotes": [2, "single"], - "no-console": 0, - "no-shadow": 0, - "no-use-before-define": [2, "nofunc"], - "no-underscore-dangle": 0, - "no-constant-condition": 0, - "space-after-function-name": 0, - "consistent-return": 0 - } -} diff --git a/node_modules/process/LICENSE b/node_modules/process/LICENSE deleted file mode 100644 index b8c1246..0000000 --- a/node_modules/process/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2013 Roman Shtylman - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/process/README.md b/node_modules/process/README.md deleted file mode 100644 index 6570729..0000000 --- a/node_modules/process/README.md +++ /dev/null @@ -1,26 +0,0 @@ -# process - -```require('process');``` just like any other module. - -Works in node.js and browsers via the browser.js shim provided with the module. - -## browser implementation - -The goal of this module is not to be a full-fledged alternative to the builtin process module. This module mostly exists to provide the nextTick functionality and little more. We keep this module lean because it will often be included by default by tools like browserify when it detects a module has used the `process` global. - -It also exposes a "browser" member (i.e. `process.browser`) which is `true` in this implementation but `undefined` in node. This can be used in isomorphic code that adjusts it's behavior depending on which environment it's running in. - -If you are looking to provide other process methods, I suggest you monkey patch them onto the process global in your app. A list of user created patches is below. - -* [hrtime](https://github.com/kumavis/browser-process-hrtime) -* [stdout](https://github.com/kumavis/browser-stdout) - -## package manager notes - -If you are writing a bundler to package modules for client side use, make sure you use the ```browser``` field hint in package.json. - -See https://gist.github.com/4339901 for details. - -The [browserify](https://github.com/substack/node-browserify) module will properly handle this field when bundling your files. - - diff --git a/node_modules/process/browser.js b/node_modules/process/browser.js deleted file mode 100644 index d059362..0000000 --- a/node_modules/process/browser.js +++ /dev/null @@ -1,184 +0,0 @@ -// shim for using process in browser -var process = module.exports = {}; - -// cached from whatever global is present so that test runners that stub it -// don't break things. But we need to wrap it in a try catch in case it is -// wrapped in strict mode code which doesn't define any globals. It's inside a -// function because try/catches deoptimize in certain engines. - -var cachedSetTimeout; -var cachedClearTimeout; - -function defaultSetTimout() { - throw new Error('setTimeout has not been defined'); -} -function defaultClearTimeout () { - throw new Error('clearTimeout has not been defined'); -} -(function () { - try { - if (typeof setTimeout === 'function') { - cachedSetTimeout = setTimeout; - } else { - cachedSetTimeout = defaultSetTimout; - } - } catch (e) { - cachedSetTimeout = defaultSetTimout; - } - try { - if (typeof clearTimeout === 'function') { - cachedClearTimeout = clearTimeout; - } else { - cachedClearTimeout = defaultClearTimeout; - } - } catch (e) { - cachedClearTimeout = defaultClearTimeout; - } -} ()) -function runTimeout(fun) { - if (cachedSetTimeout === setTimeout) { - //normal enviroments in sane situations - return setTimeout(fun, 0); - } - // if setTimeout wasn't available but was latter defined - if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { - cachedSetTimeout = setTimeout; - return setTimeout(fun, 0); - } - try { - // when when somebody has screwed with setTimeout but no I.E. maddness - return cachedSetTimeout(fun, 0); - } catch(e){ - try { - // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally - return cachedSetTimeout.call(null, fun, 0); - } catch(e){ - // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error - return cachedSetTimeout.call(this, fun, 0); - } - } - - -} -function runClearTimeout(marker) { - if (cachedClearTimeout === clearTimeout) { - //normal enviroments in sane situations - return clearTimeout(marker); - } - // if clearTimeout wasn't available but was latter defined - if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { - cachedClearTimeout = clearTimeout; - return clearTimeout(marker); - } - try { - // when when somebody has screwed with setTimeout but no I.E. maddness - return cachedClearTimeout(marker); - } catch (e){ - try { - // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally - return cachedClearTimeout.call(null, marker); - } catch (e){ - // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. - // Some versions of I.E. have different rules for clearTimeout vs setTimeout - return cachedClearTimeout.call(this, marker); - } - } - - - -} -var queue = []; -var draining = false; -var currentQueue; -var queueIndex = -1; - -function cleanUpNextTick() { - if (!draining || !currentQueue) { - return; - } - draining = false; - if (currentQueue.length) { - queue = currentQueue.concat(queue); - } else { - queueIndex = -1; - } - if (queue.length) { - drainQueue(); - } -} - -function drainQueue() { - if (draining) { - return; - } - var timeout = runTimeout(cleanUpNextTick); - draining = true; - - var len = queue.length; - while(len) { - currentQueue = queue; - queue = []; - while (++queueIndex < len) { - if (currentQueue) { - currentQueue[queueIndex].run(); - } - } - queueIndex = -1; - len = queue.length; - } - currentQueue = null; - draining = false; - runClearTimeout(timeout); -} - -process.nextTick = function (fun) { - var args = new Array(arguments.length - 1); - if (arguments.length > 1) { - for (var i = 1; i < arguments.length; i++) { - args[i - 1] = arguments[i]; - } - } - queue.push(new Item(fun, args)); - if (queue.length === 1 && !draining) { - runTimeout(drainQueue); - } -}; - -// v8 likes predictible objects -function Item(fun, array) { - this.fun = fun; - this.array = array; -} -Item.prototype.run = function () { - this.fun.apply(null, this.array); -}; -process.title = 'browser'; -process.browser = true; -process.env = {}; -process.argv = []; -process.version = ''; // empty string to avoid regexp issues -process.versions = {}; - -function noop() {} - -process.on = noop; -process.addListener = noop; -process.once = noop; -process.off = noop; -process.removeListener = noop; -process.removeAllListeners = noop; -process.emit = noop; -process.prependListener = noop; -process.prependOnceListener = noop; - -process.listeners = function (name) { return [] } - -process.binding = function (name) { - throw new Error('process.binding is not supported'); -}; - -process.cwd = function () { return '/' }; -process.chdir = function (dir) { - throw new Error('process.chdir is not supported'); -}; -process.umask = function() { return 0; }; diff --git a/node_modules/process/index.js b/node_modules/process/index.js deleted file mode 100644 index 8d8ed7d..0000000 --- a/node_modules/process/index.js +++ /dev/null @@ -1,2 +0,0 @@ -// for now just expose the builtin process global from node.js -module.exports = global.process; diff --git a/node_modules/process/package.json b/node_modules/process/package.json deleted file mode 100644 index d2cfaad..0000000 --- a/node_modules/process/package.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "author": "Roman Shtylman ", - "name": "process", - "description": "process information for node.js and browsers", - "keywords": [ - "process" - ], - "scripts": { - "test": "mocha test.js", - "browser": "zuul --no-coverage --ui mocha-bdd --local 8080 -- test.js" - }, - "version": "0.11.10", - "repository": { - "type": "git", - "url": "git://github.com/shtylman/node-process.git" - }, - "license": "MIT", - "browser": "./browser.js", - "main": "./index.js", - "engines": { - "node": ">= 0.6.0" - }, - "devDependencies": { - "mocha": "2.2.1", - "zuul": "^3.10.3" - } -} diff --git a/node_modules/process/test.js b/node_modules/process/test.js deleted file mode 100644 index 8ba579c..0000000 --- a/node_modules/process/test.js +++ /dev/null @@ -1,199 +0,0 @@ -var assert = require('assert'); -var ourProcess = require('./browser'); -describe('test against our process', function () { - test(ourProcess); -}); -if (!process.browser) { - describe('test against node', function () { - test(process); - }); - vmtest(); -} -function test (ourProcess) { - describe('test arguments', function () { - it ('works', function (done) { - var order = 0; - - - ourProcess.nextTick(function (num) { - assert.equal(num, order++, 'first one works'); - ourProcess.nextTick(function (num) { - assert.equal(num, order++, 'recursive one is 4th'); - }, 3); - }, 0); - ourProcess.nextTick(function (num) { - assert.equal(num, order++, 'second one starts'); - ourProcess.nextTick(function (num) { - assert.equal(num, order++, 'this is third'); - ourProcess.nextTick(function (num) { - assert.equal(num, order++, 'this is last'); - done(); - }, 5); - }, 4); - }, 1); - ourProcess.nextTick(function (num) { - - assert.equal(num, order++, '3rd schedualed happens after the error'); - }, 2); - }); - }); -if (!process.browser) { - describe('test errors', function (t) { - it ('works', function (done) { - var order = 0; - process.removeAllListeners('uncaughtException'); - process.once('uncaughtException', function(err) { - assert.equal(2, order++, 'error is third'); - ourProcess.nextTick(function () { - assert.equal(5, order++, 'schedualed in error is last'); - done(); - }); - }); - ourProcess.nextTick(function () { - assert.equal(0, order++, 'first one works'); - ourProcess.nextTick(function () { - assert.equal(4, order++, 'recursive one is 4th'); - }); - }); - ourProcess.nextTick(function () { - assert.equal(1, order++, 'second one starts'); - throw(new Error('an error is thrown')); - }); - ourProcess.nextTick(function () { - assert.equal(3, order++, '3rd schedualed happens after the error'); - }); - }); - }); -} - describe('rename globals', function (t) { - var oldTimeout = setTimeout; - var oldClear = clearTimeout; - - it('clearTimeout', function (done){ - - var ok = true; - clearTimeout = function () { - ok = false; - } - var ran = false; - function cleanup() { - clearTimeout = oldClear; - var err; - try { - assert.ok(ok, 'fake clearTimeout ran'); - assert.ok(ran, 'should have run'); - } catch (e) { - err = e; - } - done(err); - } - setTimeout(cleanup, 1000); - ourProcess.nextTick(function () { - ran = true; - }); - }); - it('just setTimeout', function (done){ - - - setTimeout = function () { - setTimeout = oldTimeout; - try { - assert.ok(false, 'fake setTimeout called') - } catch (e) { - done(e); - } - - } - - ourProcess.nextTick(function () { - setTimeout = oldTimeout; - done(); - }); - }); - }); -} -function vmtest() { - var vm = require('vm'); - var fs = require('fs'); - var process = fs.readFileSync('./browser.js', {encoding: 'utf8'}); - - - describe('should work in vm in strict mode with no globals', function () { - it('should parse', function (done) { - var str = '"use strict";var module = {exports:{}};'; - str += process; - str += 'this.works = process.browser;'; - var script = new vm.Script(str); - var context = { - works: false - }; - script.runInNewContext(context); - assert.ok(context.works); - done(); - }); - it('setTimeout throws error', function (done) { - var str = '"use strict";var module = {exports:{}};'; - str += process; - str += 'try {process.nextTick(function () {})} catch (e){this.works = e;}'; - var script = new vm.Script(str); - var context = { - works: false - }; - script.runInNewContext(context); - assert.ok(context.works); - done(); - }); - it('should generally work', function (done) { - var str = '"use strict";var module = {exports:{}};'; - str += process; - str += 'process.nextTick(function () {assert.ok(true);done();})'; - var script = new vm.Script(str); - var context = { - clearTimeout: clearTimeout, - setTimeout: setTimeout, - done: done, - assert: assert - }; - script.runInNewContext(context); - }); - it('late defs setTimeout', function (done) { - var str = '"use strict";var module = {exports:{}};'; - str += process; - str += 'var setTimeout = hiddenSetTimeout;process.nextTick(function () {assert.ok(true);done();})'; - var script = new vm.Script(str); - var context = { - clearTimeout: clearTimeout, - hiddenSetTimeout: setTimeout, - done: done, - assert: assert - }; - script.runInNewContext(context); - }); - it('late defs clearTimeout', function (done) { - var str = '"use strict";var module = {exports:{}};'; - str += process; - str += 'var clearTimeout = hiddenClearTimeout;process.nextTick(function () {assert.ok(true);done();})'; - var script = new vm.Script(str); - var context = { - hiddenClearTimeout: clearTimeout, - setTimeout: setTimeout, - done: done, - assert: assert - }; - script.runInNewContext(context); - }); - it('late defs setTimeout and then redefine', function (done) { - var str = '"use strict";var module = {exports:{}};'; - str += process; - str += 'var setTimeout = hiddenSetTimeout;process.nextTick(function () {setTimeout = function (){throw new Error("foo")};hiddenSetTimeout(function(){process.nextTick(function (){assert.ok(true);done();});});});'; - var script = new vm.Script(str); - var context = { - clearTimeout: clearTimeout, - hiddenSetTimeout: setTimeout, - done: done, - assert: assert - }; - script.runInNewContext(context); - }); - }); -} diff --git a/package-lock.json b/package-lock.json index bc62580..1539e35 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,8 +14,7 @@ "@octokit/request": "^5.4.14", "commander": "^7.1.0", "dotenv": "^8.2.0", - "fs": "^0.0.1-security", - "process": "^0.11.10" + "fs": "^0.0.1-security" } }, "node_modules/@actions/core": { @@ -205,14 +204,6 @@ "wrappy": "1" } }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", - "engines": { - "node": ">= 0.6.0" - } - }, "node_modules/tunnel": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", @@ -402,11 +393,6 @@ "wrappy": "1" } }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" - }, "tunnel": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", diff --git a/package.json b/package.json index fa42d3d..786e2ad 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,6 @@ "@octokit/request": "^5.4.14", "commander": "^7.1.0", "dotenv": "^8.2.0", - "fs": "^0.0.1-security", - "process": "^0.11.10" + "fs": "^0.0.1-security" } } From 3dbcbf826439370361a28467c1b5fa776d1fafb8 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 17:24:27 +0200 Subject: [PATCH 011/200] updates --- issue.js | 5 ----- 1 file changed, 5 deletions(-) diff --git a/issue.js b/issue.js index be83678..c71f8d8 100644 --- a/issue.js +++ b/issue.js @@ -18,10 +18,6 @@ async function addVeracodeIssue(options, issue) { var authToken = 'token ' + githubToken; - if ( options.pr_commentID ){ - pr_link = "\"pull_request\"\: \[\"url: https://api.github.com/repos/octocat/Hello-World/pulls/1347\", \"html_url: https://github.com/octocat/Hello-World/pull/1347\", \"diff_url; https://github.com/octocat/Hello-World/pull/1347.diff\",\"patch_url: https://github.com/octocat/Hello-World/pull/1347.patch\"\]," - } - await request('POST /repos/{owner}/{repo}/issues', { headers: { @@ -32,7 +28,6 @@ async function addVeracodeIssue(options, issue) { data: { "title": issue.title, "labels": [label.severityToLabel(issue.severity), issue.label], - pr_link "body": issue.body } }) From 51b4a37ec4aade9e5cb24fdde14c9c859485e6ca Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 17:28:12 +0200 Subject: [PATCH 012/200] updates --- index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index 9bba7ba..aace4ab 100644 --- a/index.js +++ b/index.js @@ -33,12 +33,12 @@ try { console.log('Is PR: '+isPR) if ( isPR >= 1 ){ - core.info("This run is part of a PR, should add some PR comment") + core.info("This run is part of a PR, should add some PR links") const pr_context = github.context const pr_repository = process.env.GITHUB_REPOSITORY const pr_repo = pr_repository.split("/"); - const pr_commentID = context.payload.pull_request.number + const pr_commentID = pr_context.payload.pull_request.number console.log('PR Context: '+pr_context+'\nPr Repository: '+pr_repository+'\nPr Repo: '+pr_repo+'\nPR Comment ID: '+pr_commentID) } From a8dabfd3b2d85d10b7a3b5d027c9a06a07b2bdd0 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 17:30:47 +0200 Subject: [PATCH 013/200] updates --- index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.js b/index.js index aace4ab..3987620 100644 --- a/index.js +++ b/index.js @@ -39,7 +39,7 @@ try { const pr_repository = process.env.GITHUB_REPOSITORY const pr_repo = pr_repository.split("/"); const pr_commentID = pr_context.payload.pull_request.number - console.log('PR Context: '+pr_context+'\nPr Repository: '+pr_repository+'\nPr Repo: '+pr_repo+'\nPR Comment ID: '+pr_commentID) + console.log('PR Context: '+JSON.stringify(pr_context)+'\nPr Repository: '+pr_repository+'\nPr Repo: '+pr_repo+'\nPR Comment ID: '+pr_commentID) } // do the thing From 5e14a58af2639138881be1237f002e17b4f113e5 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 17:32:48 +0200 Subject: [PATCH 014/200] updates --- index.js | 1 - 1 file changed, 1 deletion(-) diff --git a/index.js b/index.js index 3987620..5ebffe5 100644 --- a/index.js +++ b/index.js @@ -53,7 +53,6 @@ try { source_base_path_2: source_base_path_2, source_base_path_3: source_base_path_3, commit_hash: commit_hash, - pr_context: pr_context, pr_repository: pr_repository, pr_repo: pr_repo, pr_commentID: pr_commentID From 7ab4859a502f387577d755999ee2b4c207738989 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 17:35:41 +0200 Subject: [PATCH 015/200] updates --- index.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/index.js b/index.js index 5ebffe5..d242237 100644 --- a/index.js +++ b/index.js @@ -35,11 +35,11 @@ try { if ( isPR >= 1 ){ core.info("This run is part of a PR, should add some PR links") - const pr_context = github.context - const pr_repository = process.env.GITHUB_REPOSITORY - const pr_repo = pr_repository.split("/"); - const pr_commentID = pr_context.payload.pull_request.number - console.log('PR Context: '+JSON.stringify(pr_context)+'\nPr Repository: '+pr_repository+'\nPr Repo: '+pr_repo+'\nPR Comment ID: '+pr_commentID) + let pr_context = github.context + let pr_repository = process.env.GITHUB_REPOSITORY + let pr_repo = pr_repository.split("/"); + let pr_commentID = pr_context.payload.pull_request.number + console.log('PR Context: '+pr_context+'\nPr Repository: '+pr_repository+'\nPr Repo: '+pr_repo+'\nPR Comment ID: '+pr_commentID) } // do the thing @@ -53,6 +53,7 @@ try { source_base_path_2: source_base_path_2, source_base_path_3: source_base_path_3, commit_hash: commit_hash, + pr_context: pr_context, pr_repository: pr_repository, pr_repo: pr_repo, pr_commentID: pr_commentID From aa044f6c57c99926cf9b380af531a254734b8979 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 17:45:06 +0200 Subject: [PATCH 016/200] updates --- index.js | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/index.js b/index.js index d242237..7c6c42a 100644 --- a/index.js +++ b/index.js @@ -4,7 +4,7 @@ const core = require('@actions/core'); const github = require('@actions/github'); -//const process = require('@process'); +const { constants } = require('fs/promises'); const importFlaws = require('./importer').importFlaws; @@ -21,9 +21,6 @@ try { // other params const owner = github.context.repo.owner; const repo = github.context.repo.repo; - // context {{ github.repository }} = 'owner/reponame' - - //console.log(`Calling with: resultsFile: ${resultsFile}, token: ${token}, waitTime: ${waitTime}, owner: ${owner}, repo: ${repo}`) core.info('check if we run on a pull request') let pullRequest = process.env.GITHUB_REF @@ -35,12 +32,13 @@ try { if ( isPR >= 1 ){ core.info("This run is part of a PR, should add some PR links") - let pr_context = github.context - let pr_repository = process.env.GITHUB_REPOSITORY - let pr_repo = pr_repository.split("/"); - let pr_commentID = pr_context.payload.pull_request.number - console.log('PR Context: '+pr_context+'\nPr Repository: '+pr_repository+'\nPr Repo: '+pr_repo+'\nPR Comment ID: '+pr_commentID) + const pr_context = github.context + const pr_repository = process.env.GITHUB_REPOSITORY + const pr_repo = pr_repository.split("/"); + const pr_commentID = pr_context.payload.pull_request.number } + console.log('PR Context: '+pr_context+'\nPR Repository: '+pr_repository+'\nPR Repo: '+pr_repo+'\nPR Comment ID: '+pr_commentID) + // do the thing importFlaws( @@ -53,10 +51,10 @@ try { source_base_path_2: source_base_path_2, source_base_path_3: source_base_path_3, commit_hash: commit_hash, - pr_context: pr_context, - pr_repository: pr_repository, - pr_repo: pr_repo, - pr_commentID: pr_commentID + prContext: pr_context, + prRepository: pr_repository, + prRepo: pr_repo, + prCommentID: pr_commentID } ) .catch(error => {console.error(`Failure at ${error.stack}`)}); From 3112721eb372a807edf9c02358c5b312a71cf8ba Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 17:47:18 +0200 Subject: [PATCH 017/200] updates --- index.js | 1 - 1 file changed, 1 deletion(-) diff --git a/index.js b/index.js index 7c6c42a..e6f2759 100644 --- a/index.js +++ b/index.js @@ -4,7 +4,6 @@ const core = require('@actions/core'); const github = require('@actions/github'); -const { constants } = require('fs/promises'); const importFlaws = require('./importer').importFlaws; From aad11142234fa63038b3e53b1c4643ff14e9bf7f Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 17:54:39 +0200 Subject: [PATCH 018/200] updates --- index.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/index.js b/index.js index e6f2759..41951c3 100644 --- a/index.js +++ b/index.js @@ -28,14 +28,14 @@ try { console.log('Is PR: '+isPR) - if ( isPR >= 1 ){ + if ( isPR >= 1 ){ core.info("This run is part of a PR, should add some PR links") + } - const pr_context = github.context - const pr_repository = process.env.GITHUB_REPOSITORY - const pr_repo = pr_repository.split("/"); - const pr_commentID = pr_context.payload.pull_request.number - } + const pr_context = github.context + const pr_repository = process.env.GITHUB_REPOSITORY + const pr_repo = pr_repository.split("/"); + const pr_commentID = pr_context.payload.pull_request.number console.log('PR Context: '+pr_context+'\nPR Repository: '+pr_repository+'\nPR Repo: '+pr_repo+'\nPR Comment ID: '+pr_commentID) From ee794d5a8d8d43ef050d8829aeaa38f4c1cf5265 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 18:24:35 +0200 Subject: [PATCH 019/200] updates --- index.js | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/index.js b/index.js index 41951c3..61f187d 100644 --- a/index.js +++ b/index.js @@ -28,15 +28,21 @@ try { console.log('Is PR: '+isPR) + var pr_context + var pr_repository + var pr_repo + var pr_commentID + if ( isPR >= 1 ){ core.info("This run is part of a PR, should add some PR links") + const pr_context = github.context + const pr_repository = process.env.GITHUB_REPOSITORY + const pr_repo = pr_repository.split("/"); + const pr_commentID = pr_context.payload.pull_request.number + console.log('PR Context: '+pr_context+'\nPR Repository: '+pr_repository+'\nPR Repo: '+pr_repo+'\nPR Comment ID: '+pr_commentID) } - const pr_context = github.context - const pr_repository = process.env.GITHUB_REPOSITORY - const pr_repo = pr_repository.split("/"); - const pr_commentID = pr_context.payload.pull_request.number - console.log('PR Context: '+pr_context+'\nPR Repository: '+pr_repository+'\nPR Repo: '+pr_repo+'\nPR Comment ID: '+pr_commentID) + // do the thing From 0a367edca9075693cf24b45bbc43c7ce85313819 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 18:26:40 +0200 Subject: [PATCH 020/200] updates --- policy.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/policy.js b/policy.js index 60f79e5..84ee885 100644 --- a/policy.js +++ b/policy.js @@ -149,6 +149,8 @@ async function processPolicyFlaws(options, flawData) { filename = flaw.finding_details.file_path + var filepath + if (options.source_base_path_1 || options.source_base_path_2 || options.source_base_path_3){ orgPath1 = options.source_base_path_1.split(":") orgPath2 = options.source_base_path_2.split(":") @@ -157,17 +159,17 @@ async function processPolicyFlaws(options, flawData) { if( filename.includes(orgPath1[0])) { //console.log('file path1: '+filename) - filepath = replacePath(options.source_base_path_1, filename) + let filepath = replacePath(options.source_base_path_1, filename) } else if (filename.includes(orgPath2[0])){ //console.log('file path2: '+filename) - filepath = replacePath(options.source_base_path_2, filename) + let filepath = replacePath(options.source_base_path_2, filename) } else if (filename.includes(orgPath3[0])){ //console.log('file path3: '+filename) - filepath = replacePath(options.source_base_path_3, filename) + let filepath = replacePath(options.source_base_path_3, filename) } - //console.log('Filepath:'+filepath); + console.log('Filepath:'+filepath); } linestart = eval(flaw.finding_details.file_line_number-5) From c6b415f343398d5490ee58fadebef03b2f42a770 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 18:36:35 +0200 Subject: [PATCH 021/200] updates --- action.yml | 4 +++- index.js | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/action.yml b/action.yml index 4cfdc0c..2063d0c 100644 --- a/action.yml +++ b/action.yml @@ -7,6 +7,7 @@ inputs: default: 'filtered_results.json' github-token: description: 'GitHub token to access the repo' + default: ${{ github.token }} required: true wait-time: description: 'Delay (in seconds) between entering Issues into GitHub (due to rate limiting)' @@ -23,7 +24,8 @@ inputs: required: false commit-hash: description: 'Commit Hash' - required: false + required: true + default: ${{ github.github_sha }} runs: using: 'node12' main: 'index.js' \ No newline at end of file diff --git a/index.js b/index.js index 61f187d..fff61fc 100644 --- a/index.js +++ b/index.js @@ -16,6 +16,7 @@ try { const source_base_path_2 = core.getInput('source-base-path_2'); const source_base_path_3 = core.getInput('source-base-path_3'); const commit_hash = core.getInput('commit-hash'); + console.log('resultsFiel: '=resultsFile+'\nwaitTime: '+waitTime+'\nsource_base_path_1: '+source_base_path_1+'\nsource_base_path_2: '+source_base_path_2+'\nsource_base_path_3: '+source_base_path_3+'\ncommit_hash: '+commit_hash) // other params const owner = github.context.repo.owner; From 3ac9458371f3cb25c9e845a4e6260f55d62aa22d Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 18:38:25 +0200 Subject: [PATCH 022/200] updates --- index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.js b/index.js index fff61fc..89b0558 100644 --- a/index.js +++ b/index.js @@ -16,7 +16,7 @@ try { const source_base_path_2 = core.getInput('source-base-path_2'); const source_base_path_3 = core.getInput('source-base-path_3'); const commit_hash = core.getInput('commit-hash'); - console.log('resultsFiel: '=resultsFile+'\nwaitTime: '+waitTime+'\nsource_base_path_1: '+source_base_path_1+'\nsource_base_path_2: '+source_base_path_2+'\nsource_base_path_3: '+source_base_path_3+'\ncommit_hash: '+commit_hash) + console.log('resultsFiel: '+resultsFile+'\nwaitTime: '+waitTime+'\nsource_base_path_1: '+source_base_path_1+'\nsource_base_path_2: '+source_base_path_2+'\nsource_base_path_3: '+source_base_path_3+'\ncommit_hash: '+commit_hash) // other params const owner = github.context.repo.owner; From 2d5ddb1d9b5e734d8007afafd14d0e5355786886 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 18:53:03 +0200 Subject: [PATCH 023/200] updates --- action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/action.yml b/action.yml index 2063d0c..258a574 100644 --- a/action.yml +++ b/action.yml @@ -25,7 +25,7 @@ inputs: commit-hash: description: 'Commit Hash' required: true - default: ${{ github.github_sha }} + default: ${{ github_sha }} runs: using: 'node12' main: 'index.js' \ No newline at end of file From 940aa90cf1039bbf62a608c639683d10dedb5edb Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 18:55:22 +0200 Subject: [PATCH 024/200] upsates --- action.yml | 5 +---- index.js | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/action.yml b/action.yml index 258a574..15598db 100644 --- a/action.yml +++ b/action.yml @@ -22,10 +22,7 @@ inputs: source_base_path_3: description: 'Rewrite 3' required: false - commit-hash: - description: 'Commit Hash' - required: true - default: ${{ github_sha }} + runs: using: 'node12' main: 'index.js' \ No newline at end of file diff --git a/index.js b/index.js index 89b0558..7c9ed28 100644 --- a/index.js +++ b/index.js @@ -15,7 +15,7 @@ try { const source_base_path_1 = core.getInput('source-base-path_1'); const source_base_path_2 = core.getInput('source-base-path_2'); const source_base_path_3 = core.getInput('source-base-path_3'); - const commit_hash = core.getInput('commit-hash'); + const commit_hash = process.env.GITHUB_SHA; console.log('resultsFiel: '+resultsFile+'\nwaitTime: '+waitTime+'\nsource_base_path_1: '+source_base_path_1+'\nsource_base_path_2: '+source_base_path_2+'\nsource_base_path_3: '+source_base_path_3+'\ncommit_hash: '+commit_hash) // other params From c501f6b2cc672b002377c84a5b61028eff1d2636 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 18:58:47 +0200 Subject: [PATCH 025/200] updates --- policy.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/policy.js b/policy.js index 84ee885..faf362d 100644 --- a/policy.js +++ b/policy.js @@ -169,6 +169,9 @@ async function processPolicyFlaws(options, flawData) { //console.log('file path3: '+filename) let filepath = replacePath(options.source_base_path_3, filename) } + else { + let filepath = filename + } console.log('Filepath:'+filepath); } From f580211766f4576895d67de395fd80acaeb787ec Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 19:04:22 +0200 Subject: [PATCH 026/200] updates --- policy.js | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/policy.js b/policy.js index faf362d..b2f52b2 100644 --- a/policy.js +++ b/policy.js @@ -149,7 +149,7 @@ async function processPolicyFlaws(options, flawData) { filename = flaw.finding_details.file_path - var filepath + var filepath = filename if (options.source_base_path_1 || options.source_base_path_2 || options.source_base_path_3){ orgPath1 = options.source_base_path_1.split(":") @@ -169,9 +169,6 @@ async function processPolicyFlaws(options, flawData) { //console.log('file path3: '+filename) let filepath = replacePath(options.source_base_path_3, filename) } - else { - let filepath = filename - } console.log('Filepath:'+filepath); } From ec9f497e8b61679abbab61517588415d910c0e5e Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 20:12:44 +0200 Subject: [PATCH 027/200] updates --- issue.js | 17 +++++++++++++++++ policy.js | 8 +++++--- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/issue.js b/issue.js index c71f8d8..9b9a3b5 100644 --- a/issue.js +++ b/issue.js @@ -33,6 +33,23 @@ async function addVeracodeIssue(options, issue) { }) .then( result => { console.log(`Issue successfully created, result: ${result.status}`); + console.log('result: '+JSON.stringify(result)) + if ( issue.pr_link != "" ){ + console.log('Running on a PR, adding PR to the issue.') + /* + await request('POST /repos/{owner}/{repo}/issues/{issue_number}/comments', { + headers: { + authorization: authToken + }, + owner: githubOwner, + repo: githubRepo, + issue_number: issue_number, + data: { + "body": issue.pr_link + } + } + */ + } }) .catch( error => { // 403 possible rate-limit error diff --git a/policy.js b/policy.js index b2f52b2..2974d04 100644 --- a/policy.js +++ b/policy.js @@ -189,9 +189,10 @@ async function processPolicyFlaws(options, flawData) { let lableBase = label.otherLabels.find( val => val.id === 'policy').name; let severity = flaw.finding_details.severity; + var pr_link + if ( options.pr_commentId ){ - let pr = `url: https://github.com/`+options.githubOwner+`/`+options.githubRepo - //https://api.github.com/repos/octocat/Hello-World/pulls/1347 + let pr_link = `Veracode issue link to PR: https://github.com/repos/`+options.githubOwner+`/`+options.githubRepo+`/pull/`+options.pr_commentId } @@ -207,7 +208,8 @@ async function processPolicyFlaws(options, flawData) { 'title': title, 'label': lableBase, 'severity': severity, - 'body': bodyText + 'body': bodyText, + 'pr_link': pr_link }; await addVeracodeIssue(options, issue) From cb7221709677260f77539483eed7da7d408ed481 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 20:18:29 +0200 Subject: [PATCH 028/200] updates --- issue.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/issue.js b/issue.js index 9b9a3b5..ca46135 100644 --- a/issue.js +++ b/issue.js @@ -34,9 +34,10 @@ async function addVeracodeIssue(options, issue) { .then( result => { console.log(`Issue successfully created, result: ${result.status}`); console.log('result: '+JSON.stringify(result)) + var issue_number = result.data.number if ( issue.pr_link != "" ){ console.log('Running on a PR, adding PR to the issue.') - /* + await request('POST /repos/{owner}/{repo}/issues/{issue_number}/comments', { headers: { authorization: authToken @@ -48,7 +49,7 @@ async function addVeracodeIssue(options, issue) { "body": issue.pr_link } } - */ + } }) .catch( error => { From 64f5612d628df5e377eaa8887327cac9ca1a7455 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 20:24:50 +0200 Subject: [PATCH 029/200] update --- issue.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/issue.js b/issue.js index ca46135..50870e4 100644 --- a/issue.js +++ b/issue.js @@ -31,9 +31,8 @@ async function addVeracodeIssue(options, issue) { "body": issue.body } }) - .then( result => { + .then( async result => { console.log(`Issue successfully created, result: ${result.status}`); - console.log('result: '+JSON.stringify(result)) var issue_number = result.data.number if ( issue.pr_link != "" ){ console.log('Running on a PR, adding PR to the issue.') From b80cd6b06ba92de74c1c745e184f7196d8f5103e Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 20:27:25 +0200 Subject: [PATCH 030/200] updates --- issue.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/issue.js b/issue.js index 50870e4..24fe9ac 100644 --- a/issue.js +++ b/issue.js @@ -47,8 +47,7 @@ async function addVeracodeIssue(options, issue) { data: { "body": issue.pr_link } - } - + }) } }) .catch( error => { From d3496fde8488f4c4f0330cdb90df5f76de94efb5 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 20:31:41 +0200 Subject: [PATCH 031/200] updates --- issue.js | 1 + policy.js | 2 ++ 2 files changed, 3 insertions(+) diff --git a/issue.js b/issue.js index 24fe9ac..51af12d 100644 --- a/issue.js +++ b/issue.js @@ -36,6 +36,7 @@ async function addVeracodeIssue(options, issue) { var issue_number = result.data.number if ( issue.pr_link != "" ){ console.log('Running on a PR, adding PR to the issue.') + console.log('pr_link: '+issue.pr_link+'\nissue_number: '+issue_number) await request('POST /repos/{owner}/{repo}/issues/{issue_number}/comments', { headers: { diff --git a/policy.js b/policy.js index 2974d04..e61023b 100644 --- a/policy.js +++ b/policy.js @@ -211,6 +211,8 @@ async function processPolicyFlaws(options, flawData) { 'body': bodyText, 'pr_link': pr_link }; + + console.log('Issue: '+issue) await addVeracodeIssue(options, issue) .catch( error => { From 46ac69b52e2d27d92d14a5edad6d92b4e3ca3ba5 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 20:36:18 +0200 Subject: [PATCH 032/200] updates --- policy.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/policy.js b/policy.js index e61023b..a5f7d7f 100644 --- a/policy.js +++ b/policy.js @@ -195,6 +195,8 @@ async function processPolicyFlaws(options, flawData) { let pr_link = `Veracode issue link to PR: https://github.com/repos/`+options.githubOwner+`/`+options.githubRepo+`/pull/`+options.pr_commentId } + console.log('pr_link: '+pr_link) + let bodyText = `${commit_path}`; bodyText += `\n\n**Filename:** ${flaw.finding_details.file_name}`; @@ -212,7 +214,7 @@ async function processPolicyFlaws(options, flawData) { 'pr_link': pr_link }; - console.log('Issue: '+issue) + console.log('Issue: '+JSON.stringify(issue)) await addVeracodeIssue(options, issue) .catch( error => { From 3278b8a71fdd5886f7dcb890fd7be7f01e3212b9 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 20:40:36 +0200 Subject: [PATCH 033/200] update --- policy.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/policy.js b/policy.js index a5f7d7f..8423dc3 100644 --- a/policy.js +++ b/policy.js @@ -191,7 +191,7 @@ async function processPolicyFlaws(options, flawData) { var pr_link - if ( options.pr_commentId ){ + if ( options.pr_commentID ){ let pr_link = `Veracode issue link to PR: https://github.com/repos/`+options.githubOwner+`/`+options.githubRepo+`/pull/`+options.pr_commentId } From 62b6cf3bd01c0a2e3d9a0bbd4df463de752d1caf Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 20:42:52 +0200 Subject: [PATCH 034/200] update --- policy.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/policy.js b/policy.js index 8423dc3..b974d17 100644 --- a/policy.js +++ b/policy.js @@ -191,7 +191,7 @@ async function processPolicyFlaws(options, flawData) { var pr_link - if ( options.pr_commentID ){ + if ( options.prCommentID ){ let pr_link = `Veracode issue link to PR: https://github.com/repos/`+options.githubOwner+`/`+options.githubRepo+`/pull/`+options.pr_commentId } From 83d3472317a6a57a535f56a20382df2b48d29698 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 20:50:25 +0200 Subject: [PATCH 035/200] updates --- index.js | 10 +--------- policy.js | 4 +++- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/index.js b/index.js index 7c9ed28..596df02 100644 --- a/index.js +++ b/index.js @@ -36,11 +36,6 @@ try { if ( isPR >= 1 ){ core.info("This run is part of a PR, should add some PR links") - const pr_context = github.context - const pr_repository = process.env.GITHUB_REPOSITORY - const pr_repo = pr_repository.split("/"); - const pr_commentID = pr_context.payload.pull_request.number - console.log('PR Context: '+pr_context+'\nPR Repository: '+pr_repository+'\nPR Repo: '+pr_repo+'\nPR Comment ID: '+pr_commentID) } @@ -57,10 +52,7 @@ try { source_base_path_2: source_base_path_2, source_base_path_3: source_base_path_3, commit_hash: commit_hash, - prContext: pr_context, - prRepository: pr_repository, - prRepo: pr_repo, - prCommentID: pr_commentID + isPr: isPr } ) .catch(error => {console.error(`Failure at ${error.stack}`)}); diff --git a/policy.js b/policy.js index b974d17..27c8785 100644 --- a/policy.js +++ b/policy.js @@ -191,7 +191,9 @@ async function processPolicyFlaws(options, flawData) { var pr_link - if ( options.prCommentID ){ + console.log('prCommentID: '+options.isPr) + + if ( options.isPR >= 1 ){ let pr_link = `Veracode issue link to PR: https://github.com/repos/`+options.githubOwner+`/`+options.githubRepo+`/pull/`+options.pr_commentId } From 638e79502ee11fad2233e998fb85f9214440eb48 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 20:53:41 +0200 Subject: [PATCH 036/200] updates --- index.js | 8 ++------ policy.js | 2 +- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/index.js b/index.js index 596df02..aa489c4 100644 --- a/index.js +++ b/index.js @@ -24,8 +24,7 @@ try { core.info('check if we run on a pull request') let pullRequest = process.env.GITHUB_REF - console.log('pull request: '+pullRequest) - let isPR = pullRequest.indexOf("pull") + const isPR = pullRequest.indexOf("pull") console.log('Is PR: '+isPR) @@ -37,10 +36,7 @@ try { if ( isPR >= 1 ){ core.info("This run is part of a PR, should add some PR links") } - - - // do the thing importFlaws( {resultsFile: resultsFile, @@ -52,7 +48,7 @@ try { source_base_path_2: source_base_path_2, source_base_path_3: source_base_path_3, commit_hash: commit_hash, - isPr: isPr + isPR: isPR } ) .catch(error => {console.error(`Failure at ${error.stack}`)}); diff --git a/policy.js b/policy.js index 27c8785..ad508da 100644 --- a/policy.js +++ b/policy.js @@ -191,7 +191,7 @@ async function processPolicyFlaws(options, flawData) { var pr_link - console.log('prCommentID: '+options.isPr) + console.log('prCommentID: '+options.isPR) if ( options.isPR >= 1 ){ let pr_link = `Veracode issue link to PR: https://github.com/repos/`+options.githubOwner+`/`+options.githubRepo+`/pull/`+options.pr_commentId From f2327ac61659e2058c83616bac3f1cb7f7854bc7 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 20:56:36 +0200 Subject: [PATCH 037/200] uodates --- policy.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/policy.js b/policy.js index ad508da..fcc10ea 100644 --- a/policy.js +++ b/policy.js @@ -194,7 +194,7 @@ async function processPolicyFlaws(options, flawData) { console.log('prCommentID: '+options.isPR) if ( options.isPR >= 1 ){ - let pr_link = `Veracode issue link to PR: https://github.com/repos/`+options.githubOwner+`/`+options.githubRepo+`/pull/`+options.pr_commentId + pr_link = `Veracode issue link to PR: https://github.com/repos/`+options.githubOwner+`/`+options.githubRepo+`/pull/`+options.pr_commentId } console.log('pr_link: '+pr_link) From 15c5a525d6c81a0bcd534472fd53496d76e9fd62 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 21:03:29 +0200 Subject: [PATCH 038/200] updates --- index.js | 10 +++++++--- policy.js | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/index.js b/index.js index aa489c4..7238041 100644 --- a/index.js +++ b/index.js @@ -29,14 +29,17 @@ try { console.log('Is PR: '+isPR) var pr_context - var pr_repository - var pr_repo var pr_commentID if ( isPR >= 1 ){ core.info("This run is part of a PR, should add some PR links") + pr_context = github.context + pr_commentID = pr_context.payload.pull_request.number } + + + // do the thing importFlaws( {resultsFile: resultsFile, @@ -48,7 +51,8 @@ try { source_base_path_2: source_base_path_2, source_base_path_3: source_base_path_3, commit_hash: commit_hash, - isPR: isPR + isPR: isPR, + pr_commentID: pr_commentID } ) .catch(error => {console.error(`Failure at ${error.stack}`)}); diff --git a/policy.js b/policy.js index fcc10ea..5ce89f4 100644 --- a/policy.js +++ b/policy.js @@ -194,7 +194,7 @@ async function processPolicyFlaws(options, flawData) { console.log('prCommentID: '+options.isPR) if ( options.isPR >= 1 ){ - pr_link = `Veracode issue link to PR: https://github.com/repos/`+options.githubOwner+`/`+options.githubRepo+`/pull/`+options.pr_commentId + pr_link = `Veracode issue link to PR: https://github.com/repos/`+options.githubOwner+`/`+options.githubRepo+`/pull/`+options.pr_commentID } console.log('pr_link: '+pr_link) From 9ee9d5d688b299ab2ba4f91f939020da92457bf4 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 21:07:17 +0200 Subject: [PATCH 039/200] updates --- policy.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/policy.js b/policy.js index 5ce89f4..5276871 100644 --- a/policy.js +++ b/policy.js @@ -194,7 +194,7 @@ async function processPolicyFlaws(options, flawData) { console.log('prCommentID: '+options.isPR) if ( options.isPR >= 1 ){ - pr_link = `Veracode issue link to PR: https://github.com/repos/`+options.githubOwner+`/`+options.githubRepo+`/pull/`+options.pr_commentID + pr_link = `Veracode issue link to PR: https://github.com/`+options.githubOwner+`/`+options.githubRepo+`/pull/`+options.pr_commentID } console.log('pr_link: '+pr_link) From e3319144c1655a05730733cceab230f1db56a1aa Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 21:37:27 +0200 Subject: [PATCH 040/200] update --- policy.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/policy.js b/policy.js index 5276871..d90d02c 100644 --- a/policy.js +++ b/policy.js @@ -108,6 +108,8 @@ function issueExists(vid) { return false; } +var pr_link + async function processPolicyFlaws(options, flawData) { const util = require('./util'); @@ -135,6 +137,11 @@ async function processPolicyFlaws(options, flawData) { // check for duplicate if(issueExists(vid)) { console.log('Issue already exists, skipping import'); + if ( options.isPR >= 1 ){ + console.log('We are on a PR, need to link this issue to this PR') + pr_link = `Veracode issue link to PR: https://github.com/`+options.githubOwner+`/`+options.githubRepo+`/pull/`+options.pr_commentID + } + continue; } @@ -188,8 +195,6 @@ async function processPolicyFlaws(options, flawData) { let title = `${flaw.finding_details.cwe.name} ('${flaw.finding_details.finding_category.name}') ` + createVeracodeFlawID(flaw); let lableBase = label.otherLabels.find( val => val.id === 'policy').name; let severity = flaw.finding_details.severity; - - var pr_link console.log('prCommentID: '+options.isPR) From c0f92ddfed42e8a337df89e960baf261d9e80f73 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 21:57:46 +0200 Subject: [PATCH 041/200] updates --- issue.js | 44 +++++++++++++++++++++++++++++++++++++++++++- policy.js | 4 +++- 2 files changed, 46 insertions(+), 2 deletions(-) diff --git a/issue.js b/issue.js index 51af12d..c0c9236 100644 --- a/issue.js +++ b/issue.js @@ -50,6 +50,7 @@ async function addVeracodeIssue(options, issue) { } }) } + return issue_number }) .catch( error => { // 403 possible rate-limit error @@ -64,4 +65,45 @@ async function addVeracodeIssue(options, issue) { }); } -module.exports = { addVeracodeIssue }; \ No newline at end of file +async function addVeracodeIssueComment(options, issue) { + + const label = require('./label'); + const ApiError = require('./util').ApiError; + + const githubOwner = options.githubOwner; + const githubRepo = options.githubRepo; + const githubToken = options.githubToken; + + console.debug(`Adding Issue for ${issue.title}`); + + var authToken = 'token ' + githubToken; + + console.log('Running on a PR, adding PR to the issue.') + console.log('pr_link: '+issue.pr_link+'\nissue_number: '+issue_number) + + await request('POST /repos/{owner}/{repo}/issues/{issue_number}/comments', { + headers: { + authorization: authToken + }, + owner: githubOwner, + repo: githubRepo, + issue_number: issue_number, + data: { + "body": issue.pr_link + } + }) + .catch( error => { + // 403 possible rate-limit error + if((error.status == 403) && (error.message.indexOf('abuse detection') > 0) ) { + + console.warn(`GitHub rate limiter tripped, ${error.message}`); + + throw new ApiError('Rate Limiter tripped'); + } else { + throw new Error (`Error ${error.status} creating Issue for \"${issue.title}\": ${error.message}`); + } + }); +} + +module.exports = { addVeracodeIssue }; +module.exports = { addVeracodeIssueComment }; \ No newline at end of file diff --git a/policy.js b/policy.js index d90d02c..105a853 100644 --- a/policy.js +++ b/policy.js @@ -223,7 +223,7 @@ async function processPolicyFlaws(options, flawData) { console.log('Issue: '+JSON.stringify(issue)) - await addVeracodeIssue(options, issue) + var issue_numnber = await addVeracodeIssue(options, issue) .catch( error => { if(error instanceof util.ApiError) { @@ -247,6 +247,8 @@ async function processPolicyFlaws(options, flawData) { } }) + console.log('My Issue Nmbuer: '+issue_numnber) + // progress counter for large flaw counts if( (index > 0) && (index % 25 == 0) ) console.log(`Processed ${index} flaws`) From 8aad6ebdf1ce2df6c72a7e62b1a39bcfe2419a6c Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 22:10:31 +0200 Subject: [PATCH 042/200] updates --- policy.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/policy.js b/policy.js index 105a853..2b0b8db 100644 --- a/policy.js +++ b/policy.js @@ -223,7 +223,7 @@ async function processPolicyFlaws(options, flawData) { console.log('Issue: '+JSON.stringify(issue)) - var issue_numnber = await addVeracodeIssue(options, issue) + await addVeracodeIssue(options, issue) .catch( error => { if(error instanceof util.ApiError) { @@ -247,7 +247,7 @@ async function processPolicyFlaws(options, flawData) { } }) - console.log('My Issue Nmbuer: '+issue_numnber) + console.log('My Issue Nmbuer: '+addVeracodeIssue.issue_numnber) // progress counter for large flaw counts if( (index > 0) && (index % 25 == 0) ) From b0a52f148d3d1a62f492635898f335cac1b13aa3 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 22:16:28 +0200 Subject: [PATCH 043/200] updates --- policy.js | 1 + 1 file changed, 1 insertion(+) diff --git a/policy.js b/policy.js index 2b0b8db..3fa69b2 100644 --- a/policy.js +++ b/policy.js @@ -124,6 +124,7 @@ async function processPolicyFlaws(options, flawData) { var index; for( index=0; index < flawData._embedded.findings.length; index++) { let flaw = flawData._embedded.findings[index]; + console.log('Old flaw: '+JSON.stringify(flawData._embedded)) let vid = createVeracodeFlawID(flaw); console.debug(`processing flaw ${flaw.issue_id}, VeracodeID: ${vid}`); From 3ce765d912096a2aa120a1a44d11163e30a8ef22 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 22:27:51 +0200 Subject: [PATCH 044/200] updates --- issue.js | 9 +++------ policy.js | 17 +++++++++++++++++ 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/issue.js b/issue.js index c0c9236..c79fe5f 100644 --- a/issue.js +++ b/issue.js @@ -65,17 +65,14 @@ async function addVeracodeIssue(options, issue) { }); } -async function addVeracodeIssueComment(options, issue) { +async function addVeracodeIssueComment(options, issueComment) { - const label = require('./label'); const ApiError = require('./util').ApiError; const githubOwner = options.githubOwner; const githubRepo = options.githubRepo; const githubToken = options.githubToken; - console.debug(`Adding Issue for ${issue.title}`); - var authToken = 'token ' + githubToken; console.log('Running on a PR, adding PR to the issue.') @@ -87,9 +84,9 @@ async function addVeracodeIssueComment(options, issue) { }, owner: githubOwner, repo: githubRepo, - issue_number: issue_number, + issue_number: issue_comment.issue_number, data: { - "body": issue.pr_link + "body": issueComment.pr_link } }) .catch( error => { diff --git a/policy.js b/policy.js index 3fa69b2..e589cd1 100644 --- a/policy.js +++ b/policy.js @@ -5,6 +5,7 @@ const { request } = require('@octokit/request'); const label = require('./label'); const addVeracodeIssue = require('./issue').addVeracodeIssue; +const addVeracodeIssueComment = require('./issue').addVeracodeIssue; // sparse array, element = true if the flaw exists, undefined otherwise var existingFlaws = []; @@ -142,6 +143,22 @@ async function processPolicyFlaws(options, flawData) { console.log('We are on a PR, need to link this issue to this PR') pr_link = `Veracode issue link to PR: https://github.com/`+options.githubOwner+`/`+options.githubRepo+`/pull/`+options.pr_commentID } + + let issueComment = { + 'issue_number': flawData._embedded.data.number, + 'pr_link': pr_link + }; + + + await addVeracodeIssueComment(options, issueComment) + .catch( error => { + if(error instanceof util.ApiError) { + throw error; + } else { + //console.error(error.message); + throw error; + } + }) continue; } From bd06178087a03632cb26278ece7486fe111edcd6 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 22:32:54 +0200 Subject: [PATCH 045/200] updates --- policy.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/policy.js b/policy.js index e589cd1..fed9ca9 100644 --- a/policy.js +++ b/policy.js @@ -125,7 +125,8 @@ async function processPolicyFlaws(options, flawData) { var index; for( index=0; index < flawData._embedded.findings.length; index++) { let flaw = flawData._embedded.findings[index]; - console.log('Old flaw: '+JSON.stringify(flawData._embedded)) + var issue_numnber = flawData._embedded.data.number + //console.log('Old flaw: '+JSON.stringify(flawData._embedded)) let vid = createVeracodeFlawID(flaw); console.debug(`processing flaw ${flaw.issue_id}, VeracodeID: ${vid}`); @@ -145,7 +146,7 @@ async function processPolicyFlaws(options, flawData) { } let issueComment = { - 'issue_number': flawData._embedded.data.number, + 'issue_number': issue_numnber, 'pr_link': pr_link }; From e183657778804f431436867c8b4cb99b2eabe086 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 22:38:32 +0200 Subject: [PATCH 046/200] updates --- policy.js | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/policy.js b/policy.js index fed9ca9..204d406 100644 --- a/policy.js +++ b/policy.js @@ -125,7 +125,8 @@ async function processPolicyFlaws(options, flawData) { var index; for( index=0; index < flawData._embedded.findings.length; index++) { let flaw = flawData._embedded.findings[index]; - var issue_numnber = flawData._embedded.data.number + var issue_number = flawData._embedded.data.number + console.log('isseue_number1: '+issue_number) //console.log('Old flaw: '+JSON.stringify(flawData._embedded)) let vid = createVeracodeFlawID(flaw); @@ -143,23 +144,27 @@ async function processPolicyFlaws(options, flawData) { if ( options.isPR >= 1 ){ console.log('We are on a PR, need to link this issue to this PR') pr_link = `Veracode issue link to PR: https://github.com/`+options.githubOwner+`/`+options.githubRepo+`/pull/`+options.pr_commentID - } + + console.log('isseue_number2: '+issue_number) - let issueComment = { - 'issue_number': issue_numnber, - 'pr_link': pr_link - }; + let issueComment = { + 'issue_number': issue_number, + 'pr_link': pr_link + }; + + + await addVeracodeIssueComment(options, issueComment) + .catch( error => { + if(error instanceof util.ApiError) { + throw error; + } else { + //console.error(error.message); + throw error; + } + }) + } - await addVeracodeIssueComment(options, issueComment) - .catch( error => { - if(error instanceof util.ApiError) { - throw error; - } else { - //console.error(error.message); - throw error; - } - }) continue; } From 4bd37b7d9c0eaf8b4cfc3ca9ed6f6b305f4f601b Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 22:41:35 +0200 Subject: [PATCH 047/200] updates --- policy.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/policy.js b/policy.js index 204d406..c27260e 100644 --- a/policy.js +++ b/policy.js @@ -125,9 +125,10 @@ async function processPolicyFlaws(options, flawData) { var index; for( index=0; index < flawData._embedded.findings.length; index++) { let flaw = flawData._embedded.findings[index]; + + console.log('Old flaw: '+JSON.stringify(flawData)) var issue_number = flawData._embedded.data.number console.log('isseue_number1: '+issue_number) - //console.log('Old flaw: '+JSON.stringify(flawData._embedded)) let vid = createVeracodeFlawID(flaw); console.debug(`processing flaw ${flaw.issue_id}, VeracodeID: ${vid}`); From 2af7653a4bb4358f51efba8deb3662dd277a3e96 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 22:58:16 +0200 Subject: [PATCH 048/200] updates --- policy.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/policy.js b/policy.js index c27260e..805b0c8 100644 --- a/policy.js +++ b/policy.js @@ -72,6 +72,7 @@ async function getAllVeracodeIssues(options) { }) .then( result => { console.log(`${result.data.length} flaw(s) found, (result code: ${result.status})`); + console.log('Old GH issue: '+JSON.stringify(result.data)) // walk findings and populate VeracodeFlaws map result.data.forEach(element => { @@ -125,9 +126,8 @@ async function processPolicyFlaws(options, flawData) { var index; for( index=0; index < flawData._embedded.findings.length; index++) { let flaw = flawData._embedded.findings[index]; - - console.log('Old flaw: '+JSON.stringify(flawData)) - var issue_number = flawData._embedded.data.number + + var issue_number = NEED_TO_FIND_ISSUE_NUMBER console.log('isseue_number1: '+issue_number) let vid = createVeracodeFlawID(flaw); From 6a19edd97fdee733f66d723ff47808a1c7c5f50f Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 23:06:51 +0200 Subject: [PATCH 049/200] updates --- policy.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/policy.js b/policy.js index 805b0c8..7009c21 100644 --- a/policy.js +++ b/policy.js @@ -9,6 +9,7 @@ const addVeracodeIssueComment = require('./issue').addVeracodeIssue; // sparse array, element = true if the flaw exists, undefined otherwise var existingFlaws = []; +var existingFlawNumber = []; @@ -72,7 +73,7 @@ async function getAllVeracodeIssues(options) { }) .then( result => { console.log(`${result.data.length} flaw(s) found, (result code: ${result.status})`); - console.log('Old GH issue: '+JSON.stringify(result.data)) + //console.log('Old GH issue: '+JSON.stringify(result.data)) // walk findings and populate VeracodeFlaws map result.data.forEach(element => { @@ -84,6 +85,7 @@ async function getAllVeracodeIssues(options) { } else { flawNum = parseVeracodeFlawID(flawID).flawNum; existingFlaws[parseInt(flawNum)] = true; + exisingFlawNumber[parseInt(flawNum)] = result.data.number; } }) @@ -127,7 +129,7 @@ async function processPolicyFlaws(options, flawData) { for( index=0; index < flawData._embedded.findings.length; index++) { let flaw = flawData._embedded.findings[index]; - var issue_number = NEED_TO_FIND_ISSUE_NUMBER + var issue_number = exisingFlawNumber[vid] console.log('isseue_number1: '+issue_number) let vid = createVeracodeFlawID(flaw); From 34235ed1c214dd2c2193fbd90a61c3e684cb9e93 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 23:10:28 +0200 Subject: [PATCH 050/200] updates --- policy.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/policy.js b/policy.js index 7009c21..40a7513 100644 --- a/policy.js +++ b/policy.js @@ -129,12 +129,12 @@ async function processPolicyFlaws(options, flawData) { for( index=0; index < flawData._embedded.findings.length; index++) { let flaw = flawData._embedded.findings[index]; - var issue_number = exisingFlawNumber[vid] - console.log('isseue_number1: '+issue_number) - let vid = createVeracodeFlawID(flaw); console.debug(`processing flaw ${flaw.issue_id}, VeracodeID: ${vid}`); + var issue_number = exisingFlawNumber[vid] + console.log('isseue_number1: '+issue_number) + // check for mitigation if(flaw.finding_status.resolution_status == 'APPROVED') { console.log('Flaw mitigated, skipping import'); From 7840156daa7ad2f0f807f7b1fc5371e8859a0527 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 23:26:42 +0200 Subject: [PATCH 051/200] updates --- policy.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/policy.js b/policy.js index 40a7513..223f47d 100644 --- a/policy.js +++ b/policy.js @@ -10,6 +10,7 @@ const addVeracodeIssueComment = require('./issue').addVeracodeIssue; // sparse array, element = true if the flaw exists, undefined otherwise var existingFlaws = []; var existingFlawNumber = []; +var pr_link @@ -112,7 +113,7 @@ function issueExists(vid) { return false; } -var pr_link + async function processPolicyFlaws(options, flawData) { @@ -132,7 +133,7 @@ async function processPolicyFlaws(options, flawData) { let vid = createVeracodeFlawID(flaw); console.debug(`processing flaw ${flaw.issue_id}, VeracodeID: ${vid}`); - var issue_number = exisingFlawNumber[vid] + var issue_number = exisingFlawNumber[parseVeracodeFlawID(vid).flawNum] console.log('isseue_number1: '+issue_number) // check for mitigation From 3a195f1922ec91ff577890f902401ec067d99489 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 23:30:38 +0200 Subject: [PATCH 052/200] updates --- policy.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/policy.js b/policy.js index 223f47d..d8730f6 100644 --- a/policy.js +++ b/policy.js @@ -113,6 +113,10 @@ function issueExists(vid) { return false; } +function getIssueNumber(vid) { + return existingFlawsNumber[parseInt(parseVeracodeFlawID(vid).flawNum)] === true) +} + async function processPolicyFlaws(options, flawData) { @@ -133,7 +137,7 @@ async function processPolicyFlaws(options, flawData) { let vid = createVeracodeFlawID(flaw); console.debug(`processing flaw ${flaw.issue_id}, VeracodeID: ${vid}`); - var issue_number = exisingFlawNumber[parseVeracodeFlawID(vid).flawNum] + var issue_number = getIssueNumber(vid) console.log('isseue_number1: '+issue_number) // check for mitigation From 108ee18106c88eef627378b658b1fcc9bade0df2 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sat, 1 Oct 2022 23:32:14 +0200 Subject: [PATCH 053/200] updates --- policy.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/policy.js b/policy.js index d8730f6..41e3fe8 100644 --- a/policy.js +++ b/policy.js @@ -114,7 +114,7 @@ function issueExists(vid) { } function getIssueNumber(vid) { - return existingFlawsNumber[parseInt(parseVeracodeFlawID(vid).flawNum)] === true) + return existingFlawsNumber[parseInt(parseVeracodeFlawID(vid).flawNum)] } From 83f6084a1d47025ff31744828ca12e3423106c67 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sun, 2 Oct 2022 10:04:42 +0200 Subject: [PATCH 054/200] updates --- policy.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/policy.js b/policy.js index 41e3fe8..d837a54 100644 --- a/policy.js +++ b/policy.js @@ -114,7 +114,7 @@ function issueExists(vid) { } function getIssueNumber(vid) { - return existingFlawsNumber[parseInt(parseVeracodeFlawID(vid).flawNum)] + return existingFlawNumber[parseInt(parseVeracodeFlawID(vid).flawNum)] } @@ -137,7 +137,7 @@ async function processPolicyFlaws(options, flawData) { let vid = createVeracodeFlawID(flaw); console.debug(`processing flaw ${flaw.issue_id}, VeracodeID: ${vid}`); - var issue_number = getIssueNumber(vid) + let issue_number = getIssueNumber(vid) console.log('isseue_number1: '+issue_number) // check for mitigation From 85705271ecec881c527e7632b7260c42729150f3 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sun, 2 Oct 2022 10:06:39 +0200 Subject: [PATCH 055/200] updates --- policy.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/policy.js b/policy.js index d837a54..e509fa3 100644 --- a/policy.js +++ b/policy.js @@ -86,7 +86,7 @@ async function getAllVeracodeIssues(options) { } else { flawNum = parseVeracodeFlawID(flawID).flawNum; existingFlaws[parseInt(flawNum)] = true; - exisingFlawNumber[parseInt(flawNum)] = result.data.number; + existingFlawNumber[parseInt(flawNum)] = result.data.number; } }) From 389fcfc616c7dff543d8e40f2a9734a235b380cd Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sun, 2 Oct 2022 10:08:40 +0200 Subject: [PATCH 056/200] updates --- policy.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/policy.js b/policy.js index e509fa3..d6abd1b 100644 --- a/policy.js +++ b/policy.js @@ -5,7 +5,7 @@ const { request } = require('@octokit/request'); const label = require('./label'); const addVeracodeIssue = require('./issue').addVeracodeIssue; -const addVeracodeIssueComment = require('./issue').addVeracodeIssue; +const addVeracodeIssueComment = require('./issue').addVeracodeIssueComment; // sparse array, element = true if the flaw exists, undefined otherwise var existingFlaws = []; From 2f33f7c33aa4749e7df8355af602a394160f1aee Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sun, 2 Oct 2022 10:14:09 +0200 Subject: [PATCH 057/200] updates --- issue.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/issue.js b/issue.js index c79fe5f..bff42a0 100644 --- a/issue.js +++ b/issue.js @@ -76,7 +76,7 @@ async function addVeracodeIssueComment(options, issueComment) { var authToken = 'token ' + githubToken; console.log('Running on a PR, adding PR to the issue.') - console.log('pr_link: '+issue.pr_link+'\nissue_number: '+issue_number) + console.log('pr_link: '+issueComment.pr_link+'\nissue_number: '+issueComment.issue_number) await request('POST /repos/{owner}/{repo}/issues/{issue_number}/comments', { headers: { @@ -84,7 +84,7 @@ async function addVeracodeIssueComment(options, issueComment) { }, owner: githubOwner, repo: githubRepo, - issue_number: issue_comment.issue_number, + issue_number: issueComment.issue_number, data: { "body": issueComment.pr_link } @@ -97,7 +97,7 @@ async function addVeracodeIssueComment(options, issueComment) { throw new ApiError('Rate Limiter tripped'); } else { - throw new Error (`Error ${error.status} creating Issue for \"${issue.title}\": ${error.message}`); + throw new Error (`Error ${error.status} creating Issue for \"${issueComment.issue_number}\": ${error.message}`); } }); } From 4c885373a8e6391229454a9751986e260bfb49a9 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 3 Oct 2022 08:17:36 +0200 Subject: [PATCH 058/200] updates --- policy.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/policy.js b/policy.js index d6abd1b..07f0834 100644 --- a/policy.js +++ b/policy.js @@ -87,6 +87,7 @@ async function getAllVeracodeIssues(options) { flawNum = parseVeracodeFlawID(flawID).flawNum; existingFlaws[parseInt(flawNum)] = true; existingFlawNumber[parseInt(flawNum)] = result.data.number; + console.log('issue number set: '+ result.data.number) } }) @@ -114,6 +115,8 @@ function issueExists(vid) { } function getIssueNumber(vid) { + console.log('get issue number flawNuw: '+parseInt(parseVeracodeFlawID(vid).flawNum)) + console.log('get issue number issue number: '+existingFlawNumber[parseInt(parseVeracodeFlawID(vid).flawNum)]) return existingFlawNumber[parseInt(parseVeracodeFlawID(vid).flawNum)] } From d09f124509b85fe4e48be6b7f281ded928007b59 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 3 Oct 2022 08:22:13 +0200 Subject: [PATCH 059/200] updates --- policy.js | 1 + 1 file changed, 1 insertion(+) diff --git a/policy.js b/policy.js index 07f0834..731fbb9 100644 --- a/policy.js +++ b/policy.js @@ -80,6 +80,7 @@ async function getAllVeracodeIssues(options) { result.data.forEach(element => { let flawID = getVeracodeFlawID(element.title); + console.lod(JSON.stringify(result) // Map using VeracodeFlawID as index, for easy searching. Line # for simple flaw matching if(flawID === null){ console.log(`Flaw \"${element.title}\" has no Veracode Flaw ID, ignored.`) From 29710c06a61e6588241945c209ddeda8e629e110 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 3 Oct 2022 08:23:52 +0200 Subject: [PATCH 060/200] updates --- policy.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/policy.js b/policy.js index 731fbb9..1a5bbb8 100644 --- a/policy.js +++ b/policy.js @@ -80,7 +80,7 @@ async function getAllVeracodeIssues(options) { result.data.forEach(element => { let flawID = getVeracodeFlawID(element.title); - console.lod(JSON.stringify(result) + console.lod(JSON.stringify(result.data) // Map using VeracodeFlawID as index, for easy searching. Line # for simple flaw matching if(flawID === null){ console.log(`Flaw \"${element.title}\" has no Veracode Flaw ID, ignored.`) From df8d978487338cb6ccbabe0d4130881ba2ecafd4 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 3 Oct 2022 08:25:41 +0200 Subject: [PATCH 061/200] updates --- policy.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/policy.js b/policy.js index 1a5bbb8..44c07f6 100644 --- a/policy.js +++ b/policy.js @@ -80,7 +80,7 @@ async function getAllVeracodeIssues(options) { result.data.forEach(element => { let flawID = getVeracodeFlawID(element.title); - console.lod(JSON.stringify(result.data) + console.lod(JSON.stringify(result)) // Map using VeracodeFlawID as index, for easy searching. Line # for simple flaw matching if(flawID === null){ console.log(`Flaw \"${element.title}\" has no Veracode Flaw ID, ignored.`) From 43b282d7f55594ba8bde480b383431ebe42f1edd Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 3 Oct 2022 08:27:33 +0200 Subject: [PATCH 062/200] updates --- policy.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/policy.js b/policy.js index 44c07f6..8930a25 100644 --- a/policy.js +++ b/policy.js @@ -80,7 +80,7 @@ async function getAllVeracodeIssues(options) { result.data.forEach(element => { let flawID = getVeracodeFlawID(element.title); - console.lod(JSON.stringify(result)) + console.log(JSON.stringify(result)) // Map using VeracodeFlawID as index, for easy searching. Line # for simple flaw matching if(flawID === null){ console.log(`Flaw \"${element.title}\" has no Veracode Flaw ID, ignored.`) From 896475453271b03c5849148496231ce428e8d3e5 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 3 Oct 2022 08:31:53 +0200 Subject: [PATCH 063/200] updates --- policy.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/policy.js b/policy.js index 8930a25..56835df 100644 --- a/policy.js +++ b/policy.js @@ -87,8 +87,8 @@ async function getAllVeracodeIssues(options) { } else { flawNum = parseVeracodeFlawID(flawID).flawNum; existingFlaws[parseInt(flawNum)] = true; - existingFlawNumber[parseInt(flawNum)] = result.data.number; - console.log('issue number set: '+ result.data.number) + existingFlawNumber[parseInt(flawNum)] = result.number; + console.log('issue number set: '+ result.number) } }) From 87d08d56b125d70fb2291072373be6c4d9196d9a Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 3 Oct 2022 08:39:14 +0200 Subject: [PATCH 064/200] updates --- policy.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/policy.js b/policy.js index 56835df..7d35568 100644 --- a/policy.js +++ b/policy.js @@ -79,16 +79,17 @@ async function getAllVeracodeIssues(options) { // walk findings and populate VeracodeFlaws map result.data.forEach(element => { let flawID = getVeracodeFlawID(element.title); + let issue_number = result.data.number + console.log('issue number set 1: '+ issue_number) - console.log(JSON.stringify(result)) // Map using VeracodeFlawID as index, for easy searching. Line # for simple flaw matching if(flawID === null){ console.log(`Flaw \"${element.title}\" has no Veracode Flaw ID, ignored.`) } else { flawNum = parseVeracodeFlawID(flawID).flawNum; existingFlaws[parseInt(flawNum)] = true; - existingFlawNumber[parseInt(flawNum)] = result.number; - console.log('issue number set: '+ result.number) + existingFlawNumber[parseInt(flawNum)] = issue_number; + console.log('issue number set 2: '+ issue_number) } }) From c66373a4575aef56c415c7e5580048c8330e7f5c Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 3 Oct 2022 08:41:12 +0200 Subject: [PATCH 065/200] updates --- policy.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/policy.js b/policy.js index 7d35568..abe4cc1 100644 --- a/policy.js +++ b/policy.js @@ -76,11 +76,12 @@ async function getAllVeracodeIssues(options) { console.log(`${result.data.length} flaw(s) found, (result code: ${result.status})`); //console.log('Old GH issue: '+JSON.stringify(result.data)) + let issue_number = result.data.number + console.log('issue number set 1: '+ issue_number) + // walk findings and populate VeracodeFlaws map result.data.forEach(element => { let flawID = getVeracodeFlawID(element.title); - let issue_number = result.data.number - console.log('issue number set 1: '+ issue_number) // Map using VeracodeFlawID as index, for easy searching. Line # for simple flaw matching if(flawID === null){ From 16269767b1fc49c335d46b3117b86f584242b44f Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 3 Oct 2022 08:43:58 +0200 Subject: [PATCH 066/200] updates --- policy.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/policy.js b/policy.js index abe4cc1..52fd953 100644 --- a/policy.js +++ b/policy.js @@ -76,13 +76,15 @@ async function getAllVeracodeIssues(options) { console.log(`${result.data.length} flaw(s) found, (result code: ${result.status})`); //console.log('Old GH issue: '+JSON.stringify(result.data)) - let issue_number = result.data.number - console.log('issue number set 1: '+ issue_number) + // walk findings and populate VeracodeFlaws map result.data.forEach(element => { let flawID = getVeracodeFlawID(element.title); + let issue_number = element.number + console.log('issue number set 1: '+ issue_number) + // Map using VeracodeFlawID as index, for easy searching. Line # for simple flaw matching if(flawID === null){ console.log(`Flaw \"${element.title}\" has no Veracode Flaw ID, ignored.`) From 1c228f36a1848af2684edf2f1990be05c5492298 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 3 Oct 2022 08:52:40 +0200 Subject: [PATCH 067/200] updates --- issue.js | 4 ++-- policy.js | 7 ------- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/issue.js b/issue.js index bff42a0..2261f9c 100644 --- a/issue.js +++ b/issue.js @@ -75,8 +75,8 @@ async function addVeracodeIssueComment(options, issueComment) { var authToken = 'token ' + githubToken; - console.log('Running on a PR, adding PR to the issue.') - console.log('pr_link: '+issueComment.pr_link+'\nissue_number: '+issueComment.issue_number) + console.log('Adding PR to the issue now.') + console.log('pr_link: '+issueComment.pr_link+' - issue_number: '+issueComment.issue_number) await request('POST /repos/{owner}/{repo}/issues/{issue_number}/comments', { headers: { diff --git a/policy.js b/policy.js index 52fd953..6067da7 100644 --- a/policy.js +++ b/policy.js @@ -81,9 +81,7 @@ async function getAllVeracodeIssues(options) { // walk findings and populate VeracodeFlaws map result.data.forEach(element => { let flawID = getVeracodeFlawID(element.title); - let issue_number = element.number - console.log('issue number set 1: '+ issue_number) // Map using VeracodeFlawID as index, for easy searching. Line # for simple flaw matching if(flawID === null){ @@ -92,7 +90,6 @@ async function getAllVeracodeIssues(options) { flawNum = parseVeracodeFlawID(flawID).flawNum; existingFlaws[parseInt(flawNum)] = true; existingFlawNumber[parseInt(flawNum)] = issue_number; - console.log('issue number set 2: '+ issue_number) } }) @@ -120,8 +117,6 @@ function issueExists(vid) { } function getIssueNumber(vid) { - console.log('get issue number flawNuw: '+parseInt(parseVeracodeFlawID(vid).flawNum)) - console.log('get issue number issue number: '+existingFlawNumber[parseInt(parseVeracodeFlawID(vid).flawNum)]) return existingFlawNumber[parseInt(parseVeracodeFlawID(vid).flawNum)] } @@ -160,8 +155,6 @@ async function processPolicyFlaws(options, flawData) { if ( options.isPR >= 1 ){ console.log('We are on a PR, need to link this issue to this PR') pr_link = `Veracode issue link to PR: https://github.com/`+options.githubOwner+`/`+options.githubRepo+`/pull/`+options.pr_commentID - - console.log('isseue_number2: '+issue_number) let issueComment = { 'issue_number': issue_number, From 846a1598e3a897b72fcae642dd5a40ec2a53da4c Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 3 Oct 2022 10:17:24 +0200 Subject: [PATCH 068/200] updates --- issue.js | 40 +--------------------------------------- issue_comment.js | 45 +++++++++++++++++++++++++++++++++++++++++++++ policy.js | 2 +- 3 files changed, 47 insertions(+), 40 deletions(-) create mode 100644 issue_comment.js diff --git a/issue.js b/issue.js index 2261f9c..4506f17 100644 --- a/issue.js +++ b/issue.js @@ -65,42 +65,4 @@ async function addVeracodeIssue(options, issue) { }); } -async function addVeracodeIssueComment(options, issueComment) { - - const ApiError = require('./util').ApiError; - - const githubOwner = options.githubOwner; - const githubRepo = options.githubRepo; - const githubToken = options.githubToken; - - var authToken = 'token ' + githubToken; - - console.log('Adding PR to the issue now.') - console.log('pr_link: '+issueComment.pr_link+' - issue_number: '+issueComment.issue_number) - - await request('POST /repos/{owner}/{repo}/issues/{issue_number}/comments', { - headers: { - authorization: authToken - }, - owner: githubOwner, - repo: githubRepo, - issue_number: issueComment.issue_number, - data: { - "body": issueComment.pr_link - } - }) - .catch( error => { - // 403 possible rate-limit error - if((error.status == 403) && (error.message.indexOf('abuse detection') > 0) ) { - - console.warn(`GitHub rate limiter tripped, ${error.message}`); - - throw new ApiError('Rate Limiter tripped'); - } else { - throw new Error (`Error ${error.status} creating Issue for \"${issueComment.issue_number}\": ${error.message}`); - } - }); -} - -module.exports = { addVeracodeIssue }; -module.exports = { addVeracodeIssueComment }; \ No newline at end of file +module.exports = { addVeracodeIssue }; \ No newline at end of file diff --git a/issue_comment.js b/issue_comment.js new file mode 100644 index 0000000..05cd4d1 --- /dev/null +++ b/issue_comment.js @@ -0,0 +1,45 @@ +// +// GitHub issue importer +// + +const { request } = require('@octokit/request'); + +// add the comment to a GitHub Issue +async function addVeracodeIssueComment(options, issueComment) { + + const ApiError = require('./util').ApiError; + + const githubOwner = options.githubOwner; + const githubRepo = options.githubRepo; + const githubToken = options.githubToken; + + var authToken = 'token ' + githubToken; + + console.log('Adding PR to the issue now.') + console.log('pr_link: '+issueComment.pr_link+' - issue_number: '+issueComment.issue_number) + + await request('POST /repos/{owner}/{repo}/issues/{issue_number}/comments', { + headers: { + authorization: authToken + }, + owner: githubOwner, + repo: githubRepo, + issue_number: issueComment.issue_number, + data: { + "body": issueComment.pr_link + } + }) + .catch( error => { + // 403 possible rate-limit error + if((error.status == 403) && (error.message.indexOf('abuse detection') > 0) ) { + + console.warn(`GitHub rate limiter tripped, ${error.message}`); + + throw new ApiError('Rate Limiter tripped'); + } else { + throw new Error (`Error ${error.status} creating Issue for \"${issueComment.issue_number}\": ${error.message}`); + } + }); +} + +module.exports = { addVeracodeIssueComment }; \ No newline at end of file diff --git a/policy.js b/policy.js index 6067da7..e5c459b 100644 --- a/policy.js +++ b/policy.js @@ -5,7 +5,7 @@ const { request } = require('@octokit/request'); const label = require('./label'); const addVeracodeIssue = require('./issue').addVeracodeIssue; -const addVeracodeIssueComment = require('./issue').addVeracodeIssueComment; +const addVeracodeIssueComment = require('./issue_comment').addVeracodeIssueComment; // sparse array, element = true if the flaw exists, undefined otherwise var existingFlaws = []; From b996d8a3a39733fbffca6eb8ed840730ebb08466 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 3 Oct 2022 10:40:36 +0200 Subject: [PATCH 069/200] updates --- issue.js | 2 +- issue_comment.js | 2 +- policy.js | 17 ++++------------- 3 files changed, 6 insertions(+), 15 deletions(-) diff --git a/issue.js b/issue.js index 4506f17..1e9eaee 100644 --- a/issue.js +++ b/issue.js @@ -36,7 +36,7 @@ async function addVeracodeIssue(options, issue) { var issue_number = result.data.number if ( issue.pr_link != "" ){ console.log('Running on a PR, adding PR to the issue.') - console.log('pr_link: '+issue.pr_link+'\nissue_number: '+issue_number) + //console.log('pr_link: '+issue.pr_link+'\nissue_number: '+issue_number) await request('POST /repos/{owner}/{repo}/issues/{issue_number}/comments', { headers: { diff --git a/issue_comment.js b/issue_comment.js index 05cd4d1..b3416b3 100644 --- a/issue_comment.js +++ b/issue_comment.js @@ -16,7 +16,7 @@ async function addVeracodeIssueComment(options, issueComment) { var authToken = 'token ' + githubToken; console.log('Adding PR to the issue now.') - console.log('pr_link: '+issueComment.pr_link+' - issue_number: '+issueComment.issue_number) + //console.log('pr_link: '+issueComment.pr_link+' - issue_number: '+issueComment.issue_number) await request('POST /repos/{owner}/{repo}/issues/{issue_number}/comments', { headers: { diff --git a/policy.js b/policy.js index e5c459b..9cae8ba 100644 --- a/policy.js +++ b/policy.js @@ -74,9 +74,7 @@ async function getAllVeracodeIssues(options) { }) .then( result => { console.log(`${result.data.length} flaw(s) found, (result code: ${result.status})`); - //console.log('Old GH issue: '+JSON.stringify(result.data)) - - + console.log('Old GH issue: '+JSON.stringify(result.data)) // walk findings and populate VeracodeFlaws map result.data.forEach(element => { @@ -136,13 +134,10 @@ async function processPolicyFlaws(options, flawData) { var index; for( index=0; index < flawData._embedded.findings.length; index++) { let flaw = flawData._embedded.findings[index]; - + let issue_number = getIssueNumber(vid) let vid = createVeracodeFlawID(flaw); console.debug(`processing flaw ${flaw.issue_id}, VeracodeID: ${vid}`); - let issue_number = getIssueNumber(vid) - console.log('isseue_number1: '+issue_number) - // check for mitigation if(flaw.finding_status.resolution_status == 'APPROVED') { console.log('Flaw mitigated, skipping import'); @@ -219,17 +214,13 @@ async function processPolicyFlaws(options, flawData) { //console.log('Full Path:'+commit_path) - - - - // add to repo's Issues // (in theory, we could do this w/o await-ing, but GitHub has rate throttling, so single-threading this helps) let title = `${flaw.finding_details.cwe.name} ('${flaw.finding_details.finding_category.name}') ` + createVeracodeFlawID(flaw); let lableBase = label.otherLabels.find( val => val.id === 'policy').name; let severity = flaw.finding_details.severity; - console.log('prCommentID: '+options.isPR) + //console.log('prCommentID: '+options.isPR) if ( options.isPR >= 1 ){ pr_link = `Veracode issue link to PR: https://github.com/`+options.githubOwner+`/`+options.githubRepo+`/pull/`+options.pr_commentID @@ -244,7 +235,7 @@ async function processPolicyFlaws(options, flawData) { bodyText += `\n\n**CWE:** ${flaw.finding_details.cwe.id} (${flaw.finding_details.cwe.name} ('${flaw.finding_details.finding_category.name}'))`; bodyText += '\n\n' + decodeURI(flaw.description); - console.log('bodyText: '+bodyText) + //console.log('bodyText: '+bodyText) let issue = { 'title': title, From 70d577c2e5dbcc9dbdbf28174d912881315294ad Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 3 Oct 2022 11:06:41 +0200 Subject: [PATCH 070/200] updates --- index.js | 2 +- policy.js | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index 7238041..7ca3373 100644 --- a/index.js +++ b/index.js @@ -26,7 +26,7 @@ try { let pullRequest = process.env.GITHUB_REF const isPR = pullRequest.indexOf("pull") - console.log('Is PR: '+isPR) + console.log('We run on a PR and PR ID is '+isPR) var pr_context var pr_commentID diff --git a/policy.js b/policy.js index 9cae8ba..90e29bd 100644 --- a/policy.js +++ b/policy.js @@ -10,6 +10,7 @@ const addVeracodeIssueComment = require('./issue_comment').addVeracodeIssueComme // sparse array, element = true if the flaw exists, undefined otherwise var existingFlaws = []; var existingFlawNumber = []; +var existingIssueState = []; var pr_link @@ -80,6 +81,9 @@ async function getAllVeracodeIssues(options) { result.data.forEach(element => { let flawID = getVeracodeFlawID(element.title); let issue_number = element.number + let issueState = element.state + + console.log('issue state: '+issueState) // Map using VeracodeFlawID as index, for easy searching. Line # for simple flaw matching if(flawID === null){ @@ -88,6 +92,7 @@ async function getAllVeracodeIssues(options) { flawNum = parseVeracodeFlawID(flawID).flawNum; existingFlaws[parseInt(flawNum)] = true; existingFlawNumber[parseInt(flawNum)] = issue_number; + existingIssueState[parseInt(flawNum)] = issueState; } }) @@ -118,6 +123,10 @@ function getIssueNumber(vid) { return existingFlawNumber[parseInt(parseVeracodeFlawID(vid).flawNum)] } +function getIssueState(vid) { + return existingIssueState[parseInt(parseVeracodeFlawID(vid).flawNum)] +} + async function processPolicyFlaws(options, flawData) { @@ -136,6 +145,7 @@ async function processPolicyFlaws(options, flawData) { let flaw = flawData._embedded.findings[index]; let issue_number = getIssueNumber(vid) let vid = createVeracodeFlawID(flaw); + let issueState = getIssueState(vid) console.debug(`processing flaw ${flaw.issue_id}, VeracodeID: ${vid}`); // check for mitigation @@ -147,7 +157,7 @@ async function processPolicyFlaws(options, flawData) { // check for duplicate if(issueExists(vid)) { console.log('Issue already exists, skipping import'); - if ( options.isPR >= 1 ){ + if ( options.isPR >= 1 && issueState == "open" ){ console.log('We are on a PR, need to link this issue to this PR') pr_link = `Veracode issue link to PR: https://github.com/`+options.githubOwner+`/`+options.githubRepo+`/pull/`+options.pr_commentID From d99709bf2e1d8f91cc18a903ba8e852318cc5363 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 3 Oct 2022 11:09:08 +0200 Subject: [PATCH 071/200] updates --- policy.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/policy.js b/policy.js index 90e29bd..25438a2 100644 --- a/policy.js +++ b/policy.js @@ -143,8 +143,8 @@ async function processPolicyFlaws(options, flawData) { var index; for( index=0; index < flawData._embedded.findings.length; index++) { let flaw = flawData._embedded.findings[index]; - let issue_number = getIssueNumber(vid) let vid = createVeracodeFlawID(flaw); + let issue_number = getIssueNumber(vid) let issueState = getIssueState(vid) console.debug(`processing flaw ${flaw.issue_id}, VeracodeID: ${vid}`); From 59d9c9691cfdfdd4194a1a436163eaea66a37bc8 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 3 Oct 2022 11:09:35 +0200 Subject: [PATCH 072/200] updates --- policy.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/policy.js b/policy.js index 25438a2..f35819b 100644 --- a/policy.js +++ b/policy.js @@ -83,8 +83,6 @@ async function getAllVeracodeIssues(options) { let issue_number = element.number let issueState = element.state - console.log('issue state: '+issueState) - // Map using VeracodeFlawID as index, for easy searching. Line # for simple flaw matching if(flawID === null){ console.log(`Flaw \"${element.title}\" has no Veracode Flaw ID, ignored.`) From 20b9d98ac20b0021229d37b3e4476bf4b102ec8c Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 3 Oct 2022 11:15:50 +0200 Subject: [PATCH 073/200] updates --- policy.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/policy.js b/policy.js index f35819b..5a87d32 100644 --- a/policy.js +++ b/policy.js @@ -75,7 +75,6 @@ async function getAllVeracodeIssues(options) { }) .then( result => { console.log(`${result.data.length} flaw(s) found, (result code: ${result.status})`); - console.log('Old GH issue: '+JSON.stringify(result.data)) // walk findings and populate VeracodeFlaws map result.data.forEach(element => { @@ -175,6 +174,9 @@ async function processPolicyFlaws(options, flawData) { } }) } + else{ + console.log('GitHub issue is closed no need to update.') + } From 29cbab5341420510b194b530f08385e99dcfc9af Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sun, 9 Oct 2022 22:37:08 +0200 Subject: [PATCH 074/200] pipeline scan flaws --- pipeline.js | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/pipeline.js b/pipeline.js index acd6c47..ae3e1fd 100644 --- a/pipeline.js +++ b/pipeline.js @@ -163,6 +163,33 @@ async function processPipelineFlaws(options, flawData) { // check for duplicate if(issueExists(vid)) { console.log('Issue already exists, skipping import'); + if ( options.isPR >= 1 && issueState == "open" ){ + console.log('We are on a PR, need to link this issue to this PR') + pr_link = `Veracode issue link to PR: https://github.com/`+options.githubOwner+`/`+options.githubRepo+`/pull/`+options.pr_commentID + + let issueComment = { + 'issue_number': issue_number, + 'pr_link': pr_link + }; + + + await addVeracodeIssueComment(options, issueComment) + .catch( error => { + if(error instanceof util.ApiError) { + throw error; + } else { + //console.error(error.message); + throw error; + } + }) + } + else{ + console.log('GitHub issue is closed no need to update.') + } + + + + continue; } @@ -177,6 +204,7 @@ async function processPipelineFlaws(options, flawData) { } filename = flaw.files.source_file.file + var filepath = filename if (options.source_base_path_1 || options.source_base_path_2 || options.source_base_path_3){ orgPath1 = options.source_base_path_1.split(":") From 0989a6a92c3fa1648ca9cef5902844620487740a Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sun, 9 Oct 2022 22:47:26 +0200 Subject: [PATCH 075/200] pipeline flaws --- pipeline.js | 1 + 1 file changed, 1 insertion(+) diff --git a/pipeline.js b/pipeline.js index ae3e1fd..8fa04bb 100644 --- a/pipeline.js +++ b/pipeline.js @@ -5,6 +5,7 @@ const { request } = require('@octokit/request'); const label = require('./label'); const addVeracodeIssue = require('./issue').addVeracodeIssue; +const addVeracodeIssueComment = require('./issue_comment').addVeracodeIssueComment; /* Map of files that contain flaws * each entry is a struct of {CWE, line_number} From 0f281e3ed0556a5240c6cb48de3078fcbdd1757c Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sun, 9 Oct 2022 22:53:25 +0200 Subject: [PATCH 076/200] pipeline scan flaws --- pipeline.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pipeline.js b/pipeline.js index 8fa04bb..d3eb673 100644 --- a/pipeline.js +++ b/pipeline.js @@ -245,6 +245,13 @@ async function processPipelineFlaws(options, flawData) { let title = `${flaw.issue_type} ` + createVeracodeFlawID(flaw); let lableBase = label.otherLabels.find( val => val.id === 'pipeline').name; let severity = flaw.severity; + + if ( options.isPR >= 1 ){ + pr_link = `Veracode issue link to PR: https://github.com/`+options.githubOwner+`/`+options.githubRepo+`/pull/`+options.pr_commentID + } + + console.log('pr_link: '+pr_link) + let bodyText = `${commit_path}`; bodyText += `\n\n**Filename:** ${flaw.files.source_file.file}`; bodyText += `\n\n**Line:** ${flaw.files.source_file.line}`; @@ -255,7 +262,8 @@ async function processPipelineFlaws(options, flawData) { 'title': title, 'label': lableBase, 'severity': severity, - 'body': bodyText + 'body': bodyText, + 'pr_link': pr_link }; await addVeracodeIssue(options, issue) From a3f4567b3fd3f0f5dd6ba2867f6e96c76494feaa Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 10 Oct 2022 00:18:29 +0200 Subject: [PATCH 077/200] pipeline flaws --- pipeline.js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/pipeline.js b/pipeline.js index d3eb673..3dade7c 100644 --- a/pipeline.js +++ b/pipeline.js @@ -12,6 +12,10 @@ const addVeracodeIssueComment = require('./issue_comment').addVeracodeIssueComme * for some admittedly loose, fuzzy matching to prevent duplicate issues */ var flawFiles = new Map(); +var existingFlawNumber = []; +var existingIssueState = []; +var pr_link + function createVeracodeFlawID(flaw) { // [VID:CWE:filename:linenum] return('[VID:' + flaw.cwe_id +':' + flaw.files.source_file.file + ':' + flaw.files.source_file.line + ']') @@ -39,6 +43,14 @@ function parseVeracodeFlawID(vid) { }) } +function getIssueNumber(vid) { + return existingFlawNumber[parseInt(parseVeracodeFlawID(vid).flawNum)] +} + +function getIssueState(vid) { + return existingIssueState[parseInt(parseVeracodeFlawID(vid).flawNum)] +} + function addExistingFlawToMap(vid) { let flawInfo = parseVeracodeFlawID(vid); let flaw = {'cwe': flawInfo.cwe, @@ -118,12 +130,16 @@ async function getAllVeracodeIssues(options) { // walk findings and populate VeracodeFlaws map result.data.forEach(element => { let flawID = getVeracodeFlawID(element.title); + let issue_number = element.number + let issueState = element.state // Map using VeracodeFlawID as index, for easy searching. Line # for simple flaw matching if(flawID === null){ console.log(`Flaw \"${element.title}\" has no Veracode Flaw ID, ignored.`) } else { addExistingFlawToMap(flawID); + existingFlawNumber[parseInt(flawNum)] = issue_number; + existingIssueState[parseInt(flawNum)] = issueState; } }) @@ -159,6 +175,8 @@ async function processPipelineFlaws(options, flawData) { let flaw = flawData.findings[index]; let vid = createVeracodeFlawID(flaw); + let issue_number = getIssueNumber(vid) + let issueState = getIssueState(vid) console.debug(`processing flaw ${flaw.issue_id}, VeracodeID: ${vid}`); // check for duplicate From 58e52b532af43407094204cabb3a1743dbfc2009 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 10 Oct 2022 00:27:21 +0200 Subject: [PATCH 078/200] pipeline flaws --- action.yml | 2 +- pipeline.js | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/action.yml b/action.yml index 15598db..c6dc1e5 100644 --- a/action.yml +++ b/action.yml @@ -24,5 +24,5 @@ inputs: required: false runs: - using: 'node12' + using: 'node16' main: 'index.js' \ No newline at end of file diff --git a/pipeline.js b/pipeline.js index 3dade7c..9094c05 100644 --- a/pipeline.js +++ b/pipeline.js @@ -132,14 +132,15 @@ async function getAllVeracodeIssues(options) { let flawID = getVeracodeFlawID(element.title); let issue_number = element.number let issueState = element.state + console.log('Issue number: '+issue_number+' - issue state: '+issue_number) // Map using VeracodeFlawID as index, for easy searching. Line # for simple flaw matching if(flawID === null){ console.log(`Flaw \"${element.title}\" has no Veracode Flaw ID, ignored.`) } else { addExistingFlawToMap(flawID); - existingFlawNumber[parseInt(flawNum)] = issue_number; - existingIssueState[parseInt(flawNum)] = issueState; + existingFlawNumber[parseInt(flawID)] = issue_number; + existingIssueState[parseInt(flawID)] = issueState; } }) From 95150fc4e792b90837480d8b5f4cb99c8687b21b Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 10 Oct 2022 00:46:19 +0200 Subject: [PATCH 079/200] pipeline flaws --- pipeline.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pipeline.js b/pipeline.js index 9094c05..3a0af25 100644 --- a/pipeline.js +++ b/pipeline.js @@ -132,7 +132,7 @@ async function getAllVeracodeIssues(options) { let flawID = getVeracodeFlawID(element.title); let issue_number = element.number let issueState = element.state - console.log('Issue number: '+issue_number+' - issue state: '+issue_number) + //console.log('Issue number: '+issue_number+' - issue state: '+issue_number) // Map using VeracodeFlawID as index, for easy searching. Line # for simple flaw matching if(flawID === null){ @@ -186,6 +186,7 @@ async function processPipelineFlaws(options, flawData) { if ( options.isPR >= 1 && issueState == "open" ){ console.log('We are on a PR, need to link this issue to this PR') pr_link = `Veracode issue link to PR: https://github.com/`+options.githubOwner+`/`+options.githubRepo+`/pull/`+options.pr_commentID + console.log('PR Link: '+pr_link) let issueComment = { 'issue_number': issue_number, From 8ef7d803ad4674c1d2dcc2ded223365b162d8fa3 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 10 Oct 2022 01:54:08 +0200 Subject: [PATCH 080/200] pipeline flaws --- pipeline.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pipeline.js b/pipeline.js index 3a0af25..865f6a4 100644 --- a/pipeline.js +++ b/pipeline.js @@ -176,8 +176,9 @@ async function processPipelineFlaws(options, flawData) { let flaw = flawData.findings[index]; let vid = createVeracodeFlawID(flaw); - let issue_number = getIssueNumber(vid) - let issueState = getIssueState(vid) + + let issue_number = getIssueNumber(flaw) + let issueState = getIssueState(flaw) console.debug(`processing flaw ${flaw.issue_id}, VeracodeID: ${vid}`); // check for duplicate @@ -186,7 +187,7 @@ async function processPipelineFlaws(options, flawData) { if ( options.isPR >= 1 && issueState == "open" ){ console.log('We are on a PR, need to link this issue to this PR') pr_link = `Veracode issue link to PR: https://github.com/`+options.githubOwner+`/`+options.githubRepo+`/pull/`+options.pr_commentID - console.log('PR Link: '+pr_link) + console.log('PR Link: '+pr_link+' - Issue number: '+issue_number) let issueComment = { 'issue_number': issue_number, From 60e41193624cd4191e842fe99676041d89dad6a9 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 10 Oct 2022 02:44:37 +0200 Subject: [PATCH 081/200] pipeline flaws --- pipeline.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pipeline.js b/pipeline.js index 865f6a4..df30ab4 100644 --- a/pipeline.js +++ b/pipeline.js @@ -130,6 +130,7 @@ async function getAllVeracodeIssues(options) { // walk findings and populate VeracodeFlaws map result.data.forEach(element => { let flawID = getVeracodeFlawID(element.title); + console.log('Element Title: '+element.title) let issue_number = element.number let issueState = element.state //console.log('Issue number: '+issue_number+' - issue state: '+issue_number) @@ -173,12 +174,14 @@ async function processPipelineFlaws(options, flawData) { console.log(`Processing input file: \"${options.resultsFile}\" with ${flawData.findings.length} flaws to process.`) var index; for( index=0; index < flawData.findings.length; index++) { - let flaw = flawData.findings[index]; + let flaw = flawData.findings[index] + + console.log('Full falw data: '+JSON.stringify(flawData)) let vid = createVeracodeFlawID(flaw); - let issue_number = getIssueNumber(flaw) - let issueState = getIssueState(flaw) + let issue_number = getIssueNumber(vid) + let issueState = getIssueState(vid) console.debug(`processing flaw ${flaw.issue_id}, VeracodeID: ${vid}`); // check for duplicate From 50ee270d4de75f59332edeed4250cdca961fc9cd Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 10 Oct 2022 02:53:34 +0200 Subject: [PATCH 082/200] pipeline flaws --- pipeline.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pipeline.js b/pipeline.js index df30ab4..6b8674f 100644 --- a/pipeline.js +++ b/pipeline.js @@ -176,13 +176,16 @@ async function processPipelineFlaws(options, flawData) { for( index=0; index < flawData.findings.length; index++) { let flaw = flawData.findings[index] - console.log('Full falw data: '+JSON.stringify(flawData)) + //console.log('Full falw data: '+JSON.stringify(flawData)) let vid = createVeracodeFlawID(flaw); - let issue_number = getIssueNumber(vid) - let issueState = getIssueState(vid) - console.debug(`processing flaw ${flaw.issue_id}, VeracodeID: ${vid}`); + let flawID = getVeracodeFlawID(flawData.findings[index].issue_type); + console.log('Issue Title Flaw ID '+flawID) + + let issue_number = getIssueNumber(flawID) + let issueState = getIssueState(flawID) + console.debug(`processing flaw ${flaw.issue_id}, VeracodeID: ${vid}, GitHub Issue State: ${issueState}`); // check for duplicate if(issueExists(vid)) { From 5a13e7d876618793c74c78ea6cd2946d8a36d4f6 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 10 Oct 2022 02:57:32 +0200 Subject: [PATCH 083/200] pipeline flaws --- pipeline.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pipeline.js b/pipeline.js index 6b8674f..89d967c 100644 --- a/pipeline.js +++ b/pipeline.js @@ -180,7 +180,7 @@ async function processPipelineFlaws(options, flawData) { let vid = createVeracodeFlawID(flaw); - let flawID = getVeracodeFlawID(flawData.findings[index].issue_type); + let flawID = getVeracodeFlawID(flaw.issue_type); console.log('Issue Title Flaw ID '+flawID) let issue_number = getIssueNumber(flawID) From 7556abfff4ef0fc1487564d751a7b12b86da221a Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 10 Oct 2022 03:03:54 +0200 Subject: [PATCH 084/200] pipeline flaws --- pipeline.js | 1 + 1 file changed, 1 insertion(+) diff --git a/pipeline.js b/pipeline.js index 89d967c..d3e0555 100644 --- a/pipeline.js +++ b/pipeline.js @@ -179,6 +179,7 @@ async function processPipelineFlaws(options, flawData) { //console.log('Full falw data: '+JSON.stringify(flawData)) let vid = createVeracodeFlawID(flaw); + console.log('Flaw title: '+flaw.issue_type) let flawID = getVeracodeFlawID(flaw.issue_type); console.log('Issue Title Flaw ID '+flawID) From e57b1b0fe67cca733c8940ec66a60c20ccf75c5f Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 10 Oct 2022 03:09:50 +0200 Subject: [PATCH 085/200] pipeline flaws --- pipeline.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pipeline.js b/pipeline.js index d3e0555..fc932f1 100644 --- a/pipeline.js +++ b/pipeline.js @@ -176,7 +176,7 @@ async function processPipelineFlaws(options, flawData) { for( index=0; index < flawData.findings.length; index++) { let flaw = flawData.findings[index] - //console.log('Full falw data: '+JSON.stringify(flawData)) + console.log('Full falw data: '+JSON.stringify(flaw)) let vid = createVeracodeFlawID(flaw); console.log('Flaw title: '+flaw.issue_type) From b1d16fb45c129f502e220fd4ee8ba3eabe614e4e Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 10 Oct 2022 03:30:36 +0200 Subject: [PATCH 086/200] pipeline flaws --- pipeline.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pipeline.js b/pipeline.js index fc932f1..b0ebe82 100644 --- a/pipeline.js +++ b/pipeline.js @@ -177,9 +177,11 @@ async function processPipelineFlaws(options, flawData) { let flaw = flawData.findings[index] console.log('Full falw data: '+JSON.stringify(flaw)) - - let vid = createVeracodeFlawID(flaw); - console.log('Flaw title: '+flaw.issue_type) + console.log('Exisiting Flaw Number: '+JSON.stringify(existingFlawNumber)) + console.log('Exisiting Flaw State: '+JSON.stringify(existingFlawState)) + + let vid = createVeracodeFlawID(flaw) + console.log('vid: '+vid) let flawID = getVeracodeFlawID(flaw.issue_type); console.log('Issue Title Flaw ID '+flawID) From 670c1faef9e178f9696d3057736525adbd64642f Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 10 Oct 2022 03:34:35 +0200 Subject: [PATCH 087/200] pipeline flaws --- pipeline.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pipeline.js b/pipeline.js index b0ebe82..f7564d6 100644 --- a/pipeline.js +++ b/pipeline.js @@ -130,10 +130,10 @@ async function getAllVeracodeIssues(options) { // walk findings and populate VeracodeFlaws map result.data.forEach(element => { let flawID = getVeracodeFlawID(element.title); - console.log('Element Title: '+element.title) + console.log('FlawID: '+flawID+' - Element Title: '+element.title) let issue_number = element.number let issueState = element.state - //console.log('Issue number: '+issue_number+' - issue state: '+issue_number) + console.log('Issue number: '+issue_number+' - issue state: '+issue_number) // Map using VeracodeFlawID as index, for easy searching. Line # for simple flaw matching if(flawID === null){ @@ -179,7 +179,7 @@ async function processPipelineFlaws(options, flawData) { console.log('Full falw data: '+JSON.stringify(flaw)) console.log('Exisiting Flaw Number: '+JSON.stringify(existingFlawNumber)) console.log('Exisiting Flaw State: '+JSON.stringify(existingFlawState)) - + let vid = createVeracodeFlawID(flaw) console.log('vid: '+vid) From 1fe31e56beea57fc595eef918d83004e244f1279 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 10 Oct 2022 03:42:40 +0200 Subject: [PATCH 088/200] pipeline flaws --- pipeline.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pipeline.js b/pipeline.js index f7564d6..bc4353b 100644 --- a/pipeline.js +++ b/pipeline.js @@ -140,8 +140,9 @@ async function getAllVeracodeIssues(options) { console.log(`Flaw \"${element.title}\" has no Veracode Flaw ID, ignored.`) } else { addExistingFlawToMap(flawID); - existingFlawNumber[parseInt(flawID)] = issue_number; - existingIssueState[parseInt(flawID)] = issueState; + flawNum = parseVeracodeFlawID(flawID).flawNum; + existingFlawNumber[parseInt(flawNum)] = issue_number; + existingIssueState[parseInt(flawNum)] = issueState; } }) From 07dd62edc08c076da5a03fec9625f671cddeeb80 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 10 Oct 2022 03:47:18 +0200 Subject: [PATCH 089/200] pipeline flaws --- pipeline.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pipeline.js b/pipeline.js index bc4353b..f98c983 100644 --- a/pipeline.js +++ b/pipeline.js @@ -129,6 +129,9 @@ async function getAllVeracodeIssues(options) { // walk findings and populate VeracodeFlaws map result.data.forEach(element => { + console.log('Element array: '+JSON.stringify(element)) + + let flawID = getVeracodeFlawID(element.title); console.log('FlawID: '+flawID+' - Element Title: '+element.title) let issue_number = element.number @@ -179,7 +182,7 @@ async function processPipelineFlaws(options, flawData) { console.log('Full falw data: '+JSON.stringify(flaw)) console.log('Exisiting Flaw Number: '+JSON.stringify(existingFlawNumber)) - console.log('Exisiting Flaw State: '+JSON.stringify(existingFlawState)) + console.log('Exisiting Issue State: '+JSON.stringify(existingIssueState)) let vid = createVeracodeFlawID(flaw) console.log('vid: '+vid) From efd1685dabdee63cb40f43eef94a36678714df1f Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 10 Oct 2022 03:56:14 +0200 Subject: [PATCH 090/200] pipeline flaws --- pipeline.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pipeline.js b/pipeline.js index f98c983..7f36583 100644 --- a/pipeline.js +++ b/pipeline.js @@ -129,14 +129,12 @@ async function getAllVeracodeIssues(options) { // walk findings and populate VeracodeFlaws map result.data.forEach(element => { - console.log('Element array: '+JSON.stringify(element)) - - + //console.log('Element array: '+JSON.stringify(element)) let flawID = getVeracodeFlawID(element.title); console.log('FlawID: '+flawID+' - Element Title: '+element.title) let issue_number = element.number let issueState = element.state - console.log('Issue number: '+issue_number+' - issue state: '+issue_number) + console.log('Issue number: '+issue_number+' - issue state: '+issueState) // Map using VeracodeFlawID as index, for easy searching. Line # for simple flaw matching if(flawID === null){ @@ -144,6 +142,7 @@ async function getAllVeracodeIssues(options) { } else { addExistingFlawToMap(flawID); flawNum = parseVeracodeFlawID(flawID).flawNum; + console.log('FlawNum: '+flawNum) existingFlawNumber[parseInt(flawNum)] = issue_number; existingIssueState[parseInt(flawNum)] = issueState; } From 0c49a6c1c2aafcb9293963c2fa28a2ae2d14026c Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 10 Oct 2022 04:02:59 +0200 Subject: [PATCH 091/200] pipeline flaws --- pipeline.js | 1 + 1 file changed, 1 insertion(+) diff --git a/pipeline.js b/pipeline.js index 7f36583..59e86bc 100644 --- a/pipeline.js +++ b/pipeline.js @@ -145,6 +145,7 @@ async function getAllVeracodeIssues(options) { console.log('FlawNum: '+flawNum) existingFlawNumber[parseInt(flawNum)] = issue_number; existingIssueState[parseInt(flawNum)] = issueState; + console.log('Exisiting Flaw Number: '+JSON.stringify(existingFlawNumber)+' - Exisiting Flaw State: '+JSON.stringify(existingIssueState)) } }) From 9065a9158d42c31311b7ccce570fa8a6797cf0b0 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 10 Oct 2022 04:17:15 +0200 Subject: [PATCH 092/200] pipeline flaws --- pipeline.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/pipeline.js b/pipeline.js index 59e86bc..5e16231 100644 --- a/pipeline.js +++ b/pipeline.js @@ -32,6 +32,16 @@ function getVeracodeFlawID(title) { return title.substring(start, end+1); } + +function parseVeracodeFlawNum(vid) { + let parts = vid.split(':'); + + return ({ + "prefix": parts[0], + "flawNum": parts[1].substring(0, parts[1].length - 1) + }) +} + function parseVeracodeFlawID(vid) { let parts = vid.split(':'); @@ -141,7 +151,7 @@ async function getAllVeracodeIssues(options) { console.log(`Flaw \"${element.title}\" has no Veracode Flaw ID, ignored.`) } else { addExistingFlawToMap(flawID); - flawNum = parseVeracodeFlawID(flawID).flawNum; + flawNum = parseVeracodeFlawNum(flawID).flawNum; console.log('FlawNum: '+flawNum) existingFlawNumber[parseInt(flawNum)] = issue_number; existingIssueState[parseInt(flawNum)] = issueState; From 9cddbe9252c6561242b997ec0422016be51b3e09 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 10 Oct 2022 06:21:00 +0200 Subject: [PATCH 093/200] pipeline flaws --- pipeline.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pipeline.js b/pipeline.js index 5e16231..16947ff 100644 --- a/pipeline.js +++ b/pipeline.js @@ -38,7 +38,7 @@ function parseVeracodeFlawNum(vid) { return ({ "prefix": parts[0], - "flawNum": parts[1].substring(0, parts[1].length - 1) + "flawNum": parts[1].substring(0, parts[1].length) }) } From 0692af3a9b2d7698bf245db4855818d12fa1ba91 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 10 Oct 2022 06:37:28 +0200 Subject: [PATCH 094/200] pipeline flaws --- pipeline.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pipeline.js b/pipeline.js index 16947ff..e6e8224 100644 --- a/pipeline.js +++ b/pipeline.js @@ -151,11 +151,14 @@ async function getAllVeracodeIssues(options) { console.log(`Flaw \"${element.title}\" has no Veracode Flaw ID, ignored.`) } else { addExistingFlawToMap(flawID); + + /* flawNum = parseVeracodeFlawNum(flawID).flawNum; console.log('FlawNum: '+flawNum) existingFlawNumber[parseInt(flawNum)] = issue_number; existingIssueState[parseInt(flawNum)] = issueState; console.log('Exisiting Flaw Number: '+JSON.stringify(existingFlawNumber)+' - Exisiting Flaw State: '+JSON.stringify(existingIssueState)) + */ } }) @@ -191,8 +194,6 @@ async function processPipelineFlaws(options, flawData) { let flaw = flawData.findings[index] console.log('Full falw data: '+JSON.stringify(flaw)) - console.log('Exisiting Flaw Number: '+JSON.stringify(existingFlawNumber)) - console.log('Exisiting Issue State: '+JSON.stringify(existingIssueState)) let vid = createVeracodeFlawID(flaw) console.log('vid: '+vid) @@ -211,7 +212,7 @@ async function processPipelineFlaws(options, flawData) { console.log('We are on a PR, need to link this issue to this PR') pr_link = `Veracode issue link to PR: https://github.com/`+options.githubOwner+`/`+options.githubRepo+`/pull/`+options.pr_commentID console.log('PR Link: '+pr_link+' - Issue number: '+issue_number) - +/* let issueComment = { 'issue_number': issue_number, 'pr_link': pr_link @@ -227,6 +228,7 @@ async function processPipelineFlaws(options, flawData) { throw error; } }) +*/ } else{ console.log('GitHub issue is closed no need to update.') From a9965784dc3bdbcbea9538be6eb69157d94ef747 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 10 Oct 2022 07:05:33 +0200 Subject: [PATCH 095/200] pipeline flaws --- pipeline.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pipeline.js b/pipeline.js index e6e8224..b8b4d66 100644 --- a/pipeline.js +++ b/pipeline.js @@ -92,6 +92,7 @@ function issueExists(vid) { let existingFlawLine = parseInt(existingFlaw.line); if( (newFlawLine >= (existingFlawLine - 10)) && (newFlawLine <= (existingFlawLine + 10)) ) { + console.log('Issue Exists = existingFlaw: '+JSON.stringify(existingFlaw)+' - Flaw Info: '+flawInfo) return true; } } @@ -198,12 +199,14 @@ async function processPipelineFlaws(options, flawData) { let vid = createVeracodeFlawID(flaw) console.log('vid: '+vid) + /* let flawID = getVeracodeFlawID(flaw.issue_type); console.log('Issue Title Flaw ID '+flawID) let issue_number = getIssueNumber(flawID) let issueState = getIssueState(flawID) console.debug(`processing flaw ${flaw.issue_id}, VeracodeID: ${vid}, GitHub Issue State: ${issueState}`); + */ // check for duplicate if(issueExists(vid)) { From c123f3a68339137201334447b9c4eee6262439f0 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 10 Oct 2022 07:13:02 +0200 Subject: [PATCH 096/200] pipeline flaws --- pipeline.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pipeline.js b/pipeline.js index b8b4d66..7097329 100644 --- a/pipeline.js +++ b/pipeline.js @@ -92,7 +92,7 @@ function issueExists(vid) { let existingFlawLine = parseInt(existingFlaw.line); if( (newFlawLine >= (existingFlawLine - 10)) && (newFlawLine <= (existingFlawLine + 10)) ) { - console.log('Issue Exists = existingFlaw: '+JSON.stringify(existingFlaw)+' - Flaw Info: '+flawInfo) + console.log('Issue Exists = existingFlaw: '+JSON.stringify(existingFlaw)+' - Flaw Info: '+JSON.stringify(flawInfo)) return true; } } From 233b909494ab2391bdb5f0c972d66b308abc9334 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 10 Oct 2022 07:18:08 +0200 Subject: [PATCH 097/200] pipeline flaws --- pipeline.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pipeline.js b/pipeline.js index 7097329..65d2e42 100644 --- a/pipeline.js +++ b/pipeline.js @@ -208,6 +208,9 @@ async function processPipelineFlaws(options, flawData) { console.debug(`processing flaw ${flaw.issue_id}, VeracodeID: ${vid}, GitHub Issue State: ${issueState}`); */ + //for debugging + let issueState = 'open' + // check for duplicate if(issueExists(vid)) { console.log('Issue already exists, skipping import'); From 0a419881753ed6a88e2fa35785ab5de59a6bd5e8 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 10 Oct 2022 07:25:51 +0200 Subject: [PATCH 098/200] pipeline falws --- pipeline.js | 27 ++++++++------------------- 1 file changed, 8 insertions(+), 19 deletions(-) diff --git a/pipeline.js b/pipeline.js index 65d2e42..f9b91b8 100644 --- a/pipeline.js +++ b/pipeline.js @@ -54,11 +54,11 @@ function parseVeracodeFlawID(vid) { } function getIssueNumber(vid) { - return existingFlawNumber[parseInt(parseVeracodeFlawID(vid).flawNum)] + return existingFlawNumber[parseInt(vid)] } function getIssueState(vid) { - return existingIssueState[parseInt(parseVeracodeFlawID(vid).flawNum)] + return existingIssueState[parseInt(vid)] } function addExistingFlawToMap(vid) { @@ -152,14 +152,9 @@ async function getAllVeracodeIssues(options) { console.log(`Flaw \"${element.title}\" has no Veracode Flaw ID, ignored.`) } else { addExistingFlawToMap(flawID); - - /* - flawNum = parseVeracodeFlawNum(flawID).flawNum; - console.log('FlawNum: '+flawNum) - existingFlawNumber[parseInt(flawNum)] = issue_number; - existingIssueState[parseInt(flawNum)] = issueState; + existingFlawNumber[parseInt(flawID)] = issue_number; + existingIssueState[parseInt(flawID)] = issueState; console.log('Exisiting Flaw Number: '+JSON.stringify(existingFlawNumber)+' - Exisiting Flaw State: '+JSON.stringify(existingIssueState)) - */ } }) @@ -198,18 +193,12 @@ async function processPipelineFlaws(options, flawData) { let vid = createVeracodeFlawID(flaw) console.log('vid: '+vid) - - /* - let flawID = getVeracodeFlawID(flaw.issue_type); - console.log('Issue Title Flaw ID '+flawID) - - let issue_number = getIssueNumber(flawID) - let issueState = getIssueState(flawID) + let issue_number = getIssueNumber(parseInt(flawID)) + console.log('Issue Number: '+issue_number) + let issueState = getIssueState(parseInt(flawID)) + console.log('Issue Number: '+issueState) console.debug(`processing flaw ${flaw.issue_id}, VeracodeID: ${vid}, GitHub Issue State: ${issueState}`); - */ - //for debugging - let issueState = 'open' // check for duplicate if(issueExists(vid)) { From d0eb33a260892c9fd6b6767dcd35cf5e80e1268c Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 10 Oct 2022 07:35:13 +0200 Subject: [PATCH 099/200] pipeline flaws --- pipeline.js | 30 ++++++------------------------ 1 file changed, 6 insertions(+), 24 deletions(-) diff --git a/pipeline.js b/pipeline.js index f9b91b8..8bc6c00 100644 --- a/pipeline.js +++ b/pipeline.js @@ -11,7 +11,6 @@ const addVeracodeIssueComment = require('./issue_comment').addVeracodeIssueComme * each entry is a struct of {CWE, line_number} * for some admittedly loose, fuzzy matching to prevent duplicate issues */ var flawFiles = new Map(); - var existingFlawNumber = []; var existingIssueState = []; var pr_link @@ -32,16 +31,6 @@ function getVeracodeFlawID(title) { return title.substring(start, end+1); } - -function parseVeracodeFlawNum(vid) { - let parts = vid.split(':'); - - return ({ - "prefix": parts[0], - "flawNum": parts[1].substring(0, parts[1].length) - }) -} - function parseVeracodeFlawID(vid) { let parts = vid.split(':'); @@ -53,13 +42,6 @@ function parseVeracodeFlawID(vid) { }) } -function getIssueNumber(vid) { - return existingFlawNumber[parseInt(vid)] -} - -function getIssueState(vid) { - return existingIssueState[parseInt(vid)] -} function addExistingFlawToMap(vid) { let flawInfo = parseVeracodeFlawID(vid); @@ -152,8 +134,10 @@ async function getAllVeracodeIssues(options) { console.log(`Flaw \"${element.title}\" has no Veracode Flaw ID, ignored.`) } else { addExistingFlawToMap(flawID); - existingFlawNumber[parseInt(flawID)] = issue_number; - existingIssueState[parseInt(flawID)] = issueState; + var arrayKey = parseInt(flawID) + console.log('Array Key: '+arrayKey) + existingFlawNumber[arrayKey] = issue_number; + existingIssueState[arrayKey] = issueState; console.log('Exisiting Flaw Number: '+JSON.stringify(existingFlawNumber)+' - Exisiting Flaw State: '+JSON.stringify(existingIssueState)) } }) @@ -189,13 +173,11 @@ async function processPipelineFlaws(options, flawData) { for( index=0; index < flawData.findings.length; index++) { let flaw = flawData.findings[index] - console.log('Full falw data: '+JSON.stringify(flaw)) - let vid = createVeracodeFlawID(flaw) console.log('vid: '+vid) - let issue_number = getIssueNumber(parseInt(flawID)) + let issue_number = existingFlawNumber[parseInt(flawID)] console.log('Issue Number: '+issue_number) - let issueState = getIssueState(parseInt(flawID)) + let issueState = existingIssueState[parseInt(flawID)] console.log('Issue Number: '+issueState) console.debug(`processing flaw ${flaw.issue_id}, VeracodeID: ${vid}, GitHub Issue State: ${issueState}`); From d1df8ba70c398ba7fdbb749bc2325c658b29f344 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 10 Oct 2022 07:38:45 +0200 Subject: [PATCH 100/200] pipeline flaws --- pipeline.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pipeline.js b/pipeline.js index 8bc6c00..e75701b 100644 --- a/pipeline.js +++ b/pipeline.js @@ -175,9 +175,9 @@ async function processPipelineFlaws(options, flawData) { let vid = createVeracodeFlawID(flaw) console.log('vid: '+vid) - let issue_number = existingFlawNumber[parseInt(flawID)] + let issue_number = existingFlawNumber[parseInt(vid)] console.log('Issue Number: '+issue_number) - let issueState = existingIssueState[parseInt(flawID)] + let issueState = existingIssueState[parseInt(vid)] console.log('Issue Number: '+issueState) console.debug(`processing flaw ${flaw.issue_id}, VeracodeID: ${vid}, GitHub Issue State: ${issueState}`); From 85bde2adef2351d7a040510bb5b88f1259685360 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 10 Oct 2022 07:42:28 +0200 Subject: [PATCH 101/200] pipeline flaws --- pipeline.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pipeline.js b/pipeline.js index e75701b..034f879 100644 --- a/pipeline.js +++ b/pipeline.js @@ -189,7 +189,7 @@ async function processPipelineFlaws(options, flawData) { console.log('We are on a PR, need to link this issue to this PR') pr_link = `Veracode issue link to PR: https://github.com/`+options.githubOwner+`/`+options.githubRepo+`/pull/`+options.pr_commentID console.log('PR Link: '+pr_link+' - Issue number: '+issue_number) -/* + let issueComment = { 'issue_number': issue_number, 'pr_link': pr_link @@ -205,7 +205,7 @@ async function processPipelineFlaws(options, flawData) { throw error; } }) -*/ + } else{ console.log('GitHub issue is closed no need to update.') From 875338698ec2ee98e4c47c0d4d6392405dc1bdb2 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 10 Oct 2022 09:28:10 +0200 Subject: [PATCH 102/200] pipeline flaws --- pipeline.js | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/pipeline.js b/pipeline.js index 034f879..06ea206 100644 --- a/pipeline.js +++ b/pipeline.js @@ -31,6 +31,15 @@ function getVeracodeFlawID(title) { return title.substring(start, end+1); } +function parseVeracodeFlawIDNum(vid) { + let parts = vid.split(':'); + + return ({ + "prefix": parts[0], + "flawNum": parts[1].substring(0, parts[1].length - 1) + }) +} + function parseVeracodeFlawID(vid) { let parts = vid.split(':'); @@ -124,7 +133,10 @@ async function getAllVeracodeIssues(options) { result.data.forEach(element => { //console.log('Element array: '+JSON.stringify(element)) let flawID = getVeracodeFlawID(element.title); - console.log('FlawID: '+flawID+' - Element Title: '+element.title) + let flawNum = parseVeracodeFlawIDNum(flawId).flawNum + console.log('FlawNum: '+flawNum) + var arrayKey = parseInt(flawNum) + console.log('FlawID: '+flawID+' - Array Key: '+arrayKey+' - Element Title: '+element.title) let issue_number = element.number let issueState = element.state console.log('Issue number: '+issue_number+' - issue state: '+issueState) @@ -134,8 +146,6 @@ async function getAllVeracodeIssues(options) { console.log(`Flaw \"${element.title}\" has no Veracode Flaw ID, ignored.`) } else { addExistingFlawToMap(flawID); - var arrayKey = parseInt(flawID) - console.log('Array Key: '+arrayKey) existingFlawNumber[arrayKey] = issue_number; existingIssueState[arrayKey] = issueState; console.log('Exisiting Flaw Number: '+JSON.stringify(existingFlawNumber)+' - Exisiting Flaw State: '+JSON.stringify(existingIssueState)) From ffee038b10be9c35b6bd828b65ad6039da41af47 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 10 Oct 2022 09:31:41 +0200 Subject: [PATCH 103/200] pipeline flaws --- pipeline.js | 1 + 1 file changed, 1 insertion(+) diff --git a/pipeline.js b/pipeline.js index 06ea206..40d86e7 100644 --- a/pipeline.js +++ b/pipeline.js @@ -133,6 +133,7 @@ async function getAllVeracodeIssues(options) { result.data.forEach(element => { //console.log('Element array: '+JSON.stringify(element)) let flawID = getVeracodeFlawID(element.title); + console.log('FlawId: '+flawId) let flawNum = parseVeracodeFlawIDNum(flawId).flawNum console.log('FlawNum: '+flawNum) var arrayKey = parseInt(flawNum) From 57db1b00fa994a9c67aae22a90ae41ec65b73432 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 10 Oct 2022 09:36:46 +0200 Subject: [PATCH 104/200] pipeline flaws --- pipeline.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pipeline.js b/pipeline.js index 40d86e7..c9a210b 100644 --- a/pipeline.js +++ b/pipeline.js @@ -131,7 +131,7 @@ async function getAllVeracodeIssues(options) { // walk findings and populate VeracodeFlaws map result.data.forEach(element => { - //console.log('Element array: '+JSON.stringify(element)) + console.log('Element array: '+JSON.stringify(element)) let flawID = getVeracodeFlawID(element.title); console.log('FlawId: '+flawId) let flawNum = parseVeracodeFlawIDNum(flawId).flawNum From 290893624b3a2f32a7068b1b168ec1623c332774 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 10 Oct 2022 09:43:03 +0200 Subject: [PATCH 105/200] pipeline flaws --- pipeline.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pipeline.js b/pipeline.js index c9a210b..ed82585 100644 --- a/pipeline.js +++ b/pipeline.js @@ -133,8 +133,8 @@ async function getAllVeracodeIssues(options) { result.data.forEach(element => { console.log('Element array: '+JSON.stringify(element)) let flawID = getVeracodeFlawID(element.title); - console.log('FlawId: '+flawId) - let flawNum = parseVeracodeFlawIDNum(flawId).flawNum + console.log('FlawId: '+flawID) + let flawNum = parseVeracodeFlawIDNum(flawID).flawNum console.log('FlawNum: '+flawNum) var arrayKey = parseInt(flawNum) console.log('FlawID: '+flawID+' - Array Key: '+arrayKey+' - Element Title: '+element.title) From 7843ccd74d8e206dba9ee57cf665ad3084c16c4a Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 10 Oct 2022 09:43:23 +0200 Subject: [PATCH 106/200] pipeline flaws --- pipeline.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pipeline.js b/pipeline.js index ed82585..1bb1583 100644 --- a/pipeline.js +++ b/pipeline.js @@ -131,7 +131,7 @@ async function getAllVeracodeIssues(options) { // walk findings and populate VeracodeFlaws map result.data.forEach(element => { - console.log('Element array: '+JSON.stringify(element)) + //console.log('Element array: '+JSON.stringify(element)) let flawID = getVeracodeFlawID(element.title); console.log('FlawId: '+flawID) let flawNum = parseVeracodeFlawIDNum(flawID).flawNum From 8ca06b988db3298c937d18c69b76ce1143681b2b Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 10 Oct 2022 09:57:57 +0200 Subject: [PATCH 107/200] pipeline flaws --- pipeline.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pipeline.js b/pipeline.js index 1bb1583..2abb3a1 100644 --- a/pipeline.js +++ b/pipeline.js @@ -36,7 +36,7 @@ function parseVeracodeFlawIDNum(vid) { return ({ "prefix": parts[0], - "flawNum": parts[1].substring(0, parts[1].length - 1) + "flawNum": parts[1].substring(0, parts[1].length) }) } @@ -183,6 +183,7 @@ async function processPipelineFlaws(options, flawData) { var index; for( index=0; index < flawData.findings.length; index++) { let flaw = flawData.findings[index] + console.log('Flaw: '+JSON.stringify(flaw)) let vid = createVeracodeFlawID(flaw) console.log('vid: '+vid) From bea3bda5453c3af8ae2ff82000ae74e2e8c67ef2 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 10 Oct 2022 13:00:48 +0200 Subject: [PATCH 108/200] pipeline flaws --- pipeline.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/pipeline.js b/pipeline.js index 2abb3a1..67df7f1 100644 --- a/pipeline.js +++ b/pipeline.js @@ -137,10 +137,10 @@ async function getAllVeracodeIssues(options) { let flawNum = parseVeracodeFlawIDNum(flawID).flawNum console.log('FlawNum: '+flawNum) var arrayKey = parseInt(flawNum) - console.log('FlawID: '+flawID+' - Array Key: '+arrayKey+' - Element Title: '+element.title) + console.log('FlawID: '+flawID+' - Element Title: '+element.title) let issue_number = element.number let issueState = element.state - console.log('Issue number: '+issue_number+' - issue state: '+issueState) + console.log('Issue number: '+issue_number+' - issue state: '+issueState+' - Array Key: '+arrayKey) // Map using VeracodeFlawID as index, for easy searching. Line # for simple flaw matching if(flawID === null){ @@ -149,7 +149,7 @@ async function getAllVeracodeIssues(options) { addExistingFlawToMap(flawID); existingFlawNumber[arrayKey] = issue_number; existingIssueState[arrayKey] = issueState; - console.log('Exisiting Flaw Number: '+JSON.stringify(existingFlawNumber)+' - Exisiting Flaw State: '+JSON.stringify(existingIssueState)) + console.log('Exisiting Flaw Number: '+JSON.stringify(existingFlawNumber[arrayKey])+' - Exisiting Flaw State: '+JSON.stringify(existingIssueState[arrayKey])) } }) @@ -187,11 +187,12 @@ async function processPipelineFlaws(options, flawData) { let vid = createVeracodeFlawID(flaw) console.log('vid: '+vid) - let issue_number = existingFlawNumber[parseInt(vid)] + let flawNum = parseVeracodeFlawIDNum(vid).flawNum + let issue_number = existingFlawNumber[parseInt(flawNum)] console.log('Issue Number: '+issue_number) - let issueState = existingIssueState[parseInt(vid)] + let issueState = existingIssueState[parseInt(flawNum)] console.log('Issue Number: '+issueState) - console.debug(`processing flaw ${flaw.issue_id}, VeracodeID: ${vid}, GitHub Issue State: ${issueState}`); + console.debug(`processing flaw ${flaw.issue_id}, VeracodeID: ${vid}, GitHub FlawID: ${issue_number}, GitHub Issue State: ${issueState}`); // check for duplicate From 89fb5df295589c0a581b3f66e96fd7887a9c0a5c Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 10 Oct 2022 14:00:12 +0200 Subject: [PATCH 109/200] pipeline flaws --- pipeline.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pipeline.js b/pipeline.js index 67df7f1..a4cd88f 100644 --- a/pipeline.js +++ b/pipeline.js @@ -147,9 +147,9 @@ async function getAllVeracodeIssues(options) { console.log(`Flaw \"${element.title}\" has no Veracode Flaw ID, ignored.`) } else { addExistingFlawToMap(flawID); - existingFlawNumber[arrayKey] = issue_number; - existingIssueState[arrayKey] = issueState; - console.log('Exisiting Flaw Number: '+JSON.stringify(existingFlawNumber[arrayKey])+' - Exisiting Flaw State: '+JSON.stringify(existingIssueState[arrayKey])) + existingFlawNumber[flawID] = issue_number; + existingIssueState[flawID] = issueState; + console.log('Exisiting Flaw Number: '+JSON.stringify(existingFlawNumber[flawID])+' - Exisiting Flaw State: '+JSON.stringify(existingIssueState[flawID])) } }) @@ -188,9 +188,9 @@ async function processPipelineFlaws(options, flawData) { let vid = createVeracodeFlawID(flaw) console.log('vid: '+vid) let flawNum = parseVeracodeFlawIDNum(vid).flawNum - let issue_number = existingFlawNumber[parseInt(flawNum)] + let issue_number = existingFlawNumber[vid] console.log('Issue Number: '+issue_number) - let issueState = existingIssueState[parseInt(flawNum)] + let issueState = existingIssueState[vid] console.log('Issue Number: '+issueState) console.debug(`processing flaw ${flaw.issue_id}, VeracodeID: ${vid}, GitHub FlawID: ${issue_number}, GitHub Issue State: ${issueState}`); From c71e1befa579c185b44e34cc1f8e917a0628aeac Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 10 Oct 2022 15:05:22 +0200 Subject: [PATCH 110/200] pipeline flaws --- pipeline.js | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/pipeline.js b/pipeline.js index a4cd88f..ecee5ad 100644 --- a/pipeline.js +++ b/pipeline.js @@ -83,7 +83,6 @@ function issueExists(vid) { let existingFlawLine = parseInt(existingFlaw.line); if( (newFlawLine >= (existingFlawLine - 10)) && (newFlawLine <= (existingFlawLine + 10)) ) { - console.log('Issue Exists = existingFlaw: '+JSON.stringify(existingFlaw)+' - Flaw Info: '+JSON.stringify(flawInfo)) return true; } } @@ -131,16 +130,11 @@ async function getAllVeracodeIssues(options) { // walk findings and populate VeracodeFlaws map result.data.forEach(element => { - //console.log('Element array: '+JSON.stringify(element)) let flawID = getVeracodeFlawID(element.title); - console.log('FlawId: '+flawID) let flawNum = parseVeracodeFlawIDNum(flawID).flawNum - console.log('FlawNum: '+flawNum) var arrayKey = parseInt(flawNum) - console.log('FlawID: '+flawID+' - Element Title: '+element.title) let issue_number = element.number let issueState = element.state - console.log('Issue number: '+issue_number+' - issue state: '+issueState+' - Array Key: '+arrayKey) // Map using VeracodeFlawID as index, for easy searching. Line # for simple flaw matching if(flawID === null){ @@ -149,7 +143,7 @@ async function getAllVeracodeIssues(options) { addExistingFlawToMap(flawID); existingFlawNumber[flawID] = issue_number; existingIssueState[flawID] = issueState; - console.log('Exisiting Flaw Number: '+JSON.stringify(existingFlawNumber[flawID])+' - Exisiting Flaw State: '+JSON.stringify(existingIssueState[flawID])) + //console.log('Exisiting Flaw Number: '+JSON.stringify(existingFlawNumber[flawID])+' - Exisiting Flaw State: '+JSON.stringify(existingIssueState[flawID])) } }) @@ -183,15 +177,10 @@ async function processPipelineFlaws(options, flawData) { var index; for( index=0; index < flawData.findings.length; index++) { let flaw = flawData.findings[index] - console.log('Flaw: '+JSON.stringify(flaw)) - let vid = createVeracodeFlawID(flaw) - console.log('vid: '+vid) let flawNum = parseVeracodeFlawIDNum(vid).flawNum let issue_number = existingFlawNumber[vid] - console.log('Issue Number: '+issue_number) let issueState = existingIssueState[vid] - console.log('Issue Number: '+issueState) console.debug(`processing flaw ${flaw.issue_id}, VeracodeID: ${vid}, GitHub FlawID: ${issue_number}, GitHub Issue State: ${issueState}`); @@ -201,7 +190,7 @@ async function processPipelineFlaws(options, flawData) { if ( options.isPR >= 1 && issueState == "open" ){ console.log('We are on a PR, need to link this issue to this PR') pr_link = `Veracode issue link to PR: https://github.com/`+options.githubOwner+`/`+options.githubRepo+`/pull/`+options.pr_commentID - console.log('PR Link: '+pr_link+' - Issue number: '+issue_number) + //console.log('PR Link: '+pr_link+' - Issue number: '+issue_number) let issueComment = { 'issue_number': issue_number, From 9b88d9675e74216986713f95a26095dd6d39dafd Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Tue, 11 Oct 2022 15:05:36 +0200 Subject: [PATCH 111/200] fixed source_base_path --- index.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/index.js b/index.js index 7ca3373..68a1c83 100644 --- a/index.js +++ b/index.js @@ -12,9 +12,9 @@ try { const resultsFile = core.getInput('scan-results-json', {required: true} ); const token = core.getInput('github-token', {required: true} ); const waitTime = core.getInput('wait-time'); // default set in Action.yml - const source_base_path_1 = core.getInput('source-base-path_1'); - const source_base_path_2 = core.getInput('source-base-path_2'); - const source_base_path_3 = core.getInput('source-base-path_3'); + const source_base_path_1 = core.getInput('source_base_path_1'); + const source_base_path_2 = core.getInput('source_base_path_2'); + const source_base_path_3 = core.getInput('source_base_path_3'); const commit_hash = process.env.GITHUB_SHA; console.log('resultsFiel: '+resultsFile+'\nwaitTime: '+waitTime+'\nsource_base_path_1: '+source_base_path_1+'\nsource_base_path_2: '+source_base_path_2+'\nsource_base_path_3: '+source_base_path_3+'\ncommit_hash: '+commit_hash) From bb1e7146eaaf561bb73eae010c19932dda451dad Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sun, 30 Oct 2022 15:24:26 +0100 Subject: [PATCH 112/200] new functions --- .gitignore | 2 ++ index.js | 20 +------------------- issue.js | 4 ---- 3 files changed, 3 insertions(+), 23 deletions(-) diff --git a/.gitignore b/.gitignore index da10adc..f74becb 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,5 @@ helpers/flaws* .DS_Store Archive.zip package-lock.json +.DS_Store +.DS_Store diff --git a/index.js b/index.js index 42847a3..68a1c83 100644 --- a/index.js +++ b/index.js @@ -40,22 +40,6 @@ try { - core.info('check if we run on a pull request') - let pullRequest = process.env.GITHUB_REF - let isPR = pullRequest?.indexOf("pull") - - console.log('Is PR: '+isPR) - - if ( isPR >= 1 ){ - core.info("This run is part of a PR, should add some PR comment") - - const pr_context = github.context - const pr_repository = process.env.GITHUB_REPOSITORY - const pr_repo = pr_repository.split("/"); - const pr_commentID = context.payload.pull_request?.number - console.log('PR Context: '+pr_context+'\nPr Repository: '+pr_repository+'\nPr Repo: '+pr_repo+'\nPR Comment ID: '+pr_commentID) - } - // do the thing importFlaws( {resultsFile: resultsFile, @@ -67,9 +51,7 @@ try { source_base_path_2: source_base_path_2, source_base_path_3: source_base_path_3, commit_hash: commit_hash, - pr_context: pr_context, - pr_repository: pr_repository, - pr_repo: pr_repo, + isPR: isPR, pr_commentID: pr_commentID } ) diff --git a/issue.js b/issue.js index 464574f..1e9eaee 100644 --- a/issue.js +++ b/issue.js @@ -18,9 +18,6 @@ async function addVeracodeIssue(options, issue) { var authToken = 'token ' + githubToken; - if ( options.pr_commentID ){ - pr_link = "\"pull_request\"\: \[\"url: https://api.github.com/repos/octocat/Hello-World/pulls/1347\", \"html_url: https://github.com/octocat/Hello-World/pull/1347\", \"diff_url; https://github.com/octocat/Hello-World/pull/1347.diff\",\"patch_url: https://github.com/octocat/Hello-World/pull/1347.patch\"\]," - } await request('POST /repos/{owner}/{repo}/issues', { headers: { @@ -31,7 +28,6 @@ async function addVeracodeIssue(options, issue) { data: { "title": issue.title, "labels": [label.severityToLabel(issue.severity), issue.label], - pr_link "body": issue.body } }) From 21e87d1df223aee918c0e4c99784ddd83a1d448c Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Sun, 30 Oct 2022 15:42:51 +0100 Subject: [PATCH 113/200] minor readme changes --- README.md | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index effd7ab..dff17b4 100644 --- a/README.md +++ b/README.md @@ -22,16 +22,25 @@ Note that when Issues are added, a tag is inserted into the Issue title. The ta |Default value | `"filtered_results.json"`| --- | --- -### `github-token` - -**Required** GitHub token needed to access the repo. Normally, when run in a Workflow, use the `{{ secrets.GITHUB-TOKEN }}` that is created by GitHub. See [here](https://docs.github.com/en/actions/reference/authentication-in-a-workflow) for further information. - ### `wait-time` **Optional** GitHub (at least the free/public version) has a rate limiter to prevent a user from adding Issues too quickly. This value is used to insert a small delay between each new issue created so as to not trip the rate limiter. This value sets the number of seconds between each issue. See [here](https://docs.github.com/en/rest/guides/best-practices-for-integrators#dealing-with-rate-limits) for additional information. | Default value | `"2"` | --- | --- - + +### `source_base_path_1`, `source_base_path_2`, `source_base_path_3` + +**Optional** In some compilations, the path representation is not the same as the repository root folder. In order to add the ability to navigate back from the scanning issue to the file in the repository, a base path to the source is required. The input format is regex base (`"[search pattern]:[replace with pattern]"`). +| Default value | `""` | +--- | --- + +Example: +```yml +source-base-path-1: "^com/veracode:src/main/java/com/veracode" +source-base-path-2: "^WEB-INF:src/main/webapp/WEB-INF" +``` + + ## Example usage ### Pipeline Scan From 8ccf9aeb4e31ab501a41b1053609dd766635f39b Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 14 Nov 2022 13:47:04 +0100 Subject: [PATCH 114/200] adding break pipeline support --- .gitignore | 4 +--- action.yml | 3 +++ importer.js | 3 +++ index.js | 12 ++++++++++++ 4 files changed, 19 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index f74becb..433bb08 100644 --- a/.gitignore +++ b/.gitignore @@ -5,8 +5,6 @@ # helper test output helpers/flaws* -.DS_Store Archive.zip package-lock.json -.DS_Store -.DS_Store +.DS_Store \ No newline at end of file diff --git a/action.yml b/action.yml index c6dc1e5..baee846 100644 --- a/action.yml +++ b/action.yml @@ -22,6 +22,9 @@ inputs: source_base_path_3: description: 'Rewrite 3' required: false + fail_build: + description: fail pipeline upon findings (true | false) + required: false runs: using: 'node16' diff --git a/importer.js b/importer.js index ac18f94..b6a6c1e 100644 --- a/importer.js +++ b/importer.js @@ -65,14 +65,17 @@ async function importFlaws(options) { if(scanType == 'pipeline') { await processPipelineFlaws(options, flawData) .then (count => { + const internal_flaw_count = count console.log(`Done. ${count} flaws processed.`); }) } else { await processPolicyFlaws(options, flawData) .then (count => { console.log(`Done. ${count} flaws processed.`); + const internal_flaw_count = count }) } } + module.exports = { importFlaws }; \ No newline at end of file diff --git a/index.js b/index.js index 68a1c83..326597d 100644 --- a/index.js +++ b/index.js @@ -15,6 +15,7 @@ try { const source_base_path_1 = core.getInput('source_base_path_1'); const source_base_path_2 = core.getInput('source_base_path_2'); const source_base_path_3 = core.getInput('source_base_path_3'); + const fail_build = core.getInput('fail_build'); const commit_hash = process.env.GITHUB_SHA; console.log('resultsFiel: '+resultsFile+'\nwaitTime: '+waitTime+'\nsource_base_path_1: '+source_base_path_1+'\nsource_base_path_2: '+source_base_path_2+'\nsource_base_path_3: '+source_base_path_3+'\ncommit_hash: '+commit_hash) @@ -55,6 +56,17 @@ try { pr_commentID: pr_commentID } ) + + // add break build functionality + if ( fail_build == "true" ){ + if ( internal_flaw_count > 0 ){ + core.info('There are Veracode flaws found that require the build to fail, please review generated GitHub issues') + core.setFailed('There are Veracode flaws found that require the build to fail, please review generated GitHub issues') + } + } + + + .catch(error => {console.error(`Failure at ${error.stack}`)}); } catch (error) { core.setFailed(error.stack); From 1f7b1272c9658052ffc9919114de142282b86d13 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 14 Nov 2022 14:12:06 +0100 Subject: [PATCH 115/200] add break pipeline support --- importer.js | 8 ++++++++ index.js | 12 ------------ 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/importer.js b/importer.js index b6a6c1e..9a42696 100644 --- a/importer.js +++ b/importer.js @@ -75,6 +75,14 @@ async function importFlaws(options) { const internal_flaw_count = count }) } + + // add break build functionality + if ( fail_build == "true" ){ + if ( internal_flaw_count > 0 ){ + core.info('There are Veracode flaws found that require the build to fail, please review generated GitHub issues') + core.setFailed('There are Veracode flaws found that require the build to fail, please review generated GitHub issues') + } + } } diff --git a/index.js b/index.js index 326597d..880e05b 100644 --- a/index.js +++ b/index.js @@ -38,8 +38,6 @@ try { pr_commentID = pr_context.payload.pull_request.number } - - // do the thing importFlaws( @@ -57,16 +55,6 @@ try { } ) - // add break build functionality - if ( fail_build == "true" ){ - if ( internal_flaw_count > 0 ){ - core.info('There are Veracode flaws found that require the build to fail, please review generated GitHub issues') - core.setFailed('There are Veracode flaws found that require the build to fail, please review generated GitHub issues') - } - } - - - .catch(error => {console.error(`Failure at ${error.stack}`)}); } catch (error) { core.setFailed(error.stack); From 47b3fd7cb5801ec35bd87f0849d9da3592ffaa81 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 14 Nov 2022 14:29:35 +0100 Subject: [PATCH 116/200] add break pipeline support --- index.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index 880e05b..288cf8f 100644 --- a/index.js +++ b/index.js @@ -51,7 +51,8 @@ try { source_base_path_3: source_base_path_3, commit_hash: commit_hash, isPR: isPR, - pr_commentID: pr_commentID + pr_commentID: pr_commentID, + fail_build: fail_build } ) From 7ce16c8b4a3f8c41a9faf931d1568eca27da31b2 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 14 Nov 2022 14:34:07 +0100 Subject: [PATCH 117/200] add break pipeline support --- importer.js | 1 + 1 file changed, 1 insertion(+) diff --git a/importer.js b/importer.js index 9a42696..d06083c 100644 --- a/importer.js +++ b/importer.js @@ -21,6 +21,7 @@ async function importFlaws(options) { const source_base_path_2 = options.source_base_path_2; const source_base_path_3 = options.source_base_path_3; const commit_hash = options.commit_hash; + const fail_build = options.fail_build; var flawData; // basic sanity checking From 15c9e56c18257e474c89155cf16cf643d3f32464 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 14 Nov 2022 15:46:25 +0100 Subject: [PATCH 118/200] add break pipeline support --- importer.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/importer.js b/importer.js index d06083c..b8881c2 100644 --- a/importer.js +++ b/importer.js @@ -22,6 +22,7 @@ async function importFlaws(options) { const source_base_path_3 = options.source_base_path_3; const commit_hash = options.commit_hash; const fail_build = options.fail_build; + const internal_flaw_count = 0 var flawData; // basic sanity checking @@ -66,14 +67,14 @@ async function importFlaws(options) { if(scanType == 'pipeline') { await processPipelineFlaws(options, flawData) .then (count => { - const internal_flaw_count = count + internal_flaw_count = count console.log(`Done. ${count} flaws processed.`); }) } else { await processPolicyFlaws(options, flawData) .then (count => { console.log(`Done. ${count} flaws processed.`); - const internal_flaw_count = count + internal_flaw_count = count }) } From 34f54a2c314aad7a02db71359eb0d5325ba9e031 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 14 Nov 2022 15:50:21 +0100 Subject: [PATCH 119/200] add break pipeline support --- importer.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/importer.js b/importer.js index b8881c2..e9bbe04 100644 --- a/importer.js +++ b/importer.js @@ -22,7 +22,7 @@ async function importFlaws(options) { const source_base_path_3 = options.source_base_path_3; const commit_hash = options.commit_hash; const fail_build = options.fail_build; - const internal_flaw_count = 0 + var internal_flaw_count = 0 var flawData; // basic sanity checking From addc54534a3505419f5abd7a6c1eb64f7cd3a57b Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 14 Nov 2022 15:54:55 +0100 Subject: [PATCH 120/200] add break pipeline support --- importer.js | 1 + 1 file changed, 1 insertion(+) diff --git a/importer.js b/importer.js index e9bbe04..44d2ad5 100644 --- a/importer.js +++ b/importer.js @@ -3,6 +3,7 @@ // const fs = require('fs'); +const core = require('@actions/core'); const processPipelineFlaws = require('./pipeline').processPipelineFlaws; const processPolicyFlaws = require('./policy').processPolicyFlaws; const label = require('./label'); From 86582441fdcd63737d75325f272b62750f4cdc06 Mon Sep 17 00:00:00 2001 From: Julian Totzek-Hallhuber Date: Mon, 14 Nov 2022 16:08:26 +0100 Subject: [PATCH 121/200] update npm modules --- node_modules/.bin/uuid | 1 + node_modules/.package-lock.json | 183 +- node_modules/@actions/core/README.md | 200 +- node_modules/@actions/core/lib/command.d.ts | 3 +- node_modules/@actions/core/lib/command.js | 17 +- node_modules/@actions/core/lib/command.js.map | 2 +- node_modules/@actions/core/lib/core.d.ts | 84 +- node_modules/@actions/core/lib/core.js | 142 +- node_modules/@actions/core/lib/core.js.map | 2 +- .../@actions/core/lib/file-command.d.ts | 3 +- .../@actions/core/lib/file-command.js | 37 +- .../@actions/core/lib/file-command.js.map | 2 +- .../@actions/core/lib/oidc-utils.d.ts | 7 + node_modules/@actions/core/lib/oidc-utils.js | 77 + .../@actions/core/lib/oidc-utils.js.map | 1 + .../@actions/core/lib/path-utils.d.ts | 25 + node_modules/@actions/core/lib/path-utils.js | 58 + .../@actions/core/lib/path-utils.js.map | 1 + node_modules/@actions/core/lib/summary.d.ts | 202 + node_modules/@actions/core/lib/summary.js | 283 + node_modules/@actions/core/lib/summary.js.map | 1 + node_modules/@actions/core/lib/utils.d.ts | 9 + node_modules/@actions/core/lib/utils.js | 21 + node_modules/@actions/core/lib/utils.js.map | 2 +- node_modules/@actions/core/package.json | 9 +- .../node_modules/@actions/http-client/LICENSE | 21 + .../@actions/http-client/README.md | 79 + .../@actions}/http-client/RELEASES.md | 4 + .../@actions}/http-client/actions.png | Bin .../@actions}/http-client/auth.d.ts | 0 .../@actions}/http-client/auth.js | 0 .../@actions}/http-client/index.d.ts | 0 .../@actions}/http-client/index.js | 4 +- .../@actions}/http-client/interfaces.d.ts | 0 .../@actions}/http-client/interfaces.js | 0 .../@actions/http-client/package.json | 39 + .../@actions}/http-client/proxy.d.ts | 0 .../@actions}/http-client/proxy.js | 0 node_modules/@actions/http-client/README.md | 32 +- .../@actions/http-client/lib/auth.d.ts | 26 + node_modules/@actions/http-client/lib/auth.js | 81 + .../@actions/http-client/lib/auth.js.map | 1 + .../@actions/http-client/lib/index.d.ts | 123 + .../@actions/http-client/lib/index.js | 605 + .../@actions/http-client/lib/index.js.map | 1 + .../@actions/http-client/lib/interfaces.d.ts | 44 + .../@actions/http-client/lib/interfaces.js | 3 + .../http-client/lib/interfaces.js.map | 1 + .../@actions/http-client/lib/proxy.d.ts | 2 + .../@actions/http-client/lib/proxy.js | 61 + .../@actions/http-client/lib/proxy.js.map | 1 + .../@actions/http-client/package.json | 59 +- node_modules/@octokit/auth-token/README.md | 39 +- .../@octokit/auth-token/dist-node/index.js | 8 +- .../auth-token/dist-node/index.js.map | 2 +- .../@octokit/auth-token/dist-src/auth.js | 17 +- .../@octokit/auth-token/dist-src/index.js | 2 +- .../@octokit/auth-token/dist-types/types.d.ts | 7 +- .../@octokit/auth-token/dist-web/index.js | 19 +- .../@octokit/auth-token/dist-web/index.js.map | 2 +- node_modules/@octokit/auth-token/package.json | 15 +- node_modules/@octokit/core/README.md | 22 +- node_modules/@octokit/core/dist-node/index.js | 6 +- .../@octokit/core/dist-node/index.js.map | 2 +- node_modules/@octokit/core/dist-src/index.js | 1 + .../@octokit/core/dist-src/version.js | 2 +- .../@octokit/core/dist-types/index.d.ts | 18 +- .../@octokit/core/dist-types/types.d.ts | 19 +- .../@octokit/core/dist-types/version.d.ts | 2 +- node_modules/@octokit/core/dist-web/index.js | 3 +- .../@octokit/core/dist-web/index.js.map | 2 +- node_modules/@octokit/core/package.json | 22 +- .../@octokit/endpoint/dist-node/index.js | 2 +- .../@octokit/endpoint/dist-node/index.js.map | 2 +- .../@octokit/endpoint/dist-src/version.js | 2 +- .../@octokit/endpoint/dist-types/version.d.ts | 2 +- .../@octokit/endpoint/dist-web/index.js | 2 +- .../@octokit/endpoint/dist-web/index.js.map | 2 +- node_modules/@octokit/endpoint/package.json | 17 +- node_modules/@octokit/graphql/README.md | 47 +- .../@octokit/graphql/dist-node/index.js | 46 +- .../@octokit/graphql/dist-node/index.js.map | 2 +- .../@octokit/graphql/dist-src/error.js | 20 +- .../@octokit/graphql/dist-src/graphql.js | 19 +- .../@octokit/graphql/dist-src/index.js | 1 + .../@octokit/graphql/dist-src/version.js | 2 +- .../@octokit/graphql/dist-types/error.d.ts | 16 +- .../@octokit/graphql/dist-types/index.d.ts | 1 + .../@octokit/graphql/dist-types/types.d.ts | 1 + .../@octokit/graphql/dist-types/version.d.ts | 2 +- .../@octokit/graphql/dist-web/index.js | 41 +- .../@octokit/graphql/dist-web/index.js.map | 2 +- node_modules/@octokit/graphql/package.json | 21 +- .../workflows/release-notification.yml | 18 - .../.github/workflows/release.yml | 21 - .../.github/workflows/update.yml | 90 - .../@octokit/openapi-types/CODE_OF_CONDUCT.md | 74 - node_modules/@octokit/openapi-types/README.md | 12 +- .../openapi-types/cache/openapi-schema.json | 67632 ---------------- .../@octokit/openapi-types/generated/types.js | 1 - .../@octokit/openapi-types/package.json | 33 +- .../openapi-types/scripts/download.js | 35 - .../openapi-types/scripts/update-package.js | 18 - .../{generated/types.ts => types.d.ts} | 48203 +++++++---- .../@octokit/plugin-paginate-rest/README.md | 87 +- .../plugin-paginate-rest/dist-node/index.js | 101 +- .../dist-node/index.js.map | 2 +- .../generated/paginating-endpoints.js | 217 +- .../plugin-paginate-rest/dist-src/index.js | 1 + .../plugin-paginate-rest/dist-src/iterator.js | 28 +- .../normalize-paginated-list-response.js | 7 + .../dist-src/paginating-endpoints.js | 10 + .../plugin-paginate-rest/dist-src/version.js | 2 +- .../generated/paginating-endpoints.d.ts | 468 +- .../dist-types/index.d.ts | 2 + .../dist-types/iterator.d.ts | 7 + .../dist-types/paginating-endpoints.d.ts | 3 + .../dist-types/types.d.ts | 41 +- .../dist-types/version.d.ts | 2 +- .../plugin-paginate-rest/dist-web/index.js | 265 +- .../dist-web/index.js.map | 2 +- .../plugin-paginate-rest/package.json | 34 +- .../plugin-rest-endpoint-methods/README.md | 4 +- .../dist-node/index.js | 111 +- .../dist-node/index.js.map | 2 +- .../dist-src/generated/endpoints.js | 115 +- .../dist-src/index.js | 16 +- .../dist-src/version.js | 2 +- .../dist-types/generated/method-types.d.ts | 717 +- .../parameters-and-response-types.d.ts | 146 + .../dist-types/index.d.ts | 10 - .../dist-types/types.d.ts | 4 +- .../dist-types/version.d.ts | 2 +- .../dist-web/index.js | 133 +- .../dist-web/index.js.map | 2 +- .../plugin-rest-endpoint-methods/package.json | 6 +- node_modules/@octokit/request-error/README.md | 2 +- .../@octokit/request-error/dist-node/index.js | 37 +- .../request-error/dist-node/index.js.map | 2 +- .../@octokit/request-error/dist-src/index.js | 31 +- .../request-error/dist-types/index.d.ts | 12 +- .../request-error/dist-types/types.d.ts | 6 +- .../@octokit/request-error/dist-web/index.js | 31 +- .../request-error/dist-web/index.js.map | 2 +- .../@octokit/request-error/package.json | 17 +- node_modules/@octokit/request/README.md | 20 +- .../@octokit/request/dist-node/index.js | 99 +- .../@octokit/request/dist-node/index.js.map | 2 +- .../request/dist-src/fetch-wrapper.js | 92 +- .../@octokit/request/dist-src/version.js | 2 +- .../@octokit/request/dist-types/version.d.ts | 2 +- .../@octokit/request/dist-web/index.js | 94 +- .../@octokit/request/dist-web/index.js.map | 2 +- node_modules/@octokit/request/package.json | 34 +- node_modules/@octokit/types/README.md | 3 +- .../@octokit/types/dist-node/index.js | 2 +- .../@octokit/types/dist-src/VERSION.js | 2 +- .../types/dist-types/OctokitResponse.d.ts | 2 +- .../dist-types/RequestRequestOptions.d.ts | 6 +- .../@octokit/types/dist-types/VERSION.d.ts | 2 +- .../types/dist-types/generated/Endpoints.d.ts | 1441 +- node_modules/@octokit/types/dist-web/index.js | 2 +- node_modules/@octokit/types/package.json | 36 +- node_modules/@types/node/LICENSE | 21 - node_modules/@types/node/README.md | 16 - node_modules/@types/node/assert.d.ts | 124 - node_modules/@types/node/async_hooks.d.ts | 226 - node_modules/@types/node/base.d.ts | 19 - node_modules/@types/node/buffer.d.ts | 22 - node_modules/@types/node/child_process.d.ts | 509 - node_modules/@types/node/cluster.d.ts | 262 - node_modules/@types/node/console.d.ts | 133 - node_modules/@types/node/constants.d.ts | 8 - node_modules/@types/node/crypto.d.ts | 1172 - node_modules/@types/node/dgram.d.ts | 141 - node_modules/@types/node/dns.d.ts | 380 - node_modules/@types/node/domain.d.ts | 24 - node_modules/@types/node/events.d.ts | 78 - node_modules/@types/node/fs.d.ts | 2239 - node_modules/@types/node/fs/promises.d.ts | 555 - node_modules/@types/node/globals.d.ts | 614 - node_modules/@types/node/globals.global.d.ts | 1 - node_modules/@types/node/http.d.ts | 423 - node_modules/@types/node/http2.d.ts | 953 - node_modules/@types/node/https.d.ts | 37 - node_modules/@types/node/index.d.ts | 62 - node_modules/@types/node/inspector.d.ts | 3041 - node_modules/@types/node/module.d.ts | 52 - node_modules/@types/node/net.d.ts | 281 - node_modules/@types/node/os.d.ts | 239 - node_modules/@types/node/package.json | 256 - node_modules/@types/node/path.d.ts | 153 - node_modules/@types/node/perf_hooks.d.ts | 271 - node_modules/@types/node/process.d.ts | 408 - node_modules/@types/node/punycode.d.ts | 68 - node_modules/@types/node/querystring.d.ts | 28 - node_modules/@types/node/readline.d.ts | 171 - node_modules/@types/node/repl.d.ts | 395 - node_modules/@types/node/stream.d.ts | 354 - node_modules/@types/node/string_decoder.d.ts | 7 - node_modules/@types/node/timers.d.ts | 16 - node_modules/@types/node/tls.d.ts | 782 - node_modules/@types/node/trace_events.d.ts | 61 - node_modules/@types/node/ts3.4/assert.d.ts | 98 - node_modules/@types/node/ts3.4/base.d.ts | 56 - .../@types/node/ts3.4/globals.global.d.ts | 1 - node_modules/@types/node/ts3.4/index.d.ts | 8 - node_modules/@types/node/ts3.6/base.d.ts | 22 - node_modules/@types/node/ts3.6/index.d.ts | 7 - node_modules/@types/node/tty.d.ts | 66 - node_modules/@types/node/url.d.ts | 116 - node_modules/@types/node/util.d.ts | 207 - node_modules/@types/node/v8.d.ts | 187 - node_modules/@types/node/vm.d.ts | 146 - node_modules/@types/node/wasi.d.ts | 86 - node_modules/@types/node/worker_threads.d.ts | 238 - node_modules/@types/node/zlib.d.ts | 361 - node_modules/before-after-hook/README.md | 130 +- node_modules/before-after-hook/index.d.ts | 170 +- node_modules/before-after-hook/index.js | 82 +- node_modules/before-after-hook/package.json | 34 +- node_modules/commander/CHANGELOG.md | 19 +- node_modules/commander/Readme.md | 4 +- node_modules/commander/index.js | 2 +- node_modules/commander/package-support.json | 16 + node_modules/commander/package.json | 22 +- node_modules/commander/typings/index.d.ts | 8 +- node_modules/dotenv/.DS_Store | Bin 6148 -> 0 bytes node_modules/dotenv/.github/FUNDING.yml | 1 + node_modules/dotenv/CHANGELOG.md | 45 +- node_modules/dotenv/README.md | 6 +- node_modules/dotenv/package.json | 11 +- node_modules/dotenv/types/index.d.ts | 2 +- node_modules/node-fetch/CHANGELOG.md | 272 - node_modules/node-fetch/lib/index.es.js | 58 +- node_modules/node-fetch/lib/index.js | 58 +- node_modules/node-fetch/lib/index.mjs | 58 +- node_modules/node-fetch/package.json | 22 +- node_modules/tr46/.npmignore | 4 + node_modules/tr46/index.js | 193 + node_modules/tr46/lib/.gitkeep | 0 node_modules/tr46/lib/mappingTable.json | 1 + node_modules/tr46/package.json | 31 + node_modules/uuid/CHANGELOG.md | 229 + node_modules/uuid/CONTRIBUTING.md | 18 + node_modules/uuid/LICENSE.md | 9 + node_modules/uuid/README.md | 505 + node_modules/uuid/dist/bin/uuid | 2 + node_modules/uuid/dist/esm-browser/index.js | 9 + node_modules/uuid/dist/esm-browser/md5.js | 215 + node_modules/uuid/dist/esm-browser/nil.js | 1 + node_modules/uuid/dist/esm-browser/parse.js | 35 + node_modules/uuid/dist/esm-browser/regex.js | 1 + node_modules/uuid/dist/esm-browser/rng.js | 19 + node_modules/uuid/dist/esm-browser/sha1.js | 96 + .../uuid/dist/esm-browser/stringify.js | 30 + node_modules/uuid/dist/esm-browser/v1.js | 95 + node_modules/uuid/dist/esm-browser/v3.js | 4 + node_modules/uuid/dist/esm-browser/v35.js | 64 + node_modules/uuid/dist/esm-browser/v4.js | 24 + node_modules/uuid/dist/esm-browser/v5.js | 4 + .../uuid/dist/esm-browser/validate.js | 7 + node_modules/uuid/dist/esm-browser/version.js | 11 + node_modules/uuid/dist/esm-node/index.js | 9 + node_modules/uuid/dist/esm-node/md5.js | 13 + node_modules/uuid/dist/esm-node/nil.js | 1 + node_modules/uuid/dist/esm-node/parse.js | 35 + node_modules/uuid/dist/esm-node/regex.js | 1 + node_modules/uuid/dist/esm-node/rng.js | 12 + node_modules/uuid/dist/esm-node/sha1.js | 13 + node_modules/uuid/dist/esm-node/stringify.js | 29 + node_modules/uuid/dist/esm-node/v1.js | 95 + node_modules/uuid/dist/esm-node/v3.js | 4 + node_modules/uuid/dist/esm-node/v35.js | 64 + node_modules/uuid/dist/esm-node/v4.js | 24 + node_modules/uuid/dist/esm-node/v5.js | 4 + node_modules/uuid/dist/esm-node/validate.js | 7 + node_modules/uuid/dist/esm-node/version.js | 11 + node_modules/uuid/dist/index.js | 79 + node_modules/uuid/dist/md5-browser.js | 223 + node_modules/uuid/dist/md5.js | 23 + node_modules/uuid/dist/nil.js | 8 + node_modules/uuid/dist/parse.js | 45 + node_modules/uuid/dist/regex.js | 8 + node_modules/uuid/dist/rng-browser.js | 26 + node_modules/uuid/dist/rng.js | 24 + node_modules/uuid/dist/sha1-browser.js | 104 + node_modules/uuid/dist/sha1.js | 23 + node_modules/uuid/dist/stringify.js | 39 + node_modules/uuid/dist/umd/uuid.min.js | 1 + node_modules/uuid/dist/umd/uuidNIL.min.js | 1 + node_modules/uuid/dist/umd/uuidParse.min.js | 1 + .../uuid/dist/umd/uuidStringify.min.js | 1 + .../uuid/dist/umd/uuidValidate.min.js | 1 + node_modules/uuid/dist/umd/uuidVersion.min.js | 1 + node_modules/uuid/dist/umd/uuidv1.min.js | 1 + node_modules/uuid/dist/umd/uuidv3.min.js | 1 + node_modules/uuid/dist/umd/uuidv4.min.js | 1 + node_modules/uuid/dist/umd/uuidv5.min.js | 1 + node_modules/uuid/dist/uuid-bin.js | 85 + node_modules/uuid/dist/v1.js | 107 + node_modules/uuid/dist/v3.js | 16 + node_modules/uuid/dist/v35.js | 78 + node_modules/uuid/dist/v4.js | 37 + node_modules/uuid/dist/v5.js | 16 + node_modules/uuid/dist/validate.js | 17 + node_modules/uuid/dist/version.js | 21 + node_modules/uuid/package.json | 135 + node_modules/uuid/wrapper.mjs | 10 + node_modules/webidl-conversions/LICENSE.md | 12 + node_modules/webidl-conversions/README.md | 53 + node_modules/webidl-conversions/lib/index.js | 189 + node_modules/webidl-conversions/package.json | 23 + node_modules/whatwg-url/LICENSE.txt | 21 + node_modules/whatwg-url/README.md | 67 + node_modules/whatwg-url/lib/URL-impl.js | 200 + node_modules/whatwg-url/lib/URL.js | 196 + node_modules/whatwg-url/lib/public-api.js | 11 + .../whatwg-url/lib/url-state-machine.js | 1297 + node_modules/whatwg-url/lib/utils.js | 20 + node_modules/whatwg-url/package.json | 32 + package-lock.json | 355 +- 322 files changed, 45170 insertions(+), 101278 deletions(-) create mode 120000 node_modules/.bin/uuid create mode 100644 node_modules/@actions/core/lib/oidc-utils.d.ts create mode 100644 node_modules/@actions/core/lib/oidc-utils.js create mode 100644 node_modules/@actions/core/lib/oidc-utils.js.map create mode 100644 node_modules/@actions/core/lib/path-utils.d.ts create mode 100644 node_modules/@actions/core/lib/path-utils.js create mode 100644 node_modules/@actions/core/lib/path-utils.js.map create mode 100644 node_modules/@actions/core/lib/summary.d.ts create mode 100644 node_modules/@actions/core/lib/summary.js create mode 100644 node_modules/@actions/core/lib/summary.js.map create mode 100644 node_modules/@actions/github/node_modules/@actions/http-client/LICENSE create mode 100644 node_modules/@actions/github/node_modules/@actions/http-client/README.md rename node_modules/@actions/{ => github/node_modules/@actions}/http-client/RELEASES.md (85%) rename node_modules/@actions/{ => github/node_modules/@actions}/http-client/actions.png (100%) rename node_modules/@actions/{ => github/node_modules/@actions}/http-client/auth.d.ts (100%) rename node_modules/@actions/{ => github/node_modules/@actions}/http-client/auth.js (100%) rename node_modules/@actions/{ => github/node_modules/@actions}/http-client/index.d.ts (100%) rename node_modules/@actions/{ => github/node_modules/@actions}/http-client/index.js (99%) rename node_modules/@actions/{ => github/node_modules/@actions}/http-client/interfaces.d.ts (100%) rename node_modules/@actions/{ => github/node_modules/@actions}/http-client/interfaces.js (100%) create mode 100644 node_modules/@actions/github/node_modules/@actions/http-client/package.json rename node_modules/@actions/{ => github/node_modules/@actions}/http-client/proxy.d.ts (100%) rename node_modules/@actions/{ => github/node_modules/@actions}/http-client/proxy.js (100%) create mode 100644 node_modules/@actions/http-client/lib/auth.d.ts create mode 100644 node_modules/@actions/http-client/lib/auth.js create mode 100644 node_modules/@actions/http-client/lib/auth.js.map create mode 100644 node_modules/@actions/http-client/lib/index.d.ts create mode 100644 node_modules/@actions/http-client/lib/index.js create mode 100644 node_modules/@actions/http-client/lib/index.js.map create mode 100644 node_modules/@actions/http-client/lib/interfaces.d.ts create mode 100644 node_modules/@actions/http-client/lib/interfaces.js create mode 100644 node_modules/@actions/http-client/lib/interfaces.js.map create mode 100644 node_modules/@actions/http-client/lib/proxy.d.ts create mode 100644 node_modules/@actions/http-client/lib/proxy.js create mode 100644 node_modules/@actions/http-client/lib/proxy.js.map delete mode 100644 node_modules/@octokit/openapi-types/.github/workflows/release-notification.yml delete mode 100644 node_modules/@octokit/openapi-types/.github/workflows/release.yml delete mode 100644 node_modules/@octokit/openapi-types/.github/workflows/update.yml delete mode 100644 node_modules/@octokit/openapi-types/CODE_OF_CONDUCT.md delete mode 100644 node_modules/@octokit/openapi-types/cache/openapi-schema.json delete mode 100644 node_modules/@octokit/openapi-types/generated/types.js delete mode 100644 node_modules/@octokit/openapi-types/scripts/download.js delete mode 100644 node_modules/@octokit/openapi-types/scripts/update-package.js rename node_modules/@octokit/openapi-types/{generated/types.ts => types.d.ts} (52%) create mode 100644 node_modules/@octokit/plugin-paginate-rest/dist-src/paginating-endpoints.js create mode 100644 node_modules/@octokit/plugin-paginate-rest/dist-types/paginating-endpoints.d.ts delete mode 100644 node_modules/@types/node/LICENSE delete mode 100644 node_modules/@types/node/README.md delete mode 100644 node_modules/@types/node/assert.d.ts delete mode 100644 node_modules/@types/node/async_hooks.d.ts delete mode 100644 node_modules/@types/node/base.d.ts delete mode 100644 node_modules/@types/node/buffer.d.ts delete mode 100644 node_modules/@types/node/child_process.d.ts delete mode 100644 node_modules/@types/node/cluster.d.ts delete mode 100644 node_modules/@types/node/console.d.ts delete mode 100644 node_modules/@types/node/constants.d.ts delete mode 100644 node_modules/@types/node/crypto.d.ts delete mode 100644 node_modules/@types/node/dgram.d.ts delete mode 100644 node_modules/@types/node/dns.d.ts delete mode 100644 node_modules/@types/node/domain.d.ts delete mode 100644 node_modules/@types/node/events.d.ts delete mode 100644 node_modules/@types/node/fs.d.ts delete mode 100644 node_modules/@types/node/fs/promises.d.ts delete mode 100644 node_modules/@types/node/globals.d.ts delete mode 100644 node_modules/@types/node/globals.global.d.ts delete mode 100644 node_modules/@types/node/http.d.ts delete mode 100644 node_modules/@types/node/http2.d.ts delete mode 100644 node_modules/@types/node/https.d.ts delete mode 100644 node_modules/@types/node/index.d.ts delete mode 100644 node_modules/@types/node/inspector.d.ts delete mode 100644 node_modules/@types/node/module.d.ts delete mode 100644 node_modules/@types/node/net.d.ts delete mode 100644 node_modules/@types/node/os.d.ts delete mode 100644 node_modules/@types/node/package.json delete mode 100644 node_modules/@types/node/path.d.ts delete mode 100644 node_modules/@types/node/perf_hooks.d.ts delete mode 100644 node_modules/@types/node/process.d.ts delete mode 100644 node_modules/@types/node/punycode.d.ts delete mode 100644 node_modules/@types/node/querystring.d.ts delete mode 100644 node_modules/@types/node/readline.d.ts delete mode 100644 node_modules/@types/node/repl.d.ts delete mode 100644 node_modules/@types/node/stream.d.ts delete mode 100644 node_modules/@types/node/string_decoder.d.ts delete mode 100644 node_modules/@types/node/timers.d.ts delete mode 100644 node_modules/@types/node/tls.d.ts delete mode 100644 node_modules/@types/node/trace_events.d.ts delete mode 100644 node_modules/@types/node/ts3.4/assert.d.ts delete mode 100644 node_modules/@types/node/ts3.4/base.d.ts delete mode 100644 node_modules/@types/node/ts3.4/globals.global.d.ts delete mode 100644 node_modules/@types/node/ts3.4/index.d.ts delete mode 100644 node_modules/@types/node/ts3.6/base.d.ts delete mode 100644 node_modules/@types/node/ts3.6/index.d.ts delete mode 100644 node_modules/@types/node/tty.d.ts delete mode 100644 node_modules/@types/node/url.d.ts delete mode 100644 node_modules/@types/node/util.d.ts delete mode 100644 node_modules/@types/node/v8.d.ts delete mode 100644 node_modules/@types/node/vm.d.ts delete mode 100644 node_modules/@types/node/wasi.d.ts delete mode 100644 node_modules/@types/node/worker_threads.d.ts delete mode 100644 node_modules/@types/node/zlib.d.ts create mode 100644 node_modules/commander/package-support.json delete mode 100644 node_modules/dotenv/.DS_Store create mode 100644 node_modules/dotenv/.github/FUNDING.yml delete mode 100644 node_modules/node-fetch/CHANGELOG.md create mode 100644 node_modules/tr46/.npmignore create mode 100644 node_modules/tr46/index.js create mode 100644 node_modules/tr46/lib/.gitkeep create mode 100644 node_modules/tr46/lib/mappingTable.json create mode 100644 node_modules/tr46/package.json create mode 100644 node_modules/uuid/CHANGELOG.md create mode 100644 node_modules/uuid/CONTRIBUTING.md create mode 100644 node_modules/uuid/LICENSE.md create mode 100644 node_modules/uuid/README.md create mode 100755 node_modules/uuid/dist/bin/uuid create mode 100644 node_modules/uuid/dist/esm-browser/index.js create mode 100644 node_modules/uuid/dist/esm-browser/md5.js create mode 100644 node_modules/uuid/dist/esm-browser/nil.js create mode 100644 node_modules/uuid/dist/esm-browser/parse.js create mode 100644 node_modules/uuid/dist/esm-browser/regex.js create mode 100644 node_modules/uuid/dist/esm-browser/rng.js create mode 100644 node_modules/uuid/dist/esm-browser/sha1.js create mode 100644 node_modules/uuid/dist/esm-browser/stringify.js create mode 100644 node_modules/uuid/dist/esm-browser/v1.js create mode 100644 node_modules/uuid/dist/esm-browser/v3.js create mode 100644 node_modules/uuid/dist/esm-browser/v35.js create mode 100644 node_modules/uuid/dist/esm-browser/v4.js create mode 100644 node_modules/uuid/dist/esm-browser/v5.js create mode 100644 node_modules/uuid/dist/esm-browser/validate.js create mode 100644 node_modules/uuid/dist/esm-browser/version.js create mode 100644 node_modules/uuid/dist/esm-node/index.js create mode 100644 node_modules/uuid/dist/esm-node/md5.js create mode 100644 node_modules/uuid/dist/esm-node/nil.js create mode 100644 node_modules/uuid/dist/esm-node/parse.js create mode 100644 node_modules/uuid/dist/esm-node/regex.js create mode 100644 node_modules/uuid/dist/esm-node/rng.js create mode 100644 node_modules/uuid/dist/esm-node/sha1.js create mode 100644 node_modules/uuid/dist/esm-node/stringify.js create mode 100644 node_modules/uuid/dist/esm-node/v1.js create mode 100644 node_modules/uuid/dist/esm-node/v3.js create mode 100644 node_modules/uuid/dist/esm-node/v35.js create mode 100644 node_modules/uuid/dist/esm-node/v4.js create mode 100644 node_modules/uuid/dist/esm-node/v5.js create mode 100644 node_modules/uuid/dist/esm-node/validate.js create mode 100644 node_modules/uuid/dist/esm-node/version.js create mode 100644 node_modules/uuid/dist/index.js create mode 100644 node_modules/uuid/dist/md5-browser.js create mode 100644 node_modules/uuid/dist/md5.js create mode 100644 node_modules/uuid/dist/nil.js create mode 100644 node_modules/uuid/dist/parse.js create mode 100644 node_modules/uuid/dist/regex.js create mode 100644 node_modules/uuid/dist/rng-browser.js create mode 100644 node_modules/uuid/dist/rng.js create mode 100644 node_modules/uuid/dist/sha1-browser.js create mode 100644 node_modules/uuid/dist/sha1.js create mode 100644 node_modules/uuid/dist/stringify.js create mode 100644 node_modules/uuid/dist/umd/uuid.min.js create mode 100644 node_modules/uuid/dist/umd/uuidNIL.min.js create mode 100644 node_modules/uuid/dist/umd/uuidParse.min.js create mode 100644 node_modules/uuid/dist/umd/uuidStringify.min.js create mode 100644 node_modules/uuid/dist/umd/uuidValidate.min.js create mode 100644 node_modules/uuid/dist/umd/uuidVersion.min.js create mode 100644 node_modules/uuid/dist/umd/uuidv1.min.js create mode 100644 node_modules/uuid/dist/umd/uuidv3.min.js create mode 100644 node_modules/uuid/dist/umd/uuidv4.min.js create mode 100644 node_modules/uuid/dist/umd/uuidv5.min.js create mode 100644 node_modules/uuid/dist/uuid-bin.js create mode 100644 node_modules/uuid/dist/v1.js create mode 100644 node_modules/uuid/dist/v3.js create mode 100644 node_modules/uuid/dist/v35.js create mode 100644 node_modules/uuid/dist/v4.js create mode 100644 node_modules/uuid/dist/v5.js create mode 100644 node_modules/uuid/dist/validate.js create mode 100644 node_modules/uuid/dist/version.js create mode 100644 node_modules/uuid/package.json create mode 100644 node_modules/uuid/wrapper.mjs create mode 100644 node_modules/webidl-conversions/LICENSE.md create mode 100644 node_modules/webidl-conversions/README.md create mode 100644 node_modules/webidl-conversions/lib/index.js create mode 100644 node_modules/webidl-conversions/package.json create mode 100644 node_modules/whatwg-url/LICENSE.txt create mode 100644 node_modules/whatwg-url/README.md create mode 100644 node_modules/whatwg-url/lib/URL-impl.js create mode 100644 node_modules/whatwg-url/lib/URL.js create mode 100644 node_modules/whatwg-url/lib/public-api.js create mode 100644 node_modules/whatwg-url/lib/url-state-machine.js create mode 100644 node_modules/whatwg-url/lib/utils.js create mode 100644 node_modules/whatwg-url/package.json diff --git a/node_modules/.bin/uuid b/node_modules/.bin/uuid new file mode 120000 index 0000000..588f70e --- /dev/null +++ b/node_modules/.bin/uuid @@ -0,0 +1 @@ +../uuid/dist/bin/uuid \ No newline at end of file diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json index c1bbfbe..0edea05 100644 --- a/node_modules/.package-lock.json +++ b/node_modules/.package-lock.json @@ -5,9 +5,13 @@ "requires": true, "packages": { "node_modules/@actions/core": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.2.6.tgz", - "integrity": "sha512-ZQYitnqiyBc3D+k7LsgSBmMDVkOVidaagDG7j3fOym77jNunWRuYx7VSHa9GNfFZh+zh61xsCjRj4JxMZlDqTA==" + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz", + "integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==", + "dependencies": { + "@actions/http-client": "^2.0.1", + "uuid": "^8.3.2" + } }, "node_modules/@actions/github": { "version": "4.0.0", @@ -20,39 +24,48 @@ "@octokit/plugin-rest-endpoint-methods": "^4.0.0" } }, - "node_modules/@actions/http-client": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.9.tgz", - "integrity": "sha512-0O4SsJ7q+MK0ycvXPl2e6bMXV7dxAXOGjrXS1eTF9s2S401Tp6c/P3c3Joz04QefC1J6Gt942Wl2jbm3f4mLcg==", + "node_modules/@actions/github/node_modules/@actions/http-client": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.11.tgz", + "integrity": "sha512-VRYHGQV1rqnROJqdMvGUbY/Kn8vriQe/F9HR2AlYHzmKuM/p3kjNuXhmdBfcVgsvRWTz5C5XW5xvndZrVBuAYg==", "dependencies": { "tunnel": "0.0.6" } }, + "node_modules/@actions/http-client": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.0.1.tgz", + "integrity": "sha512-PIXiMVtz6VvyaRsGY268qvj57hXQEpsYogYOu2nrQhlf+XCGmZstmuZBbAybUl1nQGnvS1k1eEsQ69ZoD7xlSw==", + "dependencies": { + "tunnel": "^0.0.6" + } + }, "node_modules/@octokit/auth-token": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.5.tgz", - "integrity": "sha512-BpGYsPgJt05M7/L/5FoE1PiAbdxXFZkX/3kDYcsvd1v6UhlnE5e96dTDr0ezX/EFwciQxf3cNV0loipsURU+WA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", + "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", "dependencies": { "@octokit/types": "^6.0.3" } }, "node_modules/@octokit/core": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.2.5.tgz", - "integrity": "sha512-+DCtPykGnvXKWWQI0E1XD+CCeWSBhB6kwItXqfFmNBlIlhczuDPbg+P6BtLnVBaRJDAjv+1mrUJuRsFSjktopg==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", + "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", "dependencies": { "@octokit/auth-token": "^2.4.4", "@octokit/graphql": "^4.5.8", - "@octokit/request": "^5.4.12", + "@octokit/request": "^5.6.3", + "@octokit/request-error": "^2.0.5", "@octokit/types": "^6.0.3", - "before-after-hook": "^2.1.0", + "before-after-hook": "^2.2.0", "universal-user-agent": "^6.0.0" } }, "node_modules/@octokit/endpoint": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.11.tgz", - "integrity": "sha512-fUIPpx+pZyoLW4GCs3yMnlj2LfoXTWDUVPTC4V3MUEKZm48W+XYpeWSZCv+vYF1ZABUm2CqnDVf1sFtIYrj7KQ==", + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", + "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", "dependencies": { "@octokit/types": "^6.0.3", "is-plain-object": "^5.0.0", @@ -60,37 +73,37 @@ } }, "node_modules/@octokit/graphql": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.6.0.tgz", - "integrity": "sha512-CJ6n7izLFXLvPZaWzCQDjU/RP+vHiZmWdOunaCS87v+2jxMsW9FB5ktfIxybRBxZjxuJGRnxk7xJecWTVxFUYQ==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", + "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", "dependencies": { - "@octokit/request": "^5.3.0", + "@octokit/request": "^5.6.0", "@octokit/types": "^6.0.3", "universal-user-agent": "^6.0.0" } }, "node_modules/@octokit/openapi-types": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-4.0.1.tgz", - "integrity": "sha512-k2hRcfcLRyPJjtYfJLzg404n7HZ6sUpAWAR/uNI8tf96NgatWOpw1ocdF+WFfx/trO1ivBh7ckynO1rn+xAw/Q==" + "version": "12.11.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz", + "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==" }, "node_modules/@octokit/plugin-paginate-rest": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.9.1.tgz", - "integrity": "sha512-8wnuWGjwDIEobbBet2xAjZwgiMVTgIer5wBsnGXzV3lJ4yqphLU2FEMpkhSrDx7y+WkZDfZ+V+1cFMZ1mAaFag==", + "version": "2.21.3", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.21.3.tgz", + "integrity": "sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==", "dependencies": { - "@octokit/types": "^6.8.0" + "@octokit/types": "^6.40.0" }, "peerDependencies": { "@octokit/core": ">=2" } }, "node_modules/@octokit/plugin-rest-endpoint-methods": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-4.10.1.tgz", - "integrity": "sha512-YGMiEidTORzgUmYZu0eH4q2k8kgQSHQMuBOBYiKxUYs/nXea4q/Ze6tDzjcRAPmHNJYXrENs1bEMlcdGKT+8ug==", + "version": "4.15.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-4.15.1.tgz", + "integrity": "sha512-4gQg4ySoW7ktKB0Mf38fHzcSffVZd6mT5deJQtpqkuPuAqzlED5AJTeW8Uk7dPRn7KaOlWcXB0MedTFJU1j4qA==", "dependencies": { - "@octokit/types": "^6.8.2", + "@octokit/types": "^6.13.0", "deprecation": "^2.3.1" }, "peerDependencies": { @@ -98,24 +111,22 @@ } }, "node_modules/@octokit/request": { - "version": "5.4.14", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.14.tgz", - "integrity": "sha512-VkmtacOIQp9daSnBmDI92xNIeLuSRDOIuplp/CJomkvzt7M18NXgG044Cx/LFKLgjKt9T2tZR6AtJayba9GTSA==", + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", + "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", "dependencies": { "@octokit/endpoint": "^6.0.1", - "@octokit/request-error": "^2.0.0", - "@octokit/types": "^6.7.1", - "deprecation": "^2.0.0", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.16.1", "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.1", - "once": "^1.4.0", + "node-fetch": "^2.6.7", "universal-user-agent": "^6.0.0" } }, "node_modules/@octokit/request-error": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.5.tgz", - "integrity": "sha512-T/2wcCFyM7SkXzNoyVNWjyVlUwBvW3igM3Btr/eKYiPmucXTtkxt2RBsf6gn3LTzaLSLTQtNmvg+dGsOxQrjZg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", + "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", "dependencies": { "@octokit/types": "^6.0.3", "deprecation": "^2.0.0", @@ -123,28 +134,22 @@ } }, "node_modules/@octokit/types": { - "version": "6.8.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.8.2.tgz", - "integrity": "sha512-RpG0NJd7OKSkWptiFhy1xCLkThs5YoDIKM21lEtDmUvSpbaIEfrxzckWLUGDFfF8RydSyngo44gDv8m2hHruUg==", + "version": "6.41.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", + "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", "dependencies": { - "@octokit/openapi-types": "^4.0.0", - "@types/node": ">= 8" + "@octokit/openapi-types": "^12.11.0" } }, - "node_modules/@types/node": { - "version": "14.14.25", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.25.tgz", - "integrity": "sha512-EPpXLOVqDvisVxtlbvzfyqSsFeQxltFbluZNRndIb8tr9KiBnYNLzrc1N3pyKUCww2RNrfHDViqDWWE1LCJQtQ==" - }, "node_modules/before-after-hook": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.1.1.tgz", - "integrity": "sha512-5ekuQOvO04MDj7kYZJaMab2S8SPjGJbotVNyv7QYFCOAwrGZs/YnoDNlh1U+m5hl7H2D/+n0taaAV/tfyd3KMA==" + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", + "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==" }, "node_modules/commander": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.1.0.tgz", - "integrity": "sha512-pRxBna3MJe6HKnBGsDyMv8ETbptw3axEdYHoqNh7gu5oDcew8fs0xnivZGm06Ogk8zGAJ9VX+OPEr2GXEQK4dg==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "engines": { "node": ">= 10" } @@ -155,17 +160,17 @@ "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" }, "node_modules/dotenv": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz", - "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==", + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", + "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==", "engines": { - "node": ">=8" + "node": ">=10" } }, "node_modules/fs": { "version": "0.0.1-security", "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz", - "integrity": "sha1-invTcYa23d84E/I4WLV+yq9eQdQ=" + "integrity": "sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w==" }, "node_modules/is-plain-object": { "version": "5.0.0", @@ -176,21 +181,37 @@ } }, "node_modules/node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, "engines": { "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } } }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dependencies": { "wrappy": "1" } }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, "node_modules/tunnel": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", @@ -204,10 +225,32 @@ "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==" }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" } } } diff --git a/node_modules/@actions/core/README.md b/node_modules/@actions/core/README.md index 95428cf..3c20c8e 100644 --- a/node_modules/@actions/core/README.md +++ b/node_modules/@actions/core/README.md @@ -16,11 +16,14 @@ import * as core from '@actions/core'; #### Inputs/Outputs -Action inputs can be read with `getInput`. Outputs can be set with `setOutput` which makes them available to be mapped into inputs of other actions to ensure they are decoupled. +Action inputs can be read with `getInput` which returns a `string` or `getBooleanInput` which parses a boolean based on the [yaml 1.2 specification](https://yaml.org/spec/1.2/spec.html#id2804923). If `required` set to be false, the input should have a default value in `action.yml`. + +Outputs can be set with `setOutput` which makes them available to be mapped into inputs of other actions to ensure they are decoupled. ```js const myInput = core.getInput('inputName', { required: true }); - +const myBooleanInput = core.getBooleanInput('booleanInputName', { required: true }); +const myMultilineInput = core.getMultilineInput('multilineInputName', { required: true }); core.setOutput('outputKey', 'outputVal'); ``` @@ -62,11 +65,10 @@ catch (err) { // setFailed logs the message and sets a failing exit code core.setFailed(`Action failed with error ${err}`); } +``` Note that `setNeutral` is not yet implemented in actions V2 but equivalent functionality is being planned. -``` - #### Logging Finally, this library provides some utilities for logging. Note that debug logging is hidden from the logs by default. This behavior can be toggled by enabling the [Step Debug Logs](../../docs/action-debugging.md#step-debug-logs). @@ -90,6 +92,8 @@ try { // Do stuff core.info('Output to the actions build log') + + core.notice('This is a message that will also emit an annotation') } catch (err) { core.error(`Error ${err}, action may still succeed though`); @@ -113,11 +117,123 @@ const result = await core.group('Do something async', async () => { }) ``` +#### Annotations + +This library has 3 methods that will produce [annotations](https://docs.github.com/en/rest/reference/checks#create-a-check-run). +```js +core.error('This is a bad error. This will also fail the build.') + +core.warning('Something went wrong, but it\'s not bad enough to fail the build.') + +core.notice('Something happened that you might want to know about.') +``` + +These will surface to the UI in the Actions page and on Pull Requests. They look something like this: + +![Annotations Image](../../docs/assets/annotations.png) + +These annotations can also be attached to particular lines and columns of your source files to show exactly where a problem is occuring. + +These options are: +```typescript +export interface AnnotationProperties { + /** + * A title for the annotation. + */ + title?: string + + /** + * The name of the file for which the annotation should be created. + */ + file?: string + + /** + * The start line for the annotation. + */ + startLine?: number + + /** + * The end line for the annotation. Defaults to `startLine` when `startLine` is provided. + */ + endLine?: number + + /** + * The start column for the annotation. Cannot be sent when `startLine` and `endLine` are different values. + */ + startColumn?: number + + /** + * The start column for the annotation. Cannot be sent when `startLine` and `endLine` are different values. + * Defaults to `startColumn` when `startColumn` is provided. + */ + endColumn?: number +} +``` + +#### Styling output + +Colored output is supported in the Action logs via standard [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code). 3/4 bit, 8 bit and 24 bit colors are all supported. + +Foreground colors: + +```js +// 3/4 bit +core.info('\u001b[35mThis foreground will be magenta') + +// 8 bit +core.info('\u001b[38;5;6mThis foreground will be cyan') + +// 24 bit +core.info('\u001b[38;2;255;0;0mThis foreground will be bright red') +``` + +Background colors: + +```js +// 3/4 bit +core.info('\u001b[43mThis background will be yellow'); + +// 8 bit +core.info('\u001b[48;5;6mThis background will be cyan') + +// 24 bit +core.info('\u001b[48;2;255;0;0mThis background will be bright red') +``` + +Special styles: + +```js +core.info('\u001b[1mBold text') +core.info('\u001b[3mItalic text') +core.info('\u001b[4mUnderlined text') +``` + +ANSI escape codes can be combined with one another: + +```js +core.info('\u001b[31;46mRed foreground with a cyan background and \u001b[1mbold text at the end'); +``` + +> Note: Escape codes reset at the start of each line + +```js +core.info('\u001b[35mThis foreground will be magenta') +core.info('This foreground will reset to the default') +``` + +Manually typing escape codes can be a little difficult, but you can use third party modules such as [ansi-styles](https://github.com/chalk/ansi-styles). + +```js +const style = require('ansi-styles'); +core.info(style.color.ansi16m.hex('#abcdef') + 'Hello world!') +``` + #### Action state -You can use this library to save state and get state for sharing information between a given wrapper action: +You can use this library to save state and get state for sharing information between a given wrapper action: + +**action.yml**: -**action.yml** ```yaml name: 'Wrapper action sample' inputs: @@ -138,6 +254,7 @@ core.saveState("pidToKill", 12345); ``` In action's `cleanup.js`: + ```js const core = require('@actions/core'); @@ -145,3 +262,74 @@ var pid = core.getState("pidToKill"); process.kill(pid); ``` + +#### OIDC Token + +You can use these methods to interact with the GitHub OIDC provider and get a JWT ID token which would help to get access token from third party cloud providers. + +**Method Name**: getIDToken() + +**Inputs** + +audience : optional + +**Outputs** + +A [JWT](https://jwt.io/) ID Token + +In action's `main.ts`: +```js +const core = require('@actions/core'); +async function getIDTokenAction(): Promise { + + const audience = core.getInput('audience', {required: false}) + + const id_token1 = await core.getIDToken() // ID Token with default audience + const id_token2 = await core.getIDToken(audience) // ID token with custom audience + + // this id_token can be used to get access token from third party cloud providers +} +getIDTokenAction() +``` + +In action's `actions.yml`: + +```yaml +name: 'GetIDToken' +description: 'Get ID token from Github OIDC provider' +inputs: + audience: + description: 'Audience for which the ID token is intended for' + required: false +outputs: + id_token1: + description: 'ID token obtained from OIDC provider' + id_token2: + description: 'ID token obtained from OIDC provider' +runs: + using: 'node12' + main: 'dist/index.js' +``` + +#### Filesystem path helpers + +You can use these methods to manipulate file paths across operating systems. + +The `toPosixPath` function converts input paths to Posix-style (Linux) paths. +The `toWin32Path` function converts input paths to Windows-style paths. These +functions work independently of the underlying runner operating system. + +```js +toPosixPath('\\foo\\bar') // => /foo/bar +toWin32Path('/foo/bar') // => \foo\bar +``` + +The `toPlatformPath` function converts input paths to the expected value on the runner's operating system. + +```js +// On a Windows runner. +toPlatformPath('/foo/bar') // => \foo\bar + +// On a Linux runner. +toPlatformPath('\\foo\\bar') // => /foo/bar +``` diff --git a/node_modules/@actions/core/lib/command.d.ts b/node_modules/@actions/core/lib/command.d.ts index 89eff66..53f8f4b 100644 --- a/node_modules/@actions/core/lib/command.d.ts +++ b/node_modules/@actions/core/lib/command.d.ts @@ -1,4 +1,4 @@ -interface CommandProperties { +export interface CommandProperties { [key: string]: any; } /** @@ -13,4 +13,3 @@ interface CommandProperties { */ export declare function issueCommand(command: string, properties: CommandProperties, message: any): void; export declare function issue(name: string, message?: string): void; -export {}; diff --git a/node_modules/@actions/core/lib/command.js b/node_modules/@actions/core/lib/command.js index 10bf3eb..0b28c66 100644 --- a/node_modules/@actions/core/lib/command.js +++ b/node_modules/@actions/core/lib/command.js @@ -1,12 +1,25 @@ "use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; - if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; - result["default"] = mod; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); +exports.issue = exports.issueCommand = void 0; const os = __importStar(require("os")); const utils_1 = require("./utils"); /** diff --git a/node_modules/@actions/core/lib/command.js.map b/node_modules/@actions/core/lib/command.js.map index a95b303..51c7c63 100644 --- a/node_modules/@actions/core/lib/command.js.map +++ b/node_modules/@actions/core/lib/command.js.map @@ -1 +1 @@ -{"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":";;;;;;;;;AAAA,uCAAwB;AACxB,mCAAsC;AAWtC;;;;;;;;;GASG;AACH,SAAgB,YAAY,CAC1B,OAAe,EACf,UAA6B,EAC7B,OAAY;IAEZ,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;AAC/C,CAAC;AAPD,oCAOC;AAED,SAAgB,KAAK,CAAC,IAAY,EAAE,UAAkB,EAAE;IACtD,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;AACjC,CAAC;AAFD,sBAEC;AAED,MAAM,UAAU,GAAG,IAAI,CAAA;AAEvB,MAAM,OAAO;IAKX,YAAY,OAAe,EAAE,UAA6B,EAAE,OAAe;QACzE,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,iBAAiB,CAAA;SAC5B;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,QAAQ;QACN,IAAI,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC,OAAO,CAAA;QAEtC,IAAI,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9D,MAAM,IAAI,GAAG,CAAA;YACb,IAAI,KAAK,GAAG,IAAI,CAAA;YAChB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjC,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;oBACvC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;oBAChC,IAAI,GAAG,EAAE;wBACP,IAAI,KAAK,EAAE;4BACT,KAAK,GAAG,KAAK,CAAA;yBACd;6BAAM;4BACL,MAAM,IAAI,GAAG,CAAA;yBACd;wBAED,MAAM,IAAI,GAAG,GAAG,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAA;qBAC1C;iBACF;aACF;SACF;QAED,MAAM,IAAI,GAAG,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAA;QACpD,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAED,SAAS,UAAU,CAAC,CAAM;IACxB,OAAO,sBAAc,CAAC,CAAC,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAC1B,CAAC;AAED,SAAS,cAAc,CAAC,CAAM;IAC5B,OAAO,sBAAc,CAAC,CAAC,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AACzB,CAAC"} \ No newline at end of file +{"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAwB;AACxB,mCAAsC;AAWtC;;;;;;;;;GASG;AACH,SAAgB,YAAY,CAC1B,OAAe,EACf,UAA6B,EAC7B,OAAY;IAEZ,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;AAC/C,CAAC;AAPD,oCAOC;AAED,SAAgB,KAAK,CAAC,IAAY,EAAE,OAAO,GAAG,EAAE;IAC9C,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;AACjC,CAAC;AAFD,sBAEC;AAED,MAAM,UAAU,GAAG,IAAI,CAAA;AAEvB,MAAM,OAAO;IAKX,YAAY,OAAe,EAAE,UAA6B,EAAE,OAAe;QACzE,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,iBAAiB,CAAA;SAC5B;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,QAAQ;QACN,IAAI,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC,OAAO,CAAA;QAEtC,IAAI,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9D,MAAM,IAAI,GAAG,CAAA;YACb,IAAI,KAAK,GAAG,IAAI,CAAA;YAChB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjC,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;oBACvC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;oBAChC,IAAI,GAAG,EAAE;wBACP,IAAI,KAAK,EAAE;4BACT,KAAK,GAAG,KAAK,CAAA;yBACd;6BAAM;4BACL,MAAM,IAAI,GAAG,CAAA;yBACd;wBAED,MAAM,IAAI,GAAG,GAAG,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAA;qBAC1C;iBACF;aACF;SACF;QAED,MAAM,IAAI,GAAG,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAA;QACpD,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAED,SAAS,UAAU,CAAC,CAAM;IACxB,OAAO,sBAAc,CAAC,CAAC,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAC1B,CAAC;AAED,SAAS,cAAc,CAAC,CAAM;IAC5B,OAAO,sBAAc,CAAC,CAAC,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AACzB,CAAC"} \ No newline at end of file diff --git a/node_modules/@actions/core/lib/core.d.ts b/node_modules/@actions/core/lib/core.d.ts index 8bb5093..1defb57 100644 --- a/node_modules/@actions/core/lib/core.d.ts +++ b/node_modules/@actions/core/lib/core.d.ts @@ -4,6 +4,8 @@ export interface InputOptions { /** Optional. Whether the input is required. If required and not present, will throw. Defaults to false */ required?: boolean; + /** Optional. Whether leading/trailing whitespace will be trimmed for the input. Defaults to true */ + trimWhitespace?: boolean; } /** * The code to exit an action @@ -18,6 +20,37 @@ export declare enum ExitCode { */ Failure = 1 } +/** + * Optional properties that can be sent with annotatation commands (notice, error, and warning) + * See: https://docs.github.com/en/rest/reference/checks#create-a-check-run for more information about annotations. + */ +export interface AnnotationProperties { + /** + * A title for the annotation. + */ + title?: string; + /** + * The path of the file for which the annotation should be created. + */ + file?: string; + /** + * The start line for the annotation. + */ + startLine?: number; + /** + * The end line for the annotation. Defaults to `startLine` when `startLine` is provided. + */ + endLine?: number; + /** + * The start column for the annotation. Cannot be sent when `startLine` and `endLine` are different values. + */ + startColumn?: number; + /** + * The start column for the annotation. Cannot be sent when `startLine` and `endLine` are different values. + * Defaults to `startColumn` when `startColumn` is provided. + */ + endColumn?: number; +} /** * Sets env variable for this action and future actions in the job * @param name the name of the variable to set @@ -35,13 +68,35 @@ export declare function setSecret(secret: string): void; */ export declare function addPath(inputPath: string): void; /** - * Gets the value of an input. The value is also trimmed. + * Gets the value of an input. + * Unless trimWhitespace is set to false in InputOptions, the value is also trimmed. + * Returns an empty string if the value is not defined. * * @param name name of the input to get * @param options optional. See InputOptions. * @returns string */ export declare function getInput(name: string, options?: InputOptions): string; +/** + * Gets the values of an multiline input. Each value is also trimmed. + * + * @param name name of the input to get + * @param options optional. See InputOptions. + * @returns string[] + * + */ +export declare function getMultilineInput(name: string, options?: InputOptions): string[]; +/** + * Gets the input value of the boolean type in the YAML 1.2 "core schema" specification. + * Support boolean input list: `true | True | TRUE | false | False | FALSE` . + * The return value is also in boolean type. + * ref: https://yaml.org/spec/1.2/spec.html#id2804923 + * + * @param name name of the input to get + * @param options optional. See InputOptions. + * @returns boolean + */ +export declare function getBooleanInput(name: string, options?: InputOptions): boolean; /** * Sets the value of an output. * @@ -73,13 +128,21 @@ export declare function debug(message: string): void; /** * Adds an error issue * @param message error issue message. Errors will be converted to string via toString() + * @param properties optional properties to add to the annotation. */ -export declare function error(message: string | Error): void; +export declare function error(message: string | Error, properties?: AnnotationProperties): void; /** - * Adds an warning issue + * Adds a warning issue * @param message warning issue message. Errors will be converted to string via toString() + * @param properties optional properties to add to the annotation. */ -export declare function warning(message: string | Error): void; +export declare function warning(message: string | Error, properties?: AnnotationProperties): void; +/** + * Adds a notice issue + * @param message notice issue message. Errors will be converted to string via toString() + * @param properties optional properties to add to the annotation. + */ +export declare function notice(message: string | Error, properties?: AnnotationProperties): void; /** * Writes info to log with console.log. * @param message info message @@ -120,3 +183,16 @@ export declare function saveState(name: string, value: any): void; * @returns string */ export declare function getState(name: string): string; +export declare function getIDToken(aud?: string): Promise; +/** + * Summary exports + */ +export { summary } from './summary'; +/** + * @deprecated use core.summary + */ +export { markdownSummary } from './summary'; +/** + * Path exports + */ +export { toPosixPath, toWin32Path, toPlatformPath } from './path-utils'; diff --git a/node_modules/@actions/core/lib/core.js b/node_modules/@actions/core/lib/core.js index 8b33110..48df6ad 100644 --- a/node_modules/@actions/core/lib/core.js +++ b/node_modules/@actions/core/lib/core.js @@ -1,4 +1,23 @@ "use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { @@ -8,19 +27,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; - result["default"] = mod; - return result; -}; Object.defineProperty(exports, "__esModule", { value: true }); +exports.getIDToken = exports.getState = exports.saveState = exports.group = exports.endGroup = exports.startGroup = exports.info = exports.notice = exports.warning = exports.error = exports.debug = exports.isDebug = exports.setFailed = exports.setCommandEcho = exports.setOutput = exports.getBooleanInput = exports.getMultilineInput = exports.getInput = exports.addPath = exports.setSecret = exports.exportVariable = exports.ExitCode = void 0; const command_1 = require("./command"); const file_command_1 = require("./file-command"); const utils_1 = require("./utils"); const os = __importStar(require("os")); const path = __importStar(require("path")); +const oidc_utils_1 = require("./oidc-utils"); /** * The code to exit an action */ @@ -49,13 +63,9 @@ function exportVariable(name, val) { process.env[name] = convertedVal; const filePath = process.env['GITHUB_ENV'] || ''; if (filePath) { - const delimiter = '_GitHubActionsFileCommandDelimeter_'; - const commandValue = `${name}<<${delimiter}${os.EOL}${convertedVal}${os.EOL}${delimiter}`; - file_command_1.issueCommand('ENV', commandValue); - } - else { - command_1.issueCommand('set-env', { name }, convertedVal); + return file_command_1.issueFileCommand('ENV', file_command_1.prepareKeyValueMessage(name, val)); } + command_1.issueCommand('set-env', { name }, convertedVal); } exports.exportVariable = exportVariable; /** @@ -73,7 +83,7 @@ exports.setSecret = setSecret; function addPath(inputPath) { const filePath = process.env['GITHUB_PATH'] || ''; if (filePath) { - file_command_1.issueCommand('PATH', inputPath); + file_command_1.issueFileCommand('PATH', inputPath); } else { command_1.issueCommand('add-path', {}, inputPath); @@ -82,7 +92,9 @@ function addPath(inputPath) { } exports.addPath = addPath; /** - * Gets the value of an input. The value is also trimmed. + * Gets the value of an input. + * Unless trimWhitespace is set to false in InputOptions, the value is also trimmed. + * Returns an empty string if the value is not defined. * * @param name name of the input to get * @param options optional. See InputOptions. @@ -93,9 +105,52 @@ function getInput(name, options) { if (options && options.required && !val) { throw new Error(`Input required and not supplied: ${name}`); } + if (options && options.trimWhitespace === false) { + return val; + } return val.trim(); } exports.getInput = getInput; +/** + * Gets the values of an multiline input. Each value is also trimmed. + * + * @param name name of the input to get + * @param options optional. See InputOptions. + * @returns string[] + * + */ +function getMultilineInput(name, options) { + const inputs = getInput(name, options) + .split('\n') + .filter(x => x !== ''); + if (options && options.trimWhitespace === false) { + return inputs; + } + return inputs.map(input => input.trim()); +} +exports.getMultilineInput = getMultilineInput; +/** + * Gets the input value of the boolean type in the YAML 1.2 "core schema" specification. + * Support boolean input list: `true | True | TRUE | false | False | FALSE` . + * The return value is also in boolean type. + * ref: https://yaml.org/spec/1.2/spec.html#id2804923 + * + * @param name name of the input to get + * @param options optional. See InputOptions. + * @returns boolean + */ +function getBooleanInput(name, options) { + const trueValue = ['true', 'True', 'TRUE']; + const falseValue = ['false', 'False', 'FALSE']; + const val = getInput(name, options); + if (trueValue.includes(val)) + return true; + if (falseValue.includes(val)) + return false; + throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${name}\n` + + `Support boolean input list: \`true | True | TRUE | false | False | FALSE\``); +} +exports.getBooleanInput = getBooleanInput; /** * Sets the value of an output. * @@ -104,7 +159,12 @@ exports.getInput = getInput; */ // eslint-disable-next-line @typescript-eslint/no-explicit-any function setOutput(name, value) { - command_1.issueCommand('set-output', { name }, value); + const filePath = process.env['GITHUB_OUTPUT'] || ''; + if (filePath) { + return file_command_1.issueFileCommand('OUTPUT', file_command_1.prepareKeyValueMessage(name, value)); + } + process.stdout.write(os.EOL); + command_1.issueCommand('set-output', { name }, utils_1.toCommandValue(value)); } exports.setOutput = setOutput; /** @@ -150,19 +210,30 @@ exports.debug = debug; /** * Adds an error issue * @param message error issue message. Errors will be converted to string via toString() + * @param properties optional properties to add to the annotation. */ -function error(message) { - command_1.issue('error', message instanceof Error ? message.toString() : message); +function error(message, properties = {}) { + command_1.issueCommand('error', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); } exports.error = error; /** - * Adds an warning issue + * Adds a warning issue * @param message warning issue message. Errors will be converted to string via toString() + * @param properties optional properties to add to the annotation. */ -function warning(message) { - command_1.issue('warning', message instanceof Error ? message.toString() : message); +function warning(message, properties = {}) { + command_1.issueCommand('warning', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); } exports.warning = warning; +/** + * Adds a notice issue + * @param message notice issue message. Errors will be converted to string via toString() + * @param properties optional properties to add to the annotation. + */ +function notice(message, properties = {}) { + command_1.issueCommand('notice', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); +} +exports.notice = notice; /** * Writes info to log with console.log. * @param message info message @@ -222,7 +293,11 @@ exports.group = group; */ // eslint-disable-next-line @typescript-eslint/no-explicit-any function saveState(name, value) { - command_1.issueCommand('save-state', { name }, value); + const filePath = process.env['GITHUB_STATE'] || ''; + if (filePath) { + return file_command_1.issueFileCommand('STATE', file_command_1.prepareKeyValueMessage(name, value)); + } + command_1.issueCommand('save-state', { name }, utils_1.toCommandValue(value)); } exports.saveState = saveState; /** @@ -235,4 +310,27 @@ function getState(name) { return process.env[`STATE_${name}`] || ''; } exports.getState = getState; +function getIDToken(aud) { + return __awaiter(this, void 0, void 0, function* () { + return yield oidc_utils_1.OidcClient.getIDToken(aud); + }); +} +exports.getIDToken = getIDToken; +/** + * Summary exports + */ +var summary_1 = require("./summary"); +Object.defineProperty(exports, "summary", { enumerable: true, get: function () { return summary_1.summary; } }); +/** + * @deprecated use core.summary + */ +var summary_2 = require("./summary"); +Object.defineProperty(exports, "markdownSummary", { enumerable: true, get: function () { return summary_2.markdownSummary; } }); +/** + * Path exports + */ +var path_utils_1 = require("./path-utils"); +Object.defineProperty(exports, "toPosixPath", { enumerable: true, get: function () { return path_utils_1.toPosixPath; } }); +Object.defineProperty(exports, "toWin32Path", { enumerable: true, get: function () { return path_utils_1.toWin32Path; } }); +Object.defineProperty(exports, "toPlatformPath", { enumerable: true, get: function () { return path_utils_1.toPlatformPath; } }); //# sourceMappingURL=core.js.map \ No newline at end of file diff --git a/node_modules/@actions/core/lib/core.js.map b/node_modules/@actions/core/lib/core.js.map index 7e7cbcc..99f7fd8 100644 --- a/node_modules/@actions/core/lib/core.js.map +++ b/node_modules/@actions/core/lib/core.js.map @@ -1 +1 @@ -{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@actions/core/lib/file-command.d.ts b/node_modules/@actions/core/lib/file-command.d.ts index ed408eb..2d1f2f4 100644 --- a/node_modules/@actions/core/lib/file-command.d.ts +++ b/node_modules/@actions/core/lib/file-command.d.ts @@ -1 +1,2 @@ -export declare function issueCommand(command: string, message: any): void; +export declare function issueFileCommand(command: string, message: any): void; +export declare function prepareKeyValueMessage(key: string, value: any): string; diff --git a/node_modules/@actions/core/lib/file-command.js b/node_modules/@actions/core/lib/file-command.js index 10783c0..2d0d738 100644 --- a/node_modules/@actions/core/lib/file-command.js +++ b/node_modules/@actions/core/lib/file-command.js @@ -1,19 +1,33 @@ "use strict"; // For internal use, subject to change. +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; - if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; - result["default"] = mod; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); +exports.prepareKeyValueMessage = exports.issueFileCommand = void 0; // We use any as a valid input type /* eslint-disable @typescript-eslint/no-explicit-any */ const fs = __importStar(require("fs")); const os = __importStar(require("os")); +const uuid_1 = require("uuid"); const utils_1 = require("./utils"); -function issueCommand(command, message) { +function issueFileCommand(command, message) { const filePath = process.env[`GITHUB_${command}`]; if (!filePath) { throw new Error(`Unable to find environment variable for file command ${command}`); @@ -25,5 +39,20 @@ function issueCommand(command, message) { encoding: 'utf8' }); } -exports.issueCommand = issueCommand; +exports.issueFileCommand = issueFileCommand; +function prepareKeyValueMessage(key, value) { + const delimiter = `ghadelimiter_${uuid_1.v4()}`; + const convertedValue = utils_1.toCommandValue(value); + // These should realistically never happen, but just in case someone finds a + // way to exploit uuid generation let's not allow keys or values that contain + // the delimiter. + if (key.includes(delimiter)) { + throw new Error(`Unexpected input: name should not contain the delimiter "${delimiter}"`); + } + if (convertedValue.includes(delimiter)) { + throw new Error(`Unexpected input: value should not contain the delimiter "${delimiter}"`); + } + return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}`; +} +exports.prepareKeyValueMessage = prepareKeyValueMessage; //# sourceMappingURL=file-command.js.map \ No newline at end of file diff --git a/node_modules/@actions/core/lib/file-command.js.map b/node_modules/@actions/core/lib/file-command.js.map index 45fd8c4..b1a9d54 100644 --- a/node_modules/@actions/core/lib/file-command.js.map +++ b/node_modules/@actions/core/lib/file-command.js.map @@ -1 +1 @@ -{"version":3,"file":"file-command.js","sourceRoot":"","sources":["../src/file-command.ts"],"names":[],"mappings":";AAAA,uCAAuC;;;;;;;;;AAEvC,mCAAmC;AACnC,uDAAuD;AAEvD,uCAAwB;AACxB,uCAAwB;AACxB,mCAAsC;AAEtC,SAAgB,YAAY,CAAC,OAAe,EAAE,OAAY;IACxD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,CAAC,CAAA;IACjD,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CACb,wDAAwD,OAAO,EAAE,CAClE,CAAA;KACF;IACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAA;KACrD;IAED,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,sBAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;QACjE,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAA;AACJ,CAAC;AAdD,oCAcC"} \ No newline at end of file +{"version":3,"file":"file-command.js","sourceRoot":"","sources":["../src/file-command.ts"],"names":[],"mappings":";AAAA,uCAAuC;;;;;;;;;;;;;;;;;;;;;;AAEvC,mCAAmC;AACnC,uDAAuD;AAEvD,uCAAwB;AACxB,uCAAwB;AACxB,+BAAiC;AACjC,mCAAsC;AAEtC,SAAgB,gBAAgB,CAAC,OAAe,EAAE,OAAY;IAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,CAAC,CAAA;IACjD,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CACb,wDAAwD,OAAO,EAAE,CAClE,CAAA;KACF;IACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAA;KACrD;IAED,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,sBAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;QACjE,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAA;AACJ,CAAC;AAdD,4CAcC;AAED,SAAgB,sBAAsB,CAAC,GAAW,EAAE,KAAU;IAC5D,MAAM,SAAS,GAAG,gBAAgB,SAAM,EAAE,EAAE,CAAA;IAC5C,MAAM,cAAc,GAAG,sBAAc,CAAC,KAAK,CAAC,CAAA;IAE5C,4EAA4E;IAC5E,6EAA6E;IAC7E,iBAAiB;IACjB,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QAC3B,MAAM,IAAI,KAAK,CACb,4DAA4D,SAAS,GAAG,CACzE,CAAA;KACF;IAED,IAAI,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QACtC,MAAM,IAAI,KAAK,CACb,6DAA6D,SAAS,GAAG,CAC1E,CAAA;KACF;IAED,OAAO,GAAG,GAAG,KAAK,SAAS,GAAG,EAAE,CAAC,GAAG,GAAG,cAAc,GAAG,EAAE,CAAC,GAAG,GAAG,SAAS,EAAE,CAAA;AAC9E,CAAC;AApBD,wDAoBC"} \ No newline at end of file diff --git a/node_modules/@actions/core/lib/oidc-utils.d.ts b/node_modules/@actions/core/lib/oidc-utils.d.ts new file mode 100644 index 0000000..657c7f4 --- /dev/null +++ b/node_modules/@actions/core/lib/oidc-utils.d.ts @@ -0,0 +1,7 @@ +export declare class OidcClient { + private static createHttpClient; + private static getRequestToken; + private static getIDTokenUrl; + private static getCall; + static getIDToken(audience?: string): Promise; +} diff --git a/node_modules/@actions/core/lib/oidc-utils.js b/node_modules/@actions/core/lib/oidc-utils.js new file mode 100644 index 0000000..f701277 --- /dev/null +++ b/node_modules/@actions/core/lib/oidc-utils.js @@ -0,0 +1,77 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.OidcClient = void 0; +const http_client_1 = require("@actions/http-client"); +const auth_1 = require("@actions/http-client/lib/auth"); +const core_1 = require("./core"); +class OidcClient { + static createHttpClient(allowRetry = true, maxRetry = 10) { + const requestOptions = { + allowRetries: allowRetry, + maxRetries: maxRetry + }; + return new http_client_1.HttpClient('actions/oidc-client', [new auth_1.BearerCredentialHandler(OidcClient.getRequestToken())], requestOptions); + } + static getRequestToken() { + const token = process.env['ACTIONS_ID_TOKEN_REQUEST_TOKEN']; + if (!token) { + throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable'); + } + return token; + } + static getIDTokenUrl() { + const runtimeUrl = process.env['ACTIONS_ID_TOKEN_REQUEST_URL']; + if (!runtimeUrl) { + throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable'); + } + return runtimeUrl; + } + static getCall(id_token_url) { + var _a; + return __awaiter(this, void 0, void 0, function* () { + const httpclient = OidcClient.createHttpClient(); + const res = yield httpclient + .getJson(id_token_url) + .catch(error => { + throw new Error(`Failed to get ID Token. \n + Error Code : ${error.statusCode}\n + Error Message: ${error.result.message}`); + }); + const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value; + if (!id_token) { + throw new Error('Response json body do not have ID Token field'); + } + return id_token; + }); + } + static getIDToken(audience) { + return __awaiter(this, void 0, void 0, function* () { + try { + // New ID Token is requested from action service + let id_token_url = OidcClient.getIDTokenUrl(); + if (audience) { + const encodedAudience = encodeURIComponent(audience); + id_token_url = `${id_token_url}&audience=${encodedAudience}`; + } + core_1.debug(`ID token url is ${id_token_url}`); + const id_token = yield OidcClient.getCall(id_token_url); + core_1.setSecret(id_token); + return id_token; + } + catch (error) { + throw new Error(`Error message: ${error.message}`); + } + }); + } +} +exports.OidcClient = OidcClient; +//# sourceMappingURL=oidc-utils.js.map \ No newline at end of file diff --git a/node_modules/@actions/core/lib/oidc-utils.js.map b/node_modules/@actions/core/lib/oidc-utils.js.map new file mode 100644 index 0000000..284fa1d --- /dev/null +++ b/node_modules/@actions/core/lib/oidc-utils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"oidc-utils.js","sourceRoot":"","sources":["../src/oidc-utils.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,sDAA+C;AAC/C,wDAAqE;AACrE,iCAAuC;AAKvC,MAAa,UAAU;IACb,MAAM,CAAC,gBAAgB,CAC7B,UAAU,GAAG,IAAI,EACjB,QAAQ,GAAG,EAAE;QAEb,MAAM,cAAc,GAAmB;YACrC,YAAY,EAAE,UAAU;YACxB,UAAU,EAAE,QAAQ;SACrB,CAAA;QAED,OAAO,IAAI,wBAAU,CACnB,qBAAqB,EACrB,CAAC,IAAI,8BAAuB,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC,EAC3D,cAAc,CACf,CAAA;IACH,CAAC;IAEO,MAAM,CAAC,eAAe;QAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAA;QAC3D,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAA;SACF;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAEO,MAAM,CAAC,aAAa;QAC1B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAA;QAC9D,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAA;SAC3E;QACD,OAAO,UAAU,CAAA;IACnB,CAAC;IAEO,MAAM,CAAO,OAAO,CAAC,YAAoB;;;YAC/C,MAAM,UAAU,GAAG,UAAU,CAAC,gBAAgB,EAAE,CAAA;YAEhD,MAAM,GAAG,GAAG,MAAM,UAAU;iBACzB,OAAO,CAAgB,YAAY,CAAC;iBACpC,KAAK,CAAC,KAAK,CAAC,EAAE;gBACb,MAAM,IAAI,KAAK,CACb;uBACa,KAAK,CAAC,UAAU;yBACd,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CACtC,CAAA;YACH,CAAC,CAAC,CAAA;YAEJ,MAAM,QAAQ,SAAG,GAAG,CAAC,MAAM,0CAAE,KAAK,CAAA;YAClC,IAAI,CAAC,QAAQ,EAAE;gBACb,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;aACjE;YACD,OAAO,QAAQ,CAAA;;KAChB;IAED,MAAM,CAAO,UAAU,CAAC,QAAiB;;YACvC,IAAI;gBACF,gDAAgD;gBAChD,IAAI,YAAY,GAAW,UAAU,CAAC,aAAa,EAAE,CAAA;gBACrD,IAAI,QAAQ,EAAE;oBACZ,MAAM,eAAe,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAA;oBACpD,YAAY,GAAG,GAAG,YAAY,aAAa,eAAe,EAAE,CAAA;iBAC7D;gBAED,YAAK,CAAC,mBAAmB,YAAY,EAAE,CAAC,CAAA;gBAExC,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;gBACvD,gBAAS,CAAC,QAAQ,CAAC,CAAA;gBACnB,OAAO,QAAQ,CAAA;aAChB;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;aACnD;QACH,CAAC;KAAA;CACF;AAzED,gCAyEC"} \ No newline at end of file diff --git a/node_modules/@actions/core/lib/path-utils.d.ts b/node_modules/@actions/core/lib/path-utils.d.ts new file mode 100644 index 0000000..1fee9f3 --- /dev/null +++ b/node_modules/@actions/core/lib/path-utils.d.ts @@ -0,0 +1,25 @@ +/** + * toPosixPath converts the given path to the posix form. On Windows, \\ will be + * replaced with /. + * + * @param pth. Path to transform. + * @return string Posix path. + */ +export declare function toPosixPath(pth: string): string; +/** + * toWin32Path converts the given path to the win32 form. On Linux, / will be + * replaced with \\. + * + * @param pth. Path to transform. + * @return string Win32 path. + */ +export declare function toWin32Path(pth: string): string; +/** + * toPlatformPath converts the given path to a platform-specific path. It does + * this by replacing instances of / and \ with the platform-specific path + * separator. + * + * @param pth The path to platformize. + * @return string The platform-specific path. + */ +export declare function toPlatformPath(pth: string): string; diff --git a/node_modules/@actions/core/lib/path-utils.js b/node_modules/@actions/core/lib/path-utils.js new file mode 100644 index 0000000..7251c82 --- /dev/null +++ b/node_modules/@actions/core/lib/path-utils.js @@ -0,0 +1,58 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.toPlatformPath = exports.toWin32Path = exports.toPosixPath = void 0; +const path = __importStar(require("path")); +/** + * toPosixPath converts the given path to the posix form. On Windows, \\ will be + * replaced with /. + * + * @param pth. Path to transform. + * @return string Posix path. + */ +function toPosixPath(pth) { + return pth.replace(/[\\]/g, '/'); +} +exports.toPosixPath = toPosixPath; +/** + * toWin32Path converts the given path to the win32 form. On Linux, / will be + * replaced with \\. + * + * @param pth. Path to transform. + * @return string Win32 path. + */ +function toWin32Path(pth) { + return pth.replace(/[/]/g, '\\'); +} +exports.toWin32Path = toWin32Path; +/** + * toPlatformPath converts the given path to a platform-specific path. It does + * this by replacing instances of / and \ with the platform-specific path + * separator. + * + * @param pth The path to platformize. + * @return string The platform-specific path. + */ +function toPlatformPath(pth) { + return pth.replace(/[/\\]/g, path.sep); +} +exports.toPlatformPath = toPlatformPath; +//# sourceMappingURL=path-utils.js.map \ No newline at end of file diff --git a/node_modules/@actions/core/lib/path-utils.js.map b/node_modules/@actions/core/lib/path-utils.js.map new file mode 100644 index 0000000..7ab1cac --- /dev/null +++ b/node_modules/@actions/core/lib/path-utils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"path-utils.js","sourceRoot":"","sources":["../src/path-utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA4B;AAE5B;;;;;;GAMG;AACH,SAAgB,WAAW,CAAC,GAAW;IACrC,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;AAClC,CAAC;AAFD,kCAEC;AAED;;;;;;GAMG;AACH,SAAgB,WAAW,CAAC,GAAW;IACrC,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;AAClC,CAAC;AAFD,kCAEC;AAED;;;;;;;GAOG;AACH,SAAgB,cAAc,CAAC,GAAW;IACxC,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;AACxC,CAAC;AAFD,wCAEC"} \ No newline at end of file diff --git a/node_modules/@actions/core/lib/summary.d.ts b/node_modules/@actions/core/lib/summary.d.ts new file mode 100644 index 0000000..bb79255 --- /dev/null +++ b/node_modules/@actions/core/lib/summary.d.ts @@ -0,0 +1,202 @@ +export declare const SUMMARY_ENV_VAR = "GITHUB_STEP_SUMMARY"; +export declare const SUMMARY_DOCS_URL = "https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary"; +export declare type SummaryTableRow = (SummaryTableCell | string)[]; +export interface SummaryTableCell { + /** + * Cell content + */ + data: string; + /** + * Render cell as header + * (optional) default: false + */ + header?: boolean; + /** + * Number of columns the cell extends + * (optional) default: '1' + */ + colspan?: string; + /** + * Number of rows the cell extends + * (optional) default: '1' + */ + rowspan?: string; +} +export interface SummaryImageOptions { + /** + * The width of the image in pixels. Must be an integer without a unit. + * (optional) + */ + width?: string; + /** + * The height of the image in pixels. Must be an integer without a unit. + * (optional) + */ + height?: string; +} +export interface SummaryWriteOptions { + /** + * Replace all existing content in summary file with buffer contents + * (optional) default: false + */ + overwrite?: boolean; +} +declare class Summary { + private _buffer; + private _filePath?; + constructor(); + /** + * Finds the summary file path from the environment, rejects if env var is not found or file does not exist + * Also checks r/w permissions. + * + * @returns step summary file path + */ + private filePath; + /** + * Wraps content in an HTML tag, adding any HTML attributes + * + * @param {string} tag HTML tag to wrap + * @param {string | null} content content within the tag + * @param {[attribute: string]: string} attrs key-value list of HTML attributes to add + * + * @returns {string} content wrapped in HTML element + */ + private wrap; + /** + * Writes text in the buffer to the summary buffer file and empties buffer. Will append by default. + * + * @param {SummaryWriteOptions} [options] (optional) options for write operation + * + * @returns {Promise} summary instance + */ + write(options?: SummaryWriteOptions): Promise; + /** + * Clears the summary buffer and wipes the summary file + * + * @returns {Summary} summary instance + */ + clear(): Promise; + /** + * Returns the current summary buffer as a string + * + * @returns {string} string of summary buffer + */ + stringify(): string; + /** + * If the summary buffer is empty + * + * @returns {boolen} true if the buffer is empty + */ + isEmptyBuffer(): boolean; + /** + * Resets the summary buffer without writing to summary file + * + * @returns {Summary} summary instance + */ + emptyBuffer(): Summary; + /** + * Adds raw text to the summary buffer + * + * @param {string} text content to add + * @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false) + * + * @returns {Summary} summary instance + */ + addRaw(text: string, addEOL?: boolean): Summary; + /** + * Adds the operating system-specific end-of-line marker to the buffer + * + * @returns {Summary} summary instance + */ + addEOL(): Summary; + /** + * Adds an HTML codeblock to the summary buffer + * + * @param {string} code content to render within fenced code block + * @param {string} lang (optional) language to syntax highlight code + * + * @returns {Summary} summary instance + */ + addCodeBlock(code: string, lang?: string): Summary; + /** + * Adds an HTML list to the summary buffer + * + * @param {string[]} items list of items to render + * @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false) + * + * @returns {Summary} summary instance + */ + addList(items: string[], ordered?: boolean): Summary; + /** + * Adds an HTML table to the summary buffer + * + * @param {SummaryTableCell[]} rows table rows + * + * @returns {Summary} summary instance + */ + addTable(rows: SummaryTableRow[]): Summary; + /** + * Adds a collapsable HTML details element to the summary buffer + * + * @param {string} label text for the closed state + * @param {string} content collapsable content + * + * @returns {Summary} summary instance + */ + addDetails(label: string, content: string): Summary; + /** + * Adds an HTML image tag to the summary buffer + * + * @param {string} src path to the image you to embed + * @param {string} alt text description of the image + * @param {SummaryImageOptions} options (optional) addition image attributes + * + * @returns {Summary} summary instance + */ + addImage(src: string, alt: string, options?: SummaryImageOptions): Summary; + /** + * Adds an HTML section heading element + * + * @param {string} text heading text + * @param {number | string} [level=1] (optional) the heading level, default: 1 + * + * @returns {Summary} summary instance + */ + addHeading(text: string, level?: number | string): Summary; + /** + * Adds an HTML thematic break (
) to the summary buffer + * + * @returns {Summary} summary instance + */ + addSeparator(): Summary; + /** + * Adds an HTML line break (
) to the summary buffer + * + * @returns {Summary} summary instance + */ + addBreak(): Summary; + /** + * Adds an HTML blockquote to the summary buffer + * + * @param {string} text quote text + * @param {string} cite (optional) citation url + * + * @returns {Summary} summary instance + */ + addQuote(text: string, cite?: string): Summary; + /** + * Adds an HTML anchor tag to the summary buffer + * + * @param {string} text link text/content + * @param {string} href hyperlink + * + * @returns {Summary} summary instance + */ + addLink(text: string, href: string): Summary; +} +/** + * @deprecated use `core.summary` + */ +export declare const markdownSummary: Summary; +export declare const summary: Summary; +export {}; diff --git a/node_modules/@actions/core/lib/summary.js b/node_modules/@actions/core/lib/summary.js new file mode 100644 index 0000000..04a335b --- /dev/null +++ b/node_modules/@actions/core/lib/summary.js @@ -0,0 +1,283 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.summary = exports.markdownSummary = exports.SUMMARY_DOCS_URL = exports.SUMMARY_ENV_VAR = void 0; +const os_1 = require("os"); +const fs_1 = require("fs"); +const { access, appendFile, writeFile } = fs_1.promises; +exports.SUMMARY_ENV_VAR = 'GITHUB_STEP_SUMMARY'; +exports.SUMMARY_DOCS_URL = 'https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary'; +class Summary { + constructor() { + this._buffer = ''; + } + /** + * Finds the summary file path from the environment, rejects if env var is not found or file does not exist + * Also checks r/w permissions. + * + * @returns step summary file path + */ + filePath() { + return __awaiter(this, void 0, void 0, function* () { + if (this._filePath) { + return this._filePath; + } + const pathFromEnv = process.env[exports.SUMMARY_ENV_VAR]; + if (!pathFromEnv) { + throw new Error(`Unable to find environment variable for $${exports.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`); + } + try { + yield access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK); + } + catch (_a) { + throw new Error(`Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.`); + } + this._filePath = pathFromEnv; + return this._filePath; + }); + } + /** + * Wraps content in an HTML tag, adding any HTML attributes + * + * @param {string} tag HTML tag to wrap + * @param {string | null} content content within the tag + * @param {[attribute: string]: string} attrs key-value list of HTML attributes to add + * + * @returns {string} content wrapped in HTML element + */ + wrap(tag, content, attrs = {}) { + const htmlAttrs = Object.entries(attrs) + .map(([key, value]) => ` ${key}="${value}"`) + .join(''); + if (!content) { + return `<${tag}${htmlAttrs}>`; + } + return `<${tag}${htmlAttrs}>${content}`; + } + /** + * Writes text in the buffer to the summary buffer file and empties buffer. Will append by default. + * + * @param {SummaryWriteOptions} [options] (optional) options for write operation + * + * @returns {Promise} summary instance + */ + write(options) { + return __awaiter(this, void 0, void 0, function* () { + const overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite); + const filePath = yield this.filePath(); + const writeFunc = overwrite ? writeFile : appendFile; + yield writeFunc(filePath, this._buffer, { encoding: 'utf8' }); + return this.emptyBuffer(); + }); + } + /** + * Clears the summary buffer and wipes the summary file + * + * @returns {Summary} summary instance + */ + clear() { + return __awaiter(this, void 0, void 0, function* () { + return this.emptyBuffer().write({ overwrite: true }); + }); + } + /** + * Returns the current summary buffer as a string + * + * @returns {string} string of summary buffer + */ + stringify() { + return this._buffer; + } + /** + * If the summary buffer is empty + * + * @returns {boolen} true if the buffer is empty + */ + isEmptyBuffer() { + return this._buffer.length === 0; + } + /** + * Resets the summary buffer without writing to summary file + * + * @returns {Summary} summary instance + */ + emptyBuffer() { + this._buffer = ''; + return this; + } + /** + * Adds raw text to the summary buffer + * + * @param {string} text content to add + * @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false) + * + * @returns {Summary} summary instance + */ + addRaw(text, addEOL = false) { + this._buffer += text; + return addEOL ? this.addEOL() : this; + } + /** + * Adds the operating system-specific end-of-line marker to the buffer + * + * @returns {Summary} summary instance + */ + addEOL() { + return this.addRaw(os_1.EOL); + } + /** + * Adds an HTML codeblock to the summary buffer + * + * @param {string} code content to render within fenced code block + * @param {string} lang (optional) language to syntax highlight code + * + * @returns {Summary} summary instance + */ + addCodeBlock(code, lang) { + const attrs = Object.assign({}, (lang && { lang })); + const element = this.wrap('pre', this.wrap('code', code), attrs); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML list to the summary buffer + * + * @param {string[]} items list of items to render + * @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false) + * + * @returns {Summary} summary instance + */ + addList(items, ordered = false) { + const tag = ordered ? 'ol' : 'ul'; + const listItems = items.map(item => this.wrap('li', item)).join(''); + const element = this.wrap(tag, listItems); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML table to the summary buffer + * + * @param {SummaryTableCell[]} rows table rows + * + * @returns {Summary} summary instance + */ + addTable(rows) { + const tableBody = rows + .map(row => { + const cells = row + .map(cell => { + if (typeof cell === 'string') { + return this.wrap('td', cell); + } + const { header, data, colspan, rowspan } = cell; + const tag = header ? 'th' : 'td'; + const attrs = Object.assign(Object.assign({}, (colspan && { colspan })), (rowspan && { rowspan })); + return this.wrap(tag, data, attrs); + }) + .join(''); + return this.wrap('tr', cells); + }) + .join(''); + const element = this.wrap('table', tableBody); + return this.addRaw(element).addEOL(); + } + /** + * Adds a collapsable HTML details element to the summary buffer + * + * @param {string} label text for the closed state + * @param {string} content collapsable content + * + * @returns {Summary} summary instance + */ + addDetails(label, content) { + const element = this.wrap('details', this.wrap('summary', label) + content); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML image tag to the summary buffer + * + * @param {string} src path to the image you to embed + * @param {string} alt text description of the image + * @param {SummaryImageOptions} options (optional) addition image attributes + * + * @returns {Summary} summary instance + */ + addImage(src, alt, options) { + const { width, height } = options || {}; + const attrs = Object.assign(Object.assign({}, (width && { width })), (height && { height })); + const element = this.wrap('img', null, Object.assign({ src, alt }, attrs)); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML section heading element + * + * @param {string} text heading text + * @param {number | string} [level=1] (optional) the heading level, default: 1 + * + * @returns {Summary} summary instance + */ + addHeading(text, level) { + const tag = `h${level}`; + const allowedTag = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(tag) + ? tag + : 'h1'; + const element = this.wrap(allowedTag, text); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML thematic break (
) to the summary buffer + * + * @returns {Summary} summary instance + */ + addSeparator() { + const element = this.wrap('hr', null); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML line break (
) to the summary buffer + * + * @returns {Summary} summary instance + */ + addBreak() { + const element = this.wrap('br', null); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML blockquote to the summary buffer + * + * @param {string} text quote text + * @param {string} cite (optional) citation url + * + * @returns {Summary} summary instance + */ + addQuote(text, cite) { + const attrs = Object.assign({}, (cite && { cite })); + const element = this.wrap('blockquote', text, attrs); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML anchor tag to the summary buffer + * + * @param {string} text link text/content + * @param {string} href hyperlink + * + * @returns {Summary} summary instance + */ + addLink(text, href) { + const element = this.wrap('a', text, { href }); + return this.addRaw(element).addEOL(); + } +} +const _summary = new Summary(); +/** + * @deprecated use `core.summary` + */ +exports.markdownSummary = _summary; +exports.summary = _summary; +//# sourceMappingURL=summary.js.map \ No newline at end of file diff --git a/node_modules/@actions/core/lib/summary.js.map b/node_modules/@actions/core/lib/summary.js.map new file mode 100644 index 0000000..d598f26 --- /dev/null +++ b/node_modules/@actions/core/lib/summary.js.map @@ -0,0 +1 @@ +{"version":3,"file":"summary.js","sourceRoot":"","sources":["../src/summary.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@actions/core/lib/utils.d.ts b/node_modules/@actions/core/lib/utils.d.ts index b39c9be..3b9e28d 100644 --- a/node_modules/@actions/core/lib/utils.d.ts +++ b/node_modules/@actions/core/lib/utils.d.ts @@ -1,5 +1,14 @@ +import { AnnotationProperties } from './core'; +import { CommandProperties } from './command'; /** * Sanitizes an input into a string so it can be passed into issueCommand safely * @param input input to sanitize into a string */ export declare function toCommandValue(input: any): string; +/** + * + * @param annotationProperties + * @returns The command properties to send with the actual annotation command + * See IssueCommandProperties: https://github.com/actions/runner/blob/main/src/Runner.Worker/ActionCommandManager.cs#L646 + */ +export declare function toCommandProperties(annotationProperties: AnnotationProperties): CommandProperties; diff --git a/node_modules/@actions/core/lib/utils.js b/node_modules/@actions/core/lib/utils.js index 97cea33..9b5ca44 100644 --- a/node_modules/@actions/core/lib/utils.js +++ b/node_modules/@actions/core/lib/utils.js @@ -2,6 +2,7 @@ // We use any as a valid input type /* eslint-disable @typescript-eslint/no-explicit-any */ Object.defineProperty(exports, "__esModule", { value: true }); +exports.toCommandProperties = exports.toCommandValue = void 0; /** * Sanitizes an input into a string so it can be passed into issueCommand safely * @param input input to sanitize into a string @@ -16,4 +17,24 @@ function toCommandValue(input) { return JSON.stringify(input); } exports.toCommandValue = toCommandValue; +/** + * + * @param annotationProperties + * @returns The command properties to send with the actual annotation command + * See IssueCommandProperties: https://github.com/actions/runner/blob/main/src/Runner.Worker/ActionCommandManager.cs#L646 + */ +function toCommandProperties(annotationProperties) { + if (!Object.keys(annotationProperties).length) { + return {}; + } + return { + title: annotationProperties.title, + file: annotationProperties.file, + line: annotationProperties.startLine, + endLine: annotationProperties.endLine, + col: annotationProperties.startColumn, + endColumn: annotationProperties.endColumn + }; +} +exports.toCommandProperties = toCommandProperties; //# sourceMappingURL=utils.js.map \ No newline at end of file diff --git a/node_modules/@actions/core/lib/utils.js.map b/node_modules/@actions/core/lib/utils.js.map index ce43f03..8211bb7 100644 --- a/node_modules/@actions/core/lib/utils.js.map +++ b/node_modules/@actions/core/lib/utils.js.map @@ -1 +1 @@ -{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";AAAA,mCAAmC;AACnC,uDAAuD;;AAEvD;;;GAGG;AACH,SAAgB,cAAc,CAAC,KAAU;IACvC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;QACzC,OAAO,EAAE,CAAA;KACV;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,MAAM,EAAE;QAC/D,OAAO,KAAe,CAAA;KACvB;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;AAC9B,CAAC;AAPD,wCAOC"} \ No newline at end of file +{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";AAAA,mCAAmC;AACnC,uDAAuD;;;AAKvD;;;GAGG;AACH,SAAgB,cAAc,CAAC,KAAU;IACvC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;QACzC,OAAO,EAAE,CAAA;KACV;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,MAAM,EAAE;QAC/D,OAAO,KAAe,CAAA;KACvB;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;AAC9B,CAAC;AAPD,wCAOC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CACjC,oBAA0C;IAE1C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE;QAC7C,OAAO,EAAE,CAAA;KACV;IAED,OAAO;QACL,KAAK,EAAE,oBAAoB,CAAC,KAAK;QACjC,IAAI,EAAE,oBAAoB,CAAC,IAAI;QAC/B,IAAI,EAAE,oBAAoB,CAAC,SAAS;QACpC,OAAO,EAAE,oBAAoB,CAAC,OAAO;QACrC,GAAG,EAAE,oBAAoB,CAAC,WAAW;QACrC,SAAS,EAAE,oBAAoB,CAAC,SAAS;KAC1C,CAAA;AACH,CAAC;AAfD,kDAeC"} \ No newline at end of file diff --git a/node_modules/@actions/core/package.json b/node_modules/@actions/core/package.json index ffcced4..1f3824d 100644 --- a/node_modules/@actions/core/package.json +++ b/node_modules/@actions/core/package.json @@ -1,6 +1,6 @@ { "name": "@actions/core", - "version": "1.2.6", + "version": "1.10.0", "description": "Actions core lib", "keywords": [ "github", @@ -35,7 +35,12 @@ "bugs": { "url": "https://github.com/actions/toolkit/issues" }, + "dependencies": { + "@actions/http-client": "^2.0.1", + "uuid": "^8.3.2" + }, "devDependencies": { - "@types/node": "^12.0.2" + "@types/node": "^12.0.2", + "@types/uuid": "^8.3.4" } } diff --git a/node_modules/@actions/github/node_modules/@actions/http-client/LICENSE b/node_modules/@actions/github/node_modules/@actions/http-client/LICENSE new file mode 100644 index 0000000..5823a51 --- /dev/null +++ b/node_modules/@actions/github/node_modules/@actions/http-client/LICENSE @@ -0,0 +1,21 @@ +Actions Http Client for Node.js + +Copyright (c) GitHub, Inc. + +All rights reserved. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and +associated documentation files (the "Software"), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/@actions/github/node_modules/@actions/http-client/README.md b/node_modules/@actions/github/node_modules/@actions/http-client/README.md new file mode 100644 index 0000000..be61eb3 --- /dev/null +++ b/node_modules/@actions/github/node_modules/@actions/http-client/README.md @@ -0,0 +1,79 @@ + +

+ +

+ +# Actions Http-Client + +[![Http Status](https://github.com/actions/http-client/workflows/http-tests/badge.svg)](https://github.com/actions/http-client/actions) + +A lightweight HTTP client optimized for use with actions, TypeScript with generics and async await. + +## Features + + - HTTP client with TypeScript generics and async/await/Promises + - Typings included so no need to acquire separately (great for intellisense and no versioning drift) + - [Proxy support](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/about-self-hosted-runners#using-a-proxy-server-with-self-hosted-runners) just works with actions and the runner + - Targets ES2019 (runner runs actions with node 12+). Only supported on node 12+. + - Basic, Bearer and PAT Support out of the box. Extensible handlers for others. + - Redirects supported + +Features and releases [here](./RELEASES.md) + +## Install + +``` +npm install @actions/http-client --save +``` + +## Samples + +See the [HTTP](./__tests__) tests for detailed examples. + +## Errors + +### HTTP + +The HTTP client does not throw unless truly exceptional. + +* A request that successfully executes resulting in a 404, 500 etc... will return a response object with a status code and a body. +* Redirects (3xx) will be followed by default. + +See [HTTP tests](./__tests__) for detailed examples. + +## Debugging + +To enable detailed console logging of all HTTP requests and responses, set the NODE_DEBUG environment varible: + +``` +export NODE_DEBUG=http +``` + +## Node support + +The http-client is built using the latest LTS version of Node 12. It may work on previous node LTS versions but it's tested and officially supported on Node12+. + +## Support and Versioning + +We follow semver and will hold compatibility between major versions and increment the minor version with new features and capabilities (while holding compat). + +## Contributing + +We welcome PRs. Please create an issue and if applicable, a design before proceeding with code. + +once: + +```bash +$ npm install +``` + +To build: + +```bash +$ npm run build +``` + +To run all tests: +```bash +$ npm test +``` diff --git a/node_modules/@actions/http-client/RELEASES.md b/node_modules/@actions/github/node_modules/@actions/http-client/RELEASES.md similarity index 85% rename from node_modules/@actions/http-client/RELEASES.md rename to node_modules/@actions/github/node_modules/@actions/http-client/RELEASES.md index 245477d..935178a 100644 --- a/node_modules/@actions/http-client/RELEASES.md +++ b/node_modules/@actions/github/node_modules/@actions/http-client/RELEASES.md @@ -1,5 +1,9 @@ ## Releases +## 1.0.10 + +Contains a bug fix where proxy is defined without a user and password. see [PR here](https://github.com/actions/http-client/pull/42) + ## 1.0.9 Throw HttpClientError instead of a generic Error from the \Json() helper methods when the server responds with a non-successful status code. diff --git a/node_modules/@actions/http-client/actions.png b/node_modules/@actions/github/node_modules/@actions/http-client/actions.png similarity index 100% rename from node_modules/@actions/http-client/actions.png rename to node_modules/@actions/github/node_modules/@actions/http-client/actions.png diff --git a/node_modules/@actions/http-client/auth.d.ts b/node_modules/@actions/github/node_modules/@actions/http-client/auth.d.ts similarity index 100% rename from node_modules/@actions/http-client/auth.d.ts rename to node_modules/@actions/github/node_modules/@actions/http-client/auth.d.ts diff --git a/node_modules/@actions/http-client/auth.js b/node_modules/@actions/github/node_modules/@actions/http-client/auth.js similarity index 100% rename from node_modules/@actions/http-client/auth.js rename to node_modules/@actions/github/node_modules/@actions/http-client/auth.js diff --git a/node_modules/@actions/http-client/index.d.ts b/node_modules/@actions/github/node_modules/@actions/http-client/index.d.ts similarity index 100% rename from node_modules/@actions/http-client/index.d.ts rename to node_modules/@actions/github/node_modules/@actions/http-client/index.d.ts diff --git a/node_modules/@actions/http-client/index.js b/node_modules/@actions/github/node_modules/@actions/http-client/index.js similarity index 99% rename from node_modules/@actions/http-client/index.js rename to node_modules/@actions/github/node_modules/@actions/http-client/index.js index 5c54cf8..43b2b10 100644 --- a/node_modules/@actions/http-client/index.js +++ b/node_modules/@actions/github/node_modules/@actions/http-client/index.js @@ -427,7 +427,9 @@ class HttpClient { maxSockets: maxSockets, keepAlive: this._keepAlive, proxy: { - proxyAuth: `${proxyUrl.username}:${proxyUrl.password}`, + ...((proxyUrl.username || proxyUrl.password) && { + proxyAuth: `${proxyUrl.username}:${proxyUrl.password}` + }), host: proxyUrl.hostname, port: proxyUrl.port } diff --git a/node_modules/@actions/http-client/interfaces.d.ts b/node_modules/@actions/github/node_modules/@actions/http-client/interfaces.d.ts similarity index 100% rename from node_modules/@actions/http-client/interfaces.d.ts rename to node_modules/@actions/github/node_modules/@actions/http-client/interfaces.d.ts diff --git a/node_modules/@actions/http-client/interfaces.js b/node_modules/@actions/github/node_modules/@actions/http-client/interfaces.js similarity index 100% rename from node_modules/@actions/http-client/interfaces.js rename to node_modules/@actions/github/node_modules/@actions/http-client/interfaces.js diff --git a/node_modules/@actions/github/node_modules/@actions/http-client/package.json b/node_modules/@actions/github/node_modules/@actions/http-client/package.json new file mode 100644 index 0000000..0c99fd4 --- /dev/null +++ b/node_modules/@actions/github/node_modules/@actions/http-client/package.json @@ -0,0 +1,39 @@ +{ + "name": "@actions/http-client", + "version": "1.0.11", + "description": "Actions Http Client", + "main": "index.js", + "scripts": { + "build": "rm -Rf ./_out && tsc && cp package*.json ./_out && cp *.md ./_out && cp LICENSE ./_out && cp actions.png ./_out", + "test": "jest", + "format": "prettier --write *.ts && prettier --write **/*.ts", + "format-check": "prettier --check *.ts && prettier --check **/*.ts", + "audit-check": "npm audit --audit-level=moderate" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/actions/http-client.git" + }, + "keywords": [ + "Actions", + "Http" + ], + "author": "GitHub, Inc.", + "license": "MIT", + "bugs": { + "url": "https://github.com/actions/http-client/issues" + }, + "homepage": "https://github.com/actions/http-client#readme", + "devDependencies": { + "@types/jest": "^25.1.4", + "@types/node": "^12.12.31", + "jest": "^25.1.0", + "prettier": "^2.0.4", + "proxy": "^1.0.1", + "ts-jest": "^25.2.1", + "typescript": "^3.8.3" + }, + "dependencies": { + "tunnel": "0.0.6" + } +} diff --git a/node_modules/@actions/http-client/proxy.d.ts b/node_modules/@actions/github/node_modules/@actions/http-client/proxy.d.ts similarity index 100% rename from node_modules/@actions/http-client/proxy.d.ts rename to node_modules/@actions/github/node_modules/@actions/http-client/proxy.d.ts diff --git a/node_modules/@actions/http-client/proxy.js b/node_modules/@actions/github/node_modules/@actions/http-client/proxy.js similarity index 100% rename from node_modules/@actions/http-client/proxy.js rename to node_modules/@actions/github/node_modules/@actions/http-client/proxy.js diff --git a/node_modules/@actions/http-client/README.md b/node_modules/@actions/http-client/README.md index be61eb3..7e06ade 100644 --- a/node_modules/@actions/http-client/README.md +++ b/node_modules/@actions/http-client/README.md @@ -1,18 +1,11 @@ +# `@actions/http-client` -

- -

- -# Actions Http-Client - -[![Http Status](https://github.com/actions/http-client/workflows/http-tests/badge.svg)](https://github.com/actions/http-client/actions) - -A lightweight HTTP client optimized for use with actions, TypeScript with generics and async await. +A lightweight HTTP client optimized for building actions. ## Features - HTTP client with TypeScript generics and async/await/Promises - - Typings included so no need to acquire separately (great for intellisense and no versioning drift) + - Typings included! - [Proxy support](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/about-self-hosted-runners#using-a-proxy-server-with-self-hosted-runners) just works with actions and the runner - Targets ES2019 (runner runs actions with node 12+). Only supported on node 12+. - Basic, Bearer and PAT Support out of the box. Extensible handlers for others. @@ -28,7 +21,7 @@ npm install @actions/http-client --save ## Samples -See the [HTTP](./__tests__) tests for detailed examples. +See the [tests](./__tests__) for detailed examples. ## Errors @@ -39,13 +32,13 @@ The HTTP client does not throw unless truly exceptional. * A request that successfully executes resulting in a 404, 500 etc... will return a response object with a status code and a body. * Redirects (3xx) will be followed by default. -See [HTTP tests](./__tests__) for detailed examples. +See the [tests](./__tests__) for detailed examples. ## Debugging To enable detailed console logging of all HTTP requests and responses, set the NODE_DEBUG environment varible: -``` +```shell export NODE_DEBUG=http ``` @@ -63,17 +56,18 @@ We welcome PRs. Please create an issue and if applicable, a design before proce once: -```bash -$ npm install +``` +npm install ``` To build: -```bash -$ npm run build +``` +npm run build ``` To run all tests: -```bash -$ npm test + +``` +npm test ``` diff --git a/node_modules/@actions/http-client/lib/auth.d.ts b/node_modules/@actions/http-client/lib/auth.d.ts new file mode 100644 index 0000000..8cc9fc3 --- /dev/null +++ b/node_modules/@actions/http-client/lib/auth.d.ts @@ -0,0 +1,26 @@ +/// +import * as http from 'http'; +import * as ifm from './interfaces'; +import { HttpClientResponse } from './index'; +export declare class BasicCredentialHandler implements ifm.RequestHandler { + username: string; + password: string; + constructor(username: string, password: string); + prepareRequest(options: http.RequestOptions): void; + canHandleAuthentication(): boolean; + handleAuthentication(): Promise; +} +export declare class BearerCredentialHandler implements ifm.RequestHandler { + token: string; + constructor(token: string); + prepareRequest(options: http.RequestOptions): void; + canHandleAuthentication(): boolean; + handleAuthentication(): Promise; +} +export declare class PersonalAccessTokenCredentialHandler implements ifm.RequestHandler { + token: string; + constructor(token: string); + prepareRequest(options: http.RequestOptions): void; + canHandleAuthentication(): boolean; + handleAuthentication(): Promise; +} diff --git a/node_modules/@actions/http-client/lib/auth.js b/node_modules/@actions/http-client/lib/auth.js new file mode 100644 index 0000000..2c150a3 --- /dev/null +++ b/node_modules/@actions/http-client/lib/auth.js @@ -0,0 +1,81 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.PersonalAccessTokenCredentialHandler = exports.BearerCredentialHandler = exports.BasicCredentialHandler = void 0; +class BasicCredentialHandler { + constructor(username, password) { + this.username = username; + this.password = password; + } + prepareRequest(options) { + if (!options.headers) { + throw Error('The request has no headers'); + } + options.headers['Authorization'] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString('base64')}`; + } + // This handler cannot handle 401 + canHandleAuthentication() { + return false; + } + handleAuthentication() { + return __awaiter(this, void 0, void 0, function* () { + throw new Error('not implemented'); + }); + } +} +exports.BasicCredentialHandler = BasicCredentialHandler; +class BearerCredentialHandler { + constructor(token) { + this.token = token; + } + // currently implements pre-authorization + // TODO: support preAuth = false where it hooks on 401 + prepareRequest(options) { + if (!options.headers) { + throw Error('The request has no headers'); + } + options.headers['Authorization'] = `Bearer ${this.token}`; + } + // This handler cannot handle 401 + canHandleAuthentication() { + return false; + } + handleAuthentication() { + return __awaiter(this, void 0, void 0, function* () { + throw new Error('not implemented'); + }); + } +} +exports.BearerCredentialHandler = BearerCredentialHandler; +class PersonalAccessTokenCredentialHandler { + constructor(token) { + this.token = token; + } + // currently implements pre-authorization + // TODO: support preAuth = false where it hooks on 401 + prepareRequest(options) { + if (!options.headers) { + throw Error('The request has no headers'); + } + options.headers['Authorization'] = `Basic ${Buffer.from(`PAT:${this.token}`).toString('base64')}`; + } + // This handler cannot handle 401 + canHandleAuthentication() { + return false; + } + handleAuthentication() { + return __awaiter(this, void 0, void 0, function* () { + throw new Error('not implemented'); + }); + } +} +exports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler; +//# sourceMappingURL=auth.js.map \ No newline at end of file diff --git a/node_modules/@actions/http-client/lib/auth.js.map b/node_modules/@actions/http-client/lib/auth.js.map new file mode 100644 index 0000000..7d3a18a --- /dev/null +++ b/node_modules/@actions/http-client/lib/auth.js.map @@ -0,0 +1 @@ +{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":";;;;;;;;;;;;AAIA,MAAa,sBAAsB;IAIjC,YAAY,QAAgB,EAAE,QAAgB;QAC5C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;IAED,cAAc,CAAC,OAA4B;QACzC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACpB,MAAM,KAAK,CAAC,4BAA4B,CAAC,CAAA;SAC1C;QACD,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,SAAS,MAAM,CAAC,IAAI,CACrD,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE,CACpC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAA;IACxB,CAAC;IAED,iCAAiC;IACjC,uBAAuB;QACrB,OAAO,KAAK,CAAA;IACd,CAAC;IAEK,oBAAoB;;YACxB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;QACpC,CAAC;KAAA;CACF;AA1BD,wDA0BC;AAED,MAAa,uBAAuB;IAGlC,YAAY,KAAa;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,yCAAyC;IACzC,sDAAsD;IACtD,cAAc,CAAC,OAA4B;QACzC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACpB,MAAM,KAAK,CAAC,4BAA4B,CAAC,CAAA;SAC1C;QACD,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,IAAI,CAAC,KAAK,EAAE,CAAA;IAC3D,CAAC;IAED,iCAAiC;IACjC,uBAAuB;QACrB,OAAO,KAAK,CAAA;IACd,CAAC;IAEK,oBAAoB;;YACxB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;QACpC,CAAC;KAAA;CACF;AAxBD,0DAwBC;AAED,MAAa,oCAAoC;IAI/C,YAAY,KAAa;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,yCAAyC;IACzC,sDAAsD;IACtD,cAAc,CAAC,OAA4B;QACzC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACpB,MAAM,KAAK,CAAC,4BAA4B,CAAC,CAAA;SAC1C;QACD,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,SAAS,MAAM,CAAC,IAAI,CACrD,OAAO,IAAI,CAAC,KAAK,EAAE,CACpB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAA;IACxB,CAAC;IAED,iCAAiC;IACjC,uBAAuB;QACrB,OAAO,KAAK,CAAA;IACd,CAAC;IAEK,oBAAoB;;YACxB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;QACpC,CAAC;KAAA;CACF;AA3BD,oFA2BC"} \ No newline at end of file diff --git a/node_modules/@actions/http-client/lib/index.d.ts b/node_modules/@actions/http-client/lib/index.d.ts new file mode 100644 index 0000000..fe733d1 --- /dev/null +++ b/node_modules/@actions/http-client/lib/index.d.ts @@ -0,0 +1,123 @@ +/// +import * as http from 'http'; +import * as ifm from './interfaces'; +export declare enum HttpCodes { + OK = 200, + MultipleChoices = 300, + MovedPermanently = 301, + ResourceMoved = 302, + SeeOther = 303, + NotModified = 304, + UseProxy = 305, + SwitchProxy = 306, + TemporaryRedirect = 307, + PermanentRedirect = 308, + BadRequest = 400, + Unauthorized = 401, + PaymentRequired = 402, + Forbidden = 403, + NotFound = 404, + MethodNotAllowed = 405, + NotAcceptable = 406, + ProxyAuthenticationRequired = 407, + RequestTimeout = 408, + Conflict = 409, + Gone = 410, + TooManyRequests = 429, + InternalServerError = 500, + NotImplemented = 501, + BadGateway = 502, + ServiceUnavailable = 503, + GatewayTimeout = 504 +} +export declare enum Headers { + Accept = "accept", + ContentType = "content-type" +} +export declare enum MediaTypes { + ApplicationJson = "application/json" +} +/** + * Returns the proxy URL, depending upon the supplied url and proxy environment variables. + * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + */ +export declare function getProxyUrl(serverUrl: string): string; +export declare class HttpClientError extends Error { + constructor(message: string, statusCode: number); + statusCode: number; + result?: any; +} +export declare class HttpClientResponse { + constructor(message: http.IncomingMessage); + message: http.IncomingMessage; + readBody(): Promise; +} +export declare function isHttps(requestUrl: string): boolean; +export declare class HttpClient { + userAgent: string | undefined; + handlers: ifm.RequestHandler[]; + requestOptions: ifm.RequestOptions | undefined; + private _ignoreSslError; + private _socketTimeout; + private _allowRedirects; + private _allowRedirectDowngrade; + private _maxRedirects; + private _allowRetries; + private _maxRetries; + private _agent; + private _proxyAgent; + private _keepAlive; + private _disposed; + constructor(userAgent?: string, handlers?: ifm.RequestHandler[], requestOptions?: ifm.RequestOptions); + options(requestUrl: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + get(requestUrl: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + del(requestUrl: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + post(requestUrl: string, data: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + patch(requestUrl: string, data: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + put(requestUrl: string, data: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + head(requestUrl: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + sendStream(verb: string, requestUrl: string, stream: NodeJS.ReadableStream, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + /** + * Gets a typed object from an endpoint + * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise + */ + getJson(requestUrl: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise>; + postJson(requestUrl: string, obj: any, additionalHeaders?: http.OutgoingHttpHeaders): Promise>; + putJson(requestUrl: string, obj: any, additionalHeaders?: http.OutgoingHttpHeaders): Promise>; + patchJson(requestUrl: string, obj: any, additionalHeaders?: http.OutgoingHttpHeaders): Promise>; + /** + * Makes a raw http request. + * All other methods such as get, post, patch, and request ultimately call this. + * Prefer get, del, post and patch + */ + request(verb: string, requestUrl: string, data: string | NodeJS.ReadableStream | null, headers?: http.OutgoingHttpHeaders): Promise; + /** + * Needs to be called if keepAlive is set to true in request options. + */ + dispose(): void; + /** + * Raw request. + * @param info + * @param data + */ + requestRaw(info: ifm.RequestInfo, data: string | NodeJS.ReadableStream | null): Promise; + /** + * Raw request with callback. + * @param info + * @param data + * @param onResult + */ + requestRawWithCallback(info: ifm.RequestInfo, data: string | NodeJS.ReadableStream | null, onResult: (err?: Error, res?: HttpClientResponse) => void): void; + /** + * Gets an http agent. This function is useful when you need an http agent that handles + * routing through a proxy server - depending upon the url and proxy environment variables. + * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + */ + getAgent(serverUrl: string): http.Agent; + private _prepareRequest; + private _mergeHeaders; + private _getExistingOrDefaultHeader; + private _getAgent; + private _performExponentialBackoff; + private _processResponse; +} diff --git a/node_modules/@actions/http-client/lib/index.js b/node_modules/@actions/http-client/lib/index.js new file mode 100644 index 0000000..a1b7d03 --- /dev/null +++ b/node_modules/@actions/http-client/lib/index.js @@ -0,0 +1,605 @@ +"use strict"; +/* eslint-disable @typescript-eslint/no-explicit-any */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.HttpClient = exports.isHttps = exports.HttpClientResponse = exports.HttpClientError = exports.getProxyUrl = exports.MediaTypes = exports.Headers = exports.HttpCodes = void 0; +const http = __importStar(require("http")); +const https = __importStar(require("https")); +const pm = __importStar(require("./proxy")); +const tunnel = __importStar(require("tunnel")); +var HttpCodes; +(function (HttpCodes) { + HttpCodes[HttpCodes["OK"] = 200] = "OK"; + HttpCodes[HttpCodes["MultipleChoices"] = 300] = "MultipleChoices"; + HttpCodes[HttpCodes["MovedPermanently"] = 301] = "MovedPermanently"; + HttpCodes[HttpCodes["ResourceMoved"] = 302] = "ResourceMoved"; + HttpCodes[HttpCodes["SeeOther"] = 303] = "SeeOther"; + HttpCodes[HttpCodes["NotModified"] = 304] = "NotModified"; + HttpCodes[HttpCodes["UseProxy"] = 305] = "UseProxy"; + HttpCodes[HttpCodes["SwitchProxy"] = 306] = "SwitchProxy"; + HttpCodes[HttpCodes["TemporaryRedirect"] = 307] = "TemporaryRedirect"; + HttpCodes[HttpCodes["PermanentRedirect"] = 308] = "PermanentRedirect"; + HttpCodes[HttpCodes["BadRequest"] = 400] = "BadRequest"; + HttpCodes[HttpCodes["Unauthorized"] = 401] = "Unauthorized"; + HttpCodes[HttpCodes["PaymentRequired"] = 402] = "PaymentRequired"; + HttpCodes[HttpCodes["Forbidden"] = 403] = "Forbidden"; + HttpCodes[HttpCodes["NotFound"] = 404] = "NotFound"; + HttpCodes[HttpCodes["MethodNotAllowed"] = 405] = "MethodNotAllowed"; + HttpCodes[HttpCodes["NotAcceptable"] = 406] = "NotAcceptable"; + HttpCodes[HttpCodes["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired"; + HttpCodes[HttpCodes["RequestTimeout"] = 408] = "RequestTimeout"; + HttpCodes[HttpCodes["Conflict"] = 409] = "Conflict"; + HttpCodes[HttpCodes["Gone"] = 410] = "Gone"; + HttpCodes[HttpCodes["TooManyRequests"] = 429] = "TooManyRequests"; + HttpCodes[HttpCodes["InternalServerError"] = 500] = "InternalServerError"; + HttpCodes[HttpCodes["NotImplemented"] = 501] = "NotImplemented"; + HttpCodes[HttpCodes["BadGateway"] = 502] = "BadGateway"; + HttpCodes[HttpCodes["ServiceUnavailable"] = 503] = "ServiceUnavailable"; + HttpCodes[HttpCodes["GatewayTimeout"] = 504] = "GatewayTimeout"; +})(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {})); +var Headers; +(function (Headers) { + Headers["Accept"] = "accept"; + Headers["ContentType"] = "content-type"; +})(Headers = exports.Headers || (exports.Headers = {})); +var MediaTypes; +(function (MediaTypes) { + MediaTypes["ApplicationJson"] = "application/json"; +})(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {})); +/** + * Returns the proxy URL, depending upon the supplied url and proxy environment variables. + * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + */ +function getProxyUrl(serverUrl) { + const proxyUrl = pm.getProxyUrl(new URL(serverUrl)); + return proxyUrl ? proxyUrl.href : ''; +} +exports.getProxyUrl = getProxyUrl; +const HttpRedirectCodes = [ + HttpCodes.MovedPermanently, + HttpCodes.ResourceMoved, + HttpCodes.SeeOther, + HttpCodes.TemporaryRedirect, + HttpCodes.PermanentRedirect +]; +const HttpResponseRetryCodes = [ + HttpCodes.BadGateway, + HttpCodes.ServiceUnavailable, + HttpCodes.GatewayTimeout +]; +const RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD']; +const ExponentialBackoffCeiling = 10; +const ExponentialBackoffTimeSlice = 5; +class HttpClientError extends Error { + constructor(message, statusCode) { + super(message); + this.name = 'HttpClientError'; + this.statusCode = statusCode; + Object.setPrototypeOf(this, HttpClientError.prototype); + } +} +exports.HttpClientError = HttpClientError; +class HttpClientResponse { + constructor(message) { + this.message = message; + } + readBody() { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () { + let output = Buffer.alloc(0); + this.message.on('data', (chunk) => { + output = Buffer.concat([output, chunk]); + }); + this.message.on('end', () => { + resolve(output.toString()); + }); + })); + }); + } +} +exports.HttpClientResponse = HttpClientResponse; +function isHttps(requestUrl) { + const parsedUrl = new URL(requestUrl); + return parsedUrl.protocol === 'https:'; +} +exports.isHttps = isHttps; +class HttpClient { + constructor(userAgent, handlers, requestOptions) { + this._ignoreSslError = false; + this._allowRedirects = true; + this._allowRedirectDowngrade = false; + this._maxRedirects = 50; + this._allowRetries = false; + this._maxRetries = 1; + this._keepAlive = false; + this._disposed = false; + this.userAgent = userAgent; + this.handlers = handlers || []; + this.requestOptions = requestOptions; + if (requestOptions) { + if (requestOptions.ignoreSslError != null) { + this._ignoreSslError = requestOptions.ignoreSslError; + } + this._socketTimeout = requestOptions.socketTimeout; + if (requestOptions.allowRedirects != null) { + this._allowRedirects = requestOptions.allowRedirects; + } + if (requestOptions.allowRedirectDowngrade != null) { + this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade; + } + if (requestOptions.maxRedirects != null) { + this._maxRedirects = Math.max(requestOptions.maxRedirects, 0); + } + if (requestOptions.keepAlive != null) { + this._keepAlive = requestOptions.keepAlive; + } + if (requestOptions.allowRetries != null) { + this._allowRetries = requestOptions.allowRetries; + } + if (requestOptions.maxRetries != null) { + this._maxRetries = requestOptions.maxRetries; + } + } + } + options(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('OPTIONS', requestUrl, null, additionalHeaders || {}); + }); + } + get(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('GET', requestUrl, null, additionalHeaders || {}); + }); + } + del(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('DELETE', requestUrl, null, additionalHeaders || {}); + }); + } + post(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('POST', requestUrl, data, additionalHeaders || {}); + }); + } + patch(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('PATCH', requestUrl, data, additionalHeaders || {}); + }); + } + put(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('PUT', requestUrl, data, additionalHeaders || {}); + }); + } + head(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('HEAD', requestUrl, null, additionalHeaders || {}); + }); + } + sendStream(verb, requestUrl, stream, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request(verb, requestUrl, stream, additionalHeaders); + }); + } + /** + * Gets a typed object from an endpoint + * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise + */ + getJson(requestUrl, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + const res = yield this.get(requestUrl, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + postJson(requestUrl, obj, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + const data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + const res = yield this.post(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + putJson(requestUrl, obj, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + const data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + const res = yield this.put(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + patchJson(requestUrl, obj, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + const data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + const res = yield this.patch(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + /** + * Makes a raw http request. + * All other methods such as get, post, patch, and request ultimately call this. + * Prefer get, del, post and patch + */ + request(verb, requestUrl, data, headers) { + return __awaiter(this, void 0, void 0, function* () { + if (this._disposed) { + throw new Error('Client has already been disposed.'); + } + const parsedUrl = new URL(requestUrl); + let info = this._prepareRequest(verb, parsedUrl, headers); + // Only perform retries on reads since writes may not be idempotent. + const maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb) + ? this._maxRetries + 1 + : 1; + let numTries = 0; + let response; + do { + response = yield this.requestRaw(info, data); + // Check if it's an authentication challenge + if (response && + response.message && + response.message.statusCode === HttpCodes.Unauthorized) { + let authenticationHandler; + for (const handler of this.handlers) { + if (handler.canHandleAuthentication(response)) { + authenticationHandler = handler; + break; + } + } + if (authenticationHandler) { + return authenticationHandler.handleAuthentication(this, info, data); + } + else { + // We have received an unauthorized response but have no handlers to handle it. + // Let the response return to the caller. + return response; + } + } + let redirectsRemaining = this._maxRedirects; + while (response.message.statusCode && + HttpRedirectCodes.includes(response.message.statusCode) && + this._allowRedirects && + redirectsRemaining > 0) { + const redirectUrl = response.message.headers['location']; + if (!redirectUrl) { + // if there's no location to redirect to, we won't + break; + } + const parsedRedirectUrl = new URL(redirectUrl); + if (parsedUrl.protocol === 'https:' && + parsedUrl.protocol !== parsedRedirectUrl.protocol && + !this._allowRedirectDowngrade) { + throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.'); + } + // we need to finish reading the response before reassigning response + // which will leak the open socket. + yield response.readBody(); + // strip authorization header if redirected to a different hostname + if (parsedRedirectUrl.hostname !== parsedUrl.hostname) { + for (const header in headers) { + // header names are case insensitive + if (header.toLowerCase() === 'authorization') { + delete headers[header]; + } + } + } + // let's make the request with the new redirectUrl + info = this._prepareRequest(verb, parsedRedirectUrl, headers); + response = yield this.requestRaw(info, data); + redirectsRemaining--; + } + if (!response.message.statusCode || + !HttpResponseRetryCodes.includes(response.message.statusCode)) { + // If not a retry code, return immediately instead of retrying + return response; + } + numTries += 1; + if (numTries < maxTries) { + yield response.readBody(); + yield this._performExponentialBackoff(numTries); + } + } while (numTries < maxTries); + return response; + }); + } + /** + * Needs to be called if keepAlive is set to true in request options. + */ + dispose() { + if (this._agent) { + this._agent.destroy(); + } + this._disposed = true; + } + /** + * Raw request. + * @param info + * @param data + */ + requestRaw(info, data) { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => { + function callbackForResult(err, res) { + if (err) { + reject(err); + } + else if (!res) { + // If `err` is not passed, then `res` must be passed. + reject(new Error('Unknown error')); + } + else { + resolve(res); + } + } + this.requestRawWithCallback(info, data, callbackForResult); + }); + }); + } + /** + * Raw request with callback. + * @param info + * @param data + * @param onResult + */ + requestRawWithCallback(info, data, onResult) { + if (typeof data === 'string') { + if (!info.options.headers) { + info.options.headers = {}; + } + info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8'); + } + let callbackCalled = false; + function handleResult(err, res) { + if (!callbackCalled) { + callbackCalled = true; + onResult(err, res); + } + } + const req = info.httpModule.request(info.options, (msg) => { + const res = new HttpClientResponse(msg); + handleResult(undefined, res); + }); + let socket; + req.on('socket', sock => { + socket = sock; + }); + // If we ever get disconnected, we want the socket to timeout eventually + req.setTimeout(this._socketTimeout || 3 * 60000, () => { + if (socket) { + socket.end(); + } + handleResult(new Error(`Request timeout: ${info.options.path}`)); + }); + req.on('error', function (err) { + // err has statusCode property + // res should have headers + handleResult(err); + }); + if (data && typeof data === 'string') { + req.write(data, 'utf8'); + } + if (data && typeof data !== 'string') { + data.on('close', function () { + req.end(); + }); + data.pipe(req); + } + else { + req.end(); + } + } + /** + * Gets an http agent. This function is useful when you need an http agent that handles + * routing through a proxy server - depending upon the url and proxy environment variables. + * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + */ + getAgent(serverUrl) { + const parsedUrl = new URL(serverUrl); + return this._getAgent(parsedUrl); + } + _prepareRequest(method, requestUrl, headers) { + const info = {}; + info.parsedUrl = requestUrl; + const usingSsl = info.parsedUrl.protocol === 'https:'; + info.httpModule = usingSsl ? https : http; + const defaultPort = usingSsl ? 443 : 80; + info.options = {}; + info.options.host = info.parsedUrl.hostname; + info.options.port = info.parsedUrl.port + ? parseInt(info.parsedUrl.port) + : defaultPort; + info.options.path = + (info.parsedUrl.pathname || '') + (info.parsedUrl.search || ''); + info.options.method = method; + info.options.headers = this._mergeHeaders(headers); + if (this.userAgent != null) { + info.options.headers['user-agent'] = this.userAgent; + } + info.options.agent = this._getAgent(info.parsedUrl); + // gives handlers an opportunity to participate + if (this.handlers) { + for (const handler of this.handlers) { + handler.prepareRequest(info.options); + } + } + return info; + } + _mergeHeaders(headers) { + if (this.requestOptions && this.requestOptions.headers) { + return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {})); + } + return lowercaseKeys(headers || {}); + } + _getExistingOrDefaultHeader(additionalHeaders, header, _default) { + let clientHeader; + if (this.requestOptions && this.requestOptions.headers) { + clientHeader = lowercaseKeys(this.requestOptions.headers)[header]; + } + return additionalHeaders[header] || clientHeader || _default; + } + _getAgent(parsedUrl) { + let agent; + const proxyUrl = pm.getProxyUrl(parsedUrl); + const useProxy = proxyUrl && proxyUrl.hostname; + if (this._keepAlive && useProxy) { + agent = this._proxyAgent; + } + if (this._keepAlive && !useProxy) { + agent = this._agent; + } + // if agent is already assigned use that agent. + if (agent) { + return agent; + } + const usingSsl = parsedUrl.protocol === 'https:'; + let maxSockets = 100; + if (this.requestOptions) { + maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets; + } + // This is `useProxy` again, but we need to check `proxyURl` directly for TypeScripts's flow analysis. + if (proxyUrl && proxyUrl.hostname) { + const agentOptions = { + maxSockets, + keepAlive: this._keepAlive, + proxy: Object.assign(Object.assign({}, ((proxyUrl.username || proxyUrl.password) && { + proxyAuth: `${proxyUrl.username}:${proxyUrl.password}` + })), { host: proxyUrl.hostname, port: proxyUrl.port }) + }; + let tunnelAgent; + const overHttps = proxyUrl.protocol === 'https:'; + if (usingSsl) { + tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp; + } + else { + tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp; + } + agent = tunnelAgent(agentOptions); + this._proxyAgent = agent; + } + // if reusing agent across request and tunneling agent isn't assigned create a new agent + if (this._keepAlive && !agent) { + const options = { keepAlive: this._keepAlive, maxSockets }; + agent = usingSsl ? new https.Agent(options) : new http.Agent(options); + this._agent = agent; + } + // if not using private agent and tunnel agent isn't setup then use global agent + if (!agent) { + agent = usingSsl ? https.globalAgent : http.globalAgent; + } + if (usingSsl && this._ignoreSslError) { + // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process + // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options + // we have to cast it to any and change it directly + agent.options = Object.assign(agent.options || {}, { + rejectUnauthorized: false + }); + } + return agent; + } + _performExponentialBackoff(retryNumber) { + return __awaiter(this, void 0, void 0, function* () { + retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); + const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber); + return new Promise(resolve => setTimeout(() => resolve(), ms)); + }); + } + _processResponse(res, options) { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { + const statusCode = res.message.statusCode || 0; + const response = { + statusCode, + result: null, + headers: {} + }; + // not found leads to null obj returned + if (statusCode === HttpCodes.NotFound) { + resolve(response); + } + // get the result from the body + function dateTimeDeserializer(key, value) { + if (typeof value === 'string') { + const a = new Date(value); + if (!isNaN(a.valueOf())) { + return a; + } + } + return value; + } + let obj; + let contents; + try { + contents = yield res.readBody(); + if (contents && contents.length > 0) { + if (options && options.deserializeDates) { + obj = JSON.parse(contents, dateTimeDeserializer); + } + else { + obj = JSON.parse(contents); + } + response.result = obj; + } + response.headers = res.message.headers; + } + catch (err) { + // Invalid resource (contents not json); leaving result obj null + } + // note that 3xx redirects are handled by the http layer. + if (statusCode > 299) { + let msg; + // if exception/error in body, attempt to get better error + if (obj && obj.message) { + msg = obj.message; + } + else if (contents && contents.length > 0) { + // it may be the case that the exception is in the body message as string + msg = contents; + } + else { + msg = `Failed request: (${statusCode})`; + } + const err = new HttpClientError(msg, statusCode); + err.result = response.result; + reject(err); + } + else { + resolve(response); + } + })); + }); + } +} +exports.HttpClient = HttpClient; +const lowercaseKeys = (obj) => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/@actions/http-client/lib/index.js.map b/node_modules/@actions/http-client/lib/index.js.map new file mode 100644 index 0000000..ca8ea41 --- /dev/null +++ b/node_modules/@actions/http-client/lib/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,uDAAuD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEvD,2CAA4B;AAC5B,6CAA8B;AAG9B,4CAA6B;AAC7B,+CAAgC;AAEhC,IAAY,SA4BX;AA5BD,WAAY,SAAS;IACnB,uCAAQ,CAAA;IACR,iEAAqB,CAAA;IACrB,mEAAsB,CAAA;IACtB,6DAAmB,CAAA;IACnB,mDAAc,CAAA;IACd,yDAAiB,CAAA;IACjB,mDAAc,CAAA;IACd,yDAAiB,CAAA;IACjB,qEAAuB,CAAA;IACvB,qEAAuB,CAAA;IACvB,uDAAgB,CAAA;IAChB,2DAAkB,CAAA;IAClB,iEAAqB,CAAA;IACrB,qDAAe,CAAA;IACf,mDAAc,CAAA;IACd,mEAAsB,CAAA;IACtB,6DAAmB,CAAA;IACnB,yFAAiC,CAAA;IACjC,+DAAoB,CAAA;IACpB,mDAAc,CAAA;IACd,2CAAU,CAAA;IACV,iEAAqB,CAAA;IACrB,yEAAyB,CAAA;IACzB,+DAAoB,CAAA;IACpB,uDAAgB,CAAA;IAChB,uEAAwB,CAAA;IACxB,+DAAoB,CAAA;AACtB,CAAC,EA5BW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QA4BpB;AAED,IAAY,OAGX;AAHD,WAAY,OAAO;IACjB,4BAAiB,CAAA;IACjB,uCAA4B,CAAA;AAC9B,CAAC,EAHW,OAAO,GAAP,eAAO,KAAP,eAAO,QAGlB;AAED,IAAY,UAEX;AAFD,WAAY,UAAU;IACpB,kDAAoC,CAAA;AACtC,CAAC,EAFW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAErB;AAED;;;GAGG;AACH,SAAgB,WAAW,CAAC,SAAiB;IAC3C,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAA;IACnD,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;AACtC,CAAC;AAHD,kCAGC;AAED,MAAM,iBAAiB,GAAa;IAClC,SAAS,CAAC,gBAAgB;IAC1B,SAAS,CAAC,aAAa;IACvB,SAAS,CAAC,QAAQ;IAClB,SAAS,CAAC,iBAAiB;IAC3B,SAAS,CAAC,iBAAiB;CAC5B,CAAA;AACD,MAAM,sBAAsB,GAAa;IACvC,SAAS,CAAC,UAAU;IACpB,SAAS,CAAC,kBAAkB;IAC5B,SAAS,CAAC,cAAc;CACzB,CAAA;AACD,MAAM,kBAAkB,GAAa,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;AACzE,MAAM,yBAAyB,GAAG,EAAE,CAAA;AACpC,MAAM,2BAA2B,GAAG,CAAC,CAAA;AAErC,MAAa,eAAgB,SAAQ,KAAK;IACxC,YAAY,OAAe,EAAE,UAAkB;QAC7C,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAA;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,SAAS,CAAC,CAAA;IACxD,CAAC;CAIF;AAVD,0CAUC;AAED,MAAa,kBAAkB;IAC7B,YAAY,OAA6B;QACvC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAGK,QAAQ;;YACZ,OAAO,IAAI,OAAO,CAAS,CAAM,OAAO,EAAC,EAAE;gBACzC,IAAI,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;gBAE5B,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;oBACxC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;gBACzC,CAAC,CAAC,CAAA;gBAEF,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;oBAC1B,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;gBAC5B,CAAC,CAAC,CAAA;YACJ,CAAC,CAAA,CAAC,CAAA;QACJ,CAAC;KAAA;CACF;AAnBD,gDAmBC;AAED,SAAgB,OAAO,CAAC,UAAkB;IACxC,MAAM,SAAS,GAAQ,IAAI,GAAG,CAAC,UAAU,CAAC,CAAA;IAC1C,OAAO,SAAS,CAAC,QAAQ,KAAK,QAAQ,CAAA;AACxC,CAAC;AAHD,0BAGC;AAED,MAAa,UAAU;IAiBrB,YACE,SAAkB,EAClB,QAA+B,EAC/B,cAAmC;QAf7B,oBAAe,GAAG,KAAK,CAAA;QAEvB,oBAAe,GAAG,IAAI,CAAA;QACtB,4BAAuB,GAAG,KAAK,CAAA;QAC/B,kBAAa,GAAG,EAAE,CAAA;QAClB,kBAAa,GAAG,KAAK,CAAA;QACrB,gBAAW,GAAG,CAAC,CAAA;QAGf,eAAU,GAAG,KAAK,CAAA;QAClB,cAAS,GAAG,KAAK,CAAA;QAOvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,EAAE,CAAA;QAC9B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,cAAc,EAAE;YAClB,IAAI,cAAc,CAAC,cAAc,IAAI,IAAI,EAAE;gBACzC,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC,cAAc,CAAA;aACrD;YAED,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC,aAAa,CAAA;YAElD,IAAI,cAAc,CAAC,cAAc,IAAI,IAAI,EAAE;gBACzC,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC,cAAc,CAAA;aACrD;YAED,IAAI,cAAc,CAAC,sBAAsB,IAAI,IAAI,EAAE;gBACjD,IAAI,CAAC,uBAAuB,GAAG,cAAc,CAAC,sBAAsB,CAAA;aACrE;YAED,IAAI,cAAc,CAAC,YAAY,IAAI,IAAI,EAAE;gBACvC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC,CAAA;aAC9D;YAED,IAAI,cAAc,CAAC,SAAS,IAAI,IAAI,EAAE;gBACpC,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC,SAAS,CAAA;aAC3C;YAED,IAAI,cAAc,CAAC,YAAY,IAAI,IAAI,EAAE;gBACvC,IAAI,CAAC,aAAa,GAAG,cAAc,CAAC,YAAY,CAAA;aACjD;YAED,IAAI,cAAc,CAAC,UAAU,IAAI,IAAI,EAAE;gBACrC,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,UAAU,CAAA;aAC7C;SACF;IACH,CAAC;IAEK,OAAO,CACX,UAAkB,EAClB,iBAA4C;;YAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAA;QAC3E,CAAC;KAAA;IAEK,GAAG,CACP,UAAkB,EAClB,iBAA4C;;YAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAA;QACvE,CAAC;KAAA;IAEK,GAAG,CACP,UAAkB,EAClB,iBAA4C;;YAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAA;QAC1E,CAAC;KAAA;IAEK,IAAI,CACR,UAAkB,EAClB,IAAY,EACZ,iBAA4C;;YAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAA;QACxE,CAAC;KAAA;IAEK,KAAK,CACT,UAAkB,EAClB,IAAY,EACZ,iBAA4C;;YAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAA;QACzE,CAAC;KAAA;IAEK,GAAG,CACP,UAAkB,EAClB,IAAY,EACZ,iBAA4C;;YAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAA;QACvE,CAAC;KAAA;IAEK,IAAI,CACR,UAAkB,EAClB,iBAA4C;;YAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAA;QACxE,CAAC;KAAA;IAEK,UAAU,CACd,IAAY,EACZ,UAAkB,EAClB,MAA6B,EAC7B,iBAA4C;;YAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAA;QAClE,CAAC;KAAA;IAED;;;OAGG;IACG,OAAO,CACX,UAAkB,EAClB,oBAA8C,EAAE;;YAEhD,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,2BAA2B,CAClE,iBAAiB,EACjB,OAAO,CAAC,MAAM,EACd,UAAU,CAAC,eAAe,CAC3B,CAAA;YACD,MAAM,GAAG,GAAuB,MAAM,IAAI,CAAC,GAAG,CAC5C,UAAU,EACV,iBAAiB,CAClB,CAAA;YACD,OAAO,IAAI,CAAC,gBAAgB,CAAI,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QAC3D,CAAC;KAAA;IAEK,QAAQ,CACZ,UAAkB,EAClB,GAAQ,EACR,oBAA8C,EAAE;;YAEhD,MAAM,IAAI,GAAW,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YACjD,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,2BAA2B,CAClE,iBAAiB,EACjB,OAAO,CAAC,MAAM,EACd,UAAU,CAAC,eAAe,CAC3B,CAAA;YACD,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,2BAA2B,CACvE,iBAAiB,EACjB,OAAO,CAAC,WAAW,EACnB,UAAU,CAAC,eAAe,CAC3B,CAAA;YACD,MAAM,GAAG,GAAuB,MAAM,IAAI,CAAC,IAAI,CAC7C,UAAU,EACV,IAAI,EACJ,iBAAiB,CAClB,CAAA;YACD,OAAO,IAAI,CAAC,gBAAgB,CAAI,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QAC3D,CAAC;KAAA;IAEK,OAAO,CACX,UAAkB,EAClB,GAAQ,EACR,oBAA8C,EAAE;;YAEhD,MAAM,IAAI,GAAW,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YACjD,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,2BAA2B,CAClE,iBAAiB,EACjB,OAAO,CAAC,MAAM,EACd,UAAU,CAAC,eAAe,CAC3B,CAAA;YACD,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,2BAA2B,CACvE,iBAAiB,EACjB,OAAO,CAAC,WAAW,EACnB,UAAU,CAAC,eAAe,CAC3B,CAAA;YACD,MAAM,GAAG,GAAuB,MAAM,IAAI,CAAC,GAAG,CAC5C,UAAU,EACV,IAAI,EACJ,iBAAiB,CAClB,CAAA;YACD,OAAO,IAAI,CAAC,gBAAgB,CAAI,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QAC3D,CAAC;KAAA;IAEK,SAAS,CACb,UAAkB,EAClB,GAAQ,EACR,oBAA8C,EAAE;;YAEhD,MAAM,IAAI,GAAW,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YACjD,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,2BAA2B,CAClE,iBAAiB,EACjB,OAAO,CAAC,MAAM,EACd,UAAU,CAAC,eAAe,CAC3B,CAAA;YACD,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,2BAA2B,CACvE,iBAAiB,EACjB,OAAO,CAAC,WAAW,EACnB,UAAU,CAAC,eAAe,CAC3B,CAAA;YACD,MAAM,GAAG,GAAuB,MAAM,IAAI,CAAC,KAAK,CAC9C,UAAU,EACV,IAAI,EACJ,iBAAiB,CAClB,CAAA;YACD,OAAO,IAAI,CAAC,gBAAgB,CAAI,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QAC3D,CAAC;KAAA;IAED;;;;OAIG;IACG,OAAO,CACX,IAAY,EACZ,UAAkB,EAClB,IAA2C,EAC3C,OAAkC;;YAElC,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;aACrD;YAED,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAA;YACrC,IAAI,IAAI,GAAoB,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;YAE1E,oEAAoE;YACpE,MAAM,QAAQ,GACZ,IAAI,CAAC,aAAa,IAAI,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACrD,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC;gBACtB,CAAC,CAAC,CAAC,CAAA;YACP,IAAI,QAAQ,GAAG,CAAC,CAAA;YAEhB,IAAI,QAAwC,CAAA;YAC5C,GAAG;gBACD,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;gBAE5C,4CAA4C;gBAC5C,IACE,QAAQ;oBACR,QAAQ,CAAC,OAAO;oBAChB,QAAQ,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,YAAY,EACtD;oBACA,IAAI,qBAAqD,CAAA;oBAEzD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;wBACnC,IAAI,OAAO,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE;4BAC7C,qBAAqB,GAAG,OAAO,CAAA;4BAC/B,MAAK;yBACN;qBACF;oBAED,IAAI,qBAAqB,EAAE;wBACzB,OAAO,qBAAqB,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;qBACpE;yBAAM;wBACL,+EAA+E;wBAC/E,yCAAyC;wBACzC,OAAO,QAAQ,CAAA;qBAChB;iBACF;gBAED,IAAI,kBAAkB,GAAW,IAAI,CAAC,aAAa,CAAA;gBACnD,OACE,QAAQ,CAAC,OAAO,CAAC,UAAU;oBAC3B,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC;oBACvD,IAAI,CAAC,eAAe;oBACpB,kBAAkB,GAAG,CAAC,EACtB;oBACA,MAAM,WAAW,GACf,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;oBACtC,IAAI,CAAC,WAAW,EAAE;wBAChB,kDAAkD;wBAClD,MAAK;qBACN;oBACD,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAA;oBAC9C,IACE,SAAS,CAAC,QAAQ,KAAK,QAAQ;wBAC/B,SAAS,CAAC,QAAQ,KAAK,iBAAiB,CAAC,QAAQ;wBACjD,CAAC,IAAI,CAAC,uBAAuB,EAC7B;wBACA,MAAM,IAAI,KAAK,CACb,8KAA8K,CAC/K,CAAA;qBACF;oBAED,qEAAqE;oBACrE,mCAAmC;oBACnC,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAA;oBAEzB,mEAAmE;oBACnE,IAAI,iBAAiB,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ,EAAE;wBACrD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;4BAC5B,oCAAoC;4BACpC,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,eAAe,EAAE;gCAC5C,OAAO,OAAO,CAAC,MAAM,CAAC,CAAA;6BACvB;yBACF;qBACF;oBAED,kDAAkD;oBAClD,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAA;oBAC7D,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;oBAC5C,kBAAkB,EAAE,CAAA;iBACrB;gBAED,IACE,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU;oBAC5B,CAAC,sBAAsB,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EAC7D;oBACA,8DAA8D;oBAC9D,OAAO,QAAQ,CAAA;iBAChB;gBAED,QAAQ,IAAI,CAAC,CAAA;gBAEb,IAAI,QAAQ,GAAG,QAAQ,EAAE;oBACvB,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAA;oBACzB,MAAM,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAA;iBAChD;aACF,QAAQ,QAAQ,GAAG,QAAQ,EAAC;YAE7B,OAAO,QAAQ,CAAA;QACjB,CAAC;KAAA;IAED;;OAEG;IACH,OAAO;QACL,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;SACtB;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;IACvB,CAAC;IAED;;;;OAIG;IACG,UAAU,CACd,IAAqB,EACrB,IAA2C;;YAE3C,OAAO,IAAI,OAAO,CAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACzD,SAAS,iBAAiB,CAAC,GAAW,EAAE,GAAwB;oBAC9D,IAAI,GAAG,EAAE;wBACP,MAAM,CAAC,GAAG,CAAC,CAAA;qBACZ;yBAAM,IAAI,CAAC,GAAG,EAAE;wBACf,qDAAqD;wBACrD,MAAM,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAA;qBACnC;yBAAM;wBACL,OAAO,CAAC,GAAG,CAAC,CAAA;qBACb;gBACH,CAAC;gBAED,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAA;YAC5D,CAAC,CAAC,CAAA;QACJ,CAAC;KAAA;IAED;;;;;OAKG;IACH,sBAAsB,CACpB,IAAqB,EACrB,IAA2C,EAC3C,QAAyD;QAEzD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;gBACzB,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,EAAE,CAAA;aAC1B;YACD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;SACzE;QAED,IAAI,cAAc,GAAG,KAAK,CAAA;QAC1B,SAAS,YAAY,CAAC,GAAW,EAAE,GAAwB;YACzD,IAAI,CAAC,cAAc,EAAE;gBACnB,cAAc,GAAG,IAAI,CAAA;gBACrB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;aACnB;QACH,CAAC;QAED,MAAM,GAAG,GAAuB,IAAI,CAAC,UAAU,CAAC,OAAO,CACrD,IAAI,CAAC,OAAO,EACZ,CAAC,GAAyB,EAAE,EAAE;YAC5B,MAAM,GAAG,GAAuB,IAAI,kBAAkB,CAAC,GAAG,CAAC,CAAA;YAC3D,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;QAC9B,CAAC,CACF,CAAA;QAED,IAAI,MAAkB,CAAA;QACtB,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE;YACtB,MAAM,GAAG,IAAI,CAAA;QACf,CAAC,CAAC,CAAA;QAEF,wEAAwE;QACxE,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,GAAG,KAAK,EAAE,GAAG,EAAE;YACpD,IAAI,MAAM,EAAE;gBACV,MAAM,CAAC,GAAG,EAAE,CAAA;aACb;YACD,YAAY,CAAC,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QAClE,CAAC,CAAC,CAAA;QAEF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,UAAS,GAAG;YAC1B,8BAA8B;YAC9B,0BAA0B;YAC1B,YAAY,CAAC,GAAG,CAAC,CAAA;QACnB,CAAC,CAAC,CAAA;QAEF,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YACpC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;SACxB;QAED,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YACpC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE;gBACf,GAAG,CAAC,GAAG,EAAE,CAAA;YACX,CAAC,CAAC,CAAA;YAEF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;SACf;aAAM;YACL,GAAG,CAAC,GAAG,EAAE,CAAA;SACV;IACH,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,SAAiB;QACxB,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAA;QACpC,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;IAClC,CAAC;IAEO,eAAe,CACrB,MAAc,EACd,UAAe,EACf,OAAkC;QAElC,MAAM,IAAI,GAAqC,EAAE,CAAA;QAEjD,IAAI,CAAC,SAAS,GAAG,UAAU,CAAA;QAC3B,MAAM,QAAQ,GAAY,IAAI,CAAC,SAAS,CAAC,QAAQ,KAAK,QAAQ,CAAA;QAC9D,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;QACzC,MAAM,WAAW,GAAW,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;QAE/C,IAAI,CAAC,OAAO,GAAwB,EAAE,CAAA;QACtC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAA;QAC3C,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI;YACrC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC/B,CAAC,CAAC,WAAW,CAAA;QACf,IAAI,CAAC,OAAO,CAAC,IAAI;YACf,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;QACjE,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;QAC5B,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QAClD,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;YAC1B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,SAAS,CAAA;SACpD;QAED,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAEnD,+CAA+C;QAC/C,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACnC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;aACrC;SACF;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,aAAa,CACnB,OAAkC;QAElC,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YACtD,OAAO,MAAM,CAAC,MAAM,CAClB,EAAE,EACF,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAC1C,aAAa,CAAC,OAAO,IAAI,EAAE,CAAC,CAC7B,CAAA;SACF;QAED,OAAO,aAAa,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;IACrC,CAAC;IAEO,2BAA2B,CACjC,iBAA2C,EAC3C,MAAc,EACd,QAAgB;QAEhB,IAAI,YAAgC,CAAA;QACpC,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YACtD,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAA;SAClE;QACD,OAAO,iBAAiB,CAAC,MAAM,CAAC,IAAI,YAAY,IAAI,QAAQ,CAAA;IAC9D,CAAC;IAEO,SAAS,CAAC,SAAc;QAC9B,IAAI,KAAK,CAAA;QACT,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;QAC1C,MAAM,QAAQ,GAAG,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAA;QAE9C,IAAI,IAAI,CAAC,UAAU,IAAI,QAAQ,EAAE;YAC/B,KAAK,GAAG,IAAI,CAAC,WAAW,CAAA;SACzB;QAED,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,EAAE;YAChC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAA;SACpB;QAED,+CAA+C;QAC/C,IAAI,KAAK,EAAE;YACT,OAAO,KAAK,CAAA;SACb;QAED,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,KAAK,QAAQ,CAAA;QAChD,IAAI,UAAU,GAAG,GAAG,CAAA;QACpB,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,CAAA;SAC3E;QAED,sGAAsG;QACtG,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE;YACjC,MAAM,YAAY,GAAG;gBACnB,UAAU;gBACV,SAAS,EAAE,IAAI,CAAC,UAAU;gBAC1B,KAAK,kCACA,CAAC,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI;oBAC9C,SAAS,EAAE,GAAG,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE;iBACvD,CAAC,KACF,IAAI,EAAE,QAAQ,CAAC,QAAQ,EACvB,IAAI,EAAE,QAAQ,CAAC,IAAI,GACpB;aACF,CAAA;YAED,IAAI,WAAqB,CAAA;YACzB,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAA;YAChD,IAAI,QAAQ,EAAE;gBACZ,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAA;aACvE;iBAAM;gBACL,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAA;aACrE;YAED,KAAK,GAAG,WAAW,CAAC,YAAY,CAAC,CAAA;YACjC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;SACzB;QAED,wFAAwF;QACxF,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,EAAE;YAC7B,MAAM,OAAO,GAAG,EAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,EAAC,CAAA;YACxD,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YACrE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;SACpB;QAED,gFAAgF;QAChF,IAAI,CAAC,KAAK,EAAE;YACV,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAA;SACxD;QAED,IAAI,QAAQ,IAAI,IAAI,CAAC,eAAe,EAAE;YACpC,wGAAwG;YACxG,kFAAkF;YAClF,mDAAmD;YACnD,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE;gBACjD,kBAAkB,EAAE,KAAK;aAC1B,CAAC,CAAA;SACH;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAEa,0BAA0B,CAAC,WAAmB;;YAC1D,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,yBAAyB,EAAE,WAAW,CAAC,CAAA;YAC9D,MAAM,EAAE,GAAW,2BAA2B,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAA;YACzE,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QAChE,CAAC;KAAA;IAEa,gBAAgB,CAC5B,GAAuB,EACvB,OAA4B;;YAE5B,OAAO,IAAI,OAAO,CAAuB,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;gBACjE,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,CAAA;gBAE9C,MAAM,QAAQ,GAAyB;oBACrC,UAAU;oBACV,MAAM,EAAE,IAAI;oBACZ,OAAO,EAAE,EAAE;iBACZ,CAAA;gBAED,uCAAuC;gBACvC,IAAI,UAAU,KAAK,SAAS,CAAC,QAAQ,EAAE;oBACrC,OAAO,CAAC,QAAQ,CAAC,CAAA;iBAClB;gBAED,+BAA+B;gBAE/B,SAAS,oBAAoB,CAAC,GAAQ,EAAE,KAAU;oBAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;wBAC7B,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAA;wBACzB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE;4BACvB,OAAO,CAAC,CAAA;yBACT;qBACF;oBAED,OAAO,KAAK,CAAA;gBACd,CAAC;gBAED,IAAI,GAAQ,CAAA;gBACZ,IAAI,QAA4B,CAAA;gBAEhC,IAAI;oBACF,QAAQ,GAAG,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAA;oBAC/B,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;wBACnC,IAAI,OAAO,IAAI,OAAO,CAAC,gBAAgB,EAAE;4BACvC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAA;yBACjD;6BAAM;4BACL,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;yBAC3B;wBAED,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAA;qBACtB;oBAED,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAA;iBACvC;gBAAC,OAAO,GAAG,EAAE;oBACZ,iEAAiE;iBAClE;gBAED,yDAAyD;gBACzD,IAAI,UAAU,GAAG,GAAG,EAAE;oBACpB,IAAI,GAAW,CAAA;oBAEf,0DAA0D;oBAC1D,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE;wBACtB,GAAG,GAAG,GAAG,CAAC,OAAO,CAAA;qBAClB;yBAAM,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC1C,yEAAyE;wBACzE,GAAG,GAAG,QAAQ,CAAA;qBACf;yBAAM;wBACL,GAAG,GAAG,oBAAoB,UAAU,GAAG,CAAA;qBACxC;oBAED,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;oBAChD,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA;oBAE5B,MAAM,CAAC,GAAG,CAAC,CAAA;iBACZ;qBAAM;oBACL,OAAO,CAAC,QAAQ,CAAC,CAAA;iBAClB;YACH,CAAC,CAAA,CAAC,CAAA;QACJ,CAAC;KAAA;CACF;AAlpBD,gCAkpBC;AAED,MAAM,aAAa,GAAG,CAAC,GAA2B,EAAO,EAAE,CACzD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/@actions/http-client/lib/interfaces.d.ts b/node_modules/@actions/http-client/lib/interfaces.d.ts new file mode 100644 index 0000000..54fd4a8 --- /dev/null +++ b/node_modules/@actions/http-client/lib/interfaces.d.ts @@ -0,0 +1,44 @@ +/// +import * as http from 'http'; +import * as https from 'https'; +import { HttpClientResponse } from './index'; +export interface HttpClient { + options(requestUrl: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + get(requestUrl: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + del(requestUrl: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + post(requestUrl: string, data: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + patch(requestUrl: string, data: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + put(requestUrl: string, data: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + sendStream(verb: string, requestUrl: string, stream: NodeJS.ReadableStream, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + request(verb: string, requestUrl: string, data: string | NodeJS.ReadableStream, headers: http.OutgoingHttpHeaders): Promise; + requestRaw(info: RequestInfo, data: string | NodeJS.ReadableStream): Promise; + requestRawWithCallback(info: RequestInfo, data: string | NodeJS.ReadableStream, onResult: (err?: Error, res?: HttpClientResponse) => void): void; +} +export interface RequestHandler { + prepareRequest(options: http.RequestOptions): void; + canHandleAuthentication(response: HttpClientResponse): boolean; + handleAuthentication(httpClient: HttpClient, requestInfo: RequestInfo, data: string | NodeJS.ReadableStream | null): Promise; +} +export interface RequestInfo { + options: http.RequestOptions; + parsedUrl: URL; + httpModule: typeof http | typeof https; +} +export interface RequestOptions { + headers?: http.OutgoingHttpHeaders; + socketTimeout?: number; + ignoreSslError?: boolean; + allowRedirects?: boolean; + allowRedirectDowngrade?: boolean; + maxRedirects?: number; + maxSockets?: number; + keepAlive?: boolean; + deserializeDates?: boolean; + allowRetries?: boolean; + maxRetries?: number; +} +export interface TypedResponse { + statusCode: number; + result: T | null; + headers: http.IncomingHttpHeaders; +} diff --git a/node_modules/@actions/http-client/lib/interfaces.js b/node_modules/@actions/http-client/lib/interfaces.js new file mode 100644 index 0000000..db91911 --- /dev/null +++ b/node_modules/@actions/http-client/lib/interfaces.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=interfaces.js.map \ No newline at end of file diff --git a/node_modules/@actions/http-client/lib/interfaces.js.map b/node_modules/@actions/http-client/lib/interfaces.js.map new file mode 100644 index 0000000..8fb5f7d --- /dev/null +++ b/node_modules/@actions/http-client/lib/interfaces.js.map @@ -0,0 +1 @@ +{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/@actions/http-client/lib/proxy.d.ts b/node_modules/@actions/http-client/lib/proxy.d.ts new file mode 100644 index 0000000..4599865 --- /dev/null +++ b/node_modules/@actions/http-client/lib/proxy.d.ts @@ -0,0 +1,2 @@ +export declare function getProxyUrl(reqUrl: URL): URL | undefined; +export declare function checkBypass(reqUrl: URL): boolean; diff --git a/node_modules/@actions/http-client/lib/proxy.js b/node_modules/@actions/http-client/lib/proxy.js new file mode 100644 index 0000000..528ffe4 --- /dev/null +++ b/node_modules/@actions/http-client/lib/proxy.js @@ -0,0 +1,61 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.checkBypass = exports.getProxyUrl = void 0; +function getProxyUrl(reqUrl) { + const usingSsl = reqUrl.protocol === 'https:'; + if (checkBypass(reqUrl)) { + return undefined; + } + const proxyVar = (() => { + if (usingSsl) { + return process.env['https_proxy'] || process.env['HTTPS_PROXY']; + } + else { + return process.env['http_proxy'] || process.env['HTTP_PROXY']; + } + })(); + if (proxyVar) { + return new URL(proxyVar); + } + else { + return undefined; + } +} +exports.getProxyUrl = getProxyUrl; +function checkBypass(reqUrl) { + if (!reqUrl.hostname) { + return false; + } + const noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || ''; + if (!noProxy) { + return false; + } + // Determine the request port + let reqPort; + if (reqUrl.port) { + reqPort = Number(reqUrl.port); + } + else if (reqUrl.protocol === 'http:') { + reqPort = 80; + } + else if (reqUrl.protocol === 'https:') { + reqPort = 443; + } + // Format the request hostname and hostname with port + const upperReqHosts = [reqUrl.hostname.toUpperCase()]; + if (typeof reqPort === 'number') { + upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`); + } + // Compare request host against noproxy + for (const upperNoProxyItem of noProxy + .split(',') + .map(x => x.trim().toUpperCase()) + .filter(x => x)) { + if (upperReqHosts.some(x => x === upperNoProxyItem)) { + return true; + } + } + return false; +} +exports.checkBypass = checkBypass; +//# sourceMappingURL=proxy.js.map \ No newline at end of file diff --git a/node_modules/@actions/http-client/lib/proxy.js.map b/node_modules/@actions/http-client/lib/proxy.js.map new file mode 100644 index 0000000..4440de9 --- /dev/null +++ b/node_modules/@actions/http-client/lib/proxy.js.map @@ -0,0 +1 @@ +{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":";;;AAAA,SAAgB,WAAW,CAAC,MAAW;IACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAA;IAE7C,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE;QACvB,OAAO,SAAS,CAAA;KACjB;IAED,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE;QACrB,IAAI,QAAQ,EAAE;YACZ,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;SAChE;aAAM;YACL,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;SAC9D;IACH,CAAC,CAAC,EAAE,CAAA;IAEJ,IAAI,QAAQ,EAAE;QACZ,OAAO,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAA;KACzB;SAAM;QACL,OAAO,SAAS,CAAA;KACjB;AACH,CAAC;AApBD,kCAoBC;AAED,SAAgB,WAAW,CAAC,MAAW;IACrC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;QACpB,OAAO,KAAK,CAAA;KACb;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;IACxE,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,KAAK,CAAA;KACb;IAED,6BAA6B;IAC7B,IAAI,OAA2B,CAAA;IAC/B,IAAI,MAAM,CAAC,IAAI,EAAE;QACf,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;KAC9B;SAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,EAAE;QACtC,OAAO,GAAG,EAAE,CAAA;KACb;SAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE;QACvC,OAAO,GAAG,GAAG,CAAA;KACd;IAED,qDAAqD;IACrD,MAAM,aAAa,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAA;IACrD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC/B,aAAa,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAA;KACrD;IAED,uCAAuC;IACvC,KAAK,MAAM,gBAAgB,IAAI,OAAO;SACnC,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;SAChC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QACjB,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,gBAAgB,CAAC,EAAE;YACnD,OAAO,IAAI,CAAA;SACZ;KACF;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AArCD,kCAqCC"} \ No newline at end of file diff --git a/node_modules/@actions/http-client/package.json b/node_modules/@actions/http-client/package.json index 82e5a95..c1de221 100644 --- a/node_modules/@actions/http-client/package.json +++ b/node_modules/@actions/http-client/package.json @@ -1,39 +1,48 @@ { "name": "@actions/http-client", - "version": "1.0.9", + "version": "2.0.1", "description": "Actions Http Client", - "main": "index.js", - "scripts": { - "build": "rm -Rf ./_out && tsc && cp package*.json ./_out && cp *.md ./_out && cp LICENSE ./_out && cp actions.png ./_out", - "test": "jest", - "format": "prettier --write *.ts && prettier --write **/*.ts", - "format-check": "prettier --check *.ts && prettier --check **/*.ts", - "audit-check": "npm audit --audit-level=moderate" + "keywords": [ + "github", + "actions", + "http" + ], + "homepage": "https://github.com/actions/toolkit/tree/main/packages/http-client", + "license": "MIT", + "main": "lib/index.js", + "types": "lib/index.d.ts", + "directories": { + "lib": "lib", + "test": "__tests__" + }, + "files": [ + "lib", + "!.DS_Store" + ], + "publishConfig": { + "access": "public" }, "repository": { "type": "git", - "url": "git+https://github.com/actions/http-client.git" + "url": "git+https://github.com/actions/toolkit.git", + "directory": "packages/http-client" + }, + "scripts": { + "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json", + "test": "echo \"Error: run tests from root\" && exit 1", + "build": "tsc", + "format": "prettier --write **/*.ts", + "format-check": "prettier --check **/*.ts", + "tsc": "tsc" }, - "keywords": [ - "Actions", - "Http" - ], - "author": "GitHub, Inc.", - "license": "MIT", "bugs": { - "url": "https://github.com/actions/http-client/issues" + "url": "https://github.com/actions/toolkit/issues" }, - "homepage": "https://github.com/actions/http-client#readme", "devDependencies": { - "@types/jest": "^25.1.4", - "@types/node": "^12.12.31", - "jest": "^25.1.0", - "prettier": "^2.0.4", - "proxy": "^1.0.1", - "ts-jest": "^25.2.1", - "typescript": "^3.8.3" + "@types/tunnel": "0.0.3", + "proxy": "^1.0.1" }, "dependencies": { - "tunnel": "0.0.6" + "tunnel": "^0.0.6" } } diff --git a/node_modules/@octokit/auth-token/README.md b/node_modules/@octokit/auth-token/README.md index b4791f0..a1f6d35 100644 --- a/node_modules/@octokit/auth-token/README.md +++ b/node_modules/@octokit/auth-token/README.md @@ -58,11 +58,11 @@ const { createTokenAuth } = require("@octokit/auth-token"); ```js -const auth = createTokenAuth("1234567890abcdef1234567890abcdef12345678"); +const auth = createTokenAuth("ghp_PersonalAccessToken01245678900000000"); const authentication = await auth(); // { // type: 'token', -// token: '1234567890abcdef1234567890abcdef12345678', +// token: 'ghp_PersonalAccessToken01245678900000000', // tokenType: 'oauth' // } ``` @@ -73,17 +73,36 @@ The `createTokenAuth` method accepts a single argument of type string, which is - [Personal access token](https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line) - [OAuth access token](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/) -- Installation access token ([GitHub App Installation](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation)) - [GITHUB_TOKEN provided to GitHub Actions](https://developer.github.com/actions/creating-github-actions/accessing-the-runtime-environment/#environment-variables) +- Installation access token ([server-to-server](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation)) +- User authentication for installation ([user-to-server](https://docs.github.com/en/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps)) Examples ```js // Personal access token or OAuth access token -createTokenAuth("1234567890abcdef1234567890abcdef12345678"); +createTokenAuth("ghp_PersonalAccessToken01245678900000000"); +// { +// type: 'token', +// token: 'ghp_PersonalAccessToken01245678900000000', +// tokenType: 'oauth' +// } + +// Installation access token or GitHub Action token +createTokenAuth("ghs_InstallallationOrActionToken00000000"); +// { +// type: 'token', +// token: 'ghs_InstallallationOrActionToken00000000', +// tokenType: 'installation' +// } // Installation access token or GitHub Action token -createTokenAuth("v1.d3d433526f780fbcc3129004e2731b3904ad0b86"); +createTokenAuth("ghu_InstallationUserToServer000000000000"); +// { +// type: 'token', +// token: 'ghu_InstallationUserToServer000000000000', +// tokenType: 'user-to-server' +// } ``` ## `auth()` @@ -137,7 +156,7 @@ The `auth()` method has no options. It returns a promise which resolves with the string - Can be either "oauth" for personal access tokens and OAuth tokens, or "installation" for installation access tokens (includes GITHUB_TOKEN provided to GitHub Actions) + Can be either "oauth" for personal access tokens and OAuth tokens, "installation" for installation access tokens (includes GITHUB_TOKEN provided to GitHub Actions), "app" for a GitHub App JSON Web Token, or "user-to-server" for a user authentication token through an app installation. @@ -181,7 +200,7 @@ Here is a list of things you can do to retrieve further information Note that this does not work for installations. There is no way to retrieve permissions based on an installation access tokens. ```js -const TOKEN = "1234567890abcdef1234567890abcdef12345678"; +const TOKEN = "ghp_PersonalAccessToken01245678900000000"; const auth = createTokenAuth(TOKEN); const authentication = await auth(); @@ -203,7 +222,7 @@ if (scopes.length) { ### Find out if token is a personal access token or if it belongs to an OAuth app ```js -const TOKEN = "1234567890abcdef1234567890abcdef12345678"; +const TOKEN = "ghp_PersonalAccessToken01245678900000000"; const auth = createTokenAuth(TOKEN); const authentication = await auth(); @@ -227,7 +246,7 @@ if (clientId) { Note that the `permissions` key is not set when authenticated using an installation access token. ```js -const TOKEN = "1234567890abcdef1234567890abcdef12345678"; +const TOKEN = "ghp_PersonalAccessToken01245678900000000"; const auth = createTokenAuth(TOKEN); const authentication = await auth(); @@ -253,7 +272,7 @@ Both OAuth and installation access tokens can be used for git operations. Howeve This example is using the [`execa`](https://github.com/sindresorhus/execa) package to run a `git push` command. ```js -const TOKEN = "1234567890abcdef1234567890abcdef12345678"; +const TOKEN = "ghp_PersonalAccessToken01245678900000000"; const auth = createTokenAuth(TOKEN); const { token, tokenType } = await auth(); diff --git a/node_modules/@octokit/auth-token/dist-node/index.js b/node_modules/@octokit/auth-token/dist-node/index.js index 1394a5d..af0f0a6 100644 --- a/node_modules/@octokit/auth-token/dist-node/index.js +++ b/node_modules/@octokit/auth-token/dist-node/index.js @@ -2,8 +2,14 @@ Object.defineProperty(exports, '__esModule', { value: true }); +const REGEX_IS_INSTALLATION_LEGACY = /^v1\./; +const REGEX_IS_INSTALLATION = /^ghs_/; +const REGEX_IS_USER_TO_SERVER = /^ghu_/; async function auth(token) { - const tokenType = token.split(/\./).length === 3 ? "app" : /^v\d+\./.test(token) ? "installation" : "oauth"; + const isApp = token.split(/\./).length === 3; + const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token); + const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token); + const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth"; return { type: "token", token: token, diff --git a/node_modules/@octokit/auth-token/dist-node/index.js.map b/node_modules/@octokit/auth-token/dist-node/index.js.map index 46cf5e1..af0c2e2 100644 --- a/node_modules/@octokit/auth-token/dist-node/index.js.map +++ b/node_modules/@octokit/auth-token/dist-node/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sources":["../dist-src/auth.js","../dist-src/with-authorization-prefix.js","../dist-src/hook.js","../dist-src/index.js"],"sourcesContent":["export async function auth(token) {\n const tokenType = token.split(/\\./).length === 3\n ? \"app\"\n : /^v\\d+\\./.test(token)\n ? \"installation\"\n : \"oauth\";\n return {\n type: \"token\",\n token: token,\n tokenType\n };\n}\n","/**\n * Prefix token for usage in the Authorization header\n *\n * @param token OAuth token or JSON Web Token\n */\nexport function withAuthorizationPrefix(token) {\n if (token.split(/\\./).length === 3) {\n return `bearer ${token}`;\n }\n return `token ${token}`;\n}\n","import { withAuthorizationPrefix } from \"./with-authorization-prefix\";\nexport async function hook(token, request, route, parameters) {\n const endpoint = request.endpoint.merge(route, parameters);\n endpoint.headers.authorization = withAuthorizationPrefix(token);\n return request(endpoint);\n}\n","import { auth } from \"./auth\";\nimport { hook } from \"./hook\";\nexport const createTokenAuth = function createTokenAuth(token) {\n if (!token) {\n throw new Error(\"[@octokit/auth-token] No token passed to createTokenAuth\");\n }\n if (typeof token !== \"string\") {\n throw new Error(\"[@octokit/auth-token] Token passed to createTokenAuth is not a string\");\n }\n token = token.replace(/^(token|bearer) +/i, \"\");\n return Object.assign(auth.bind(null, token), {\n hook: hook.bind(null, token)\n });\n};\n"],"names":["auth","token","tokenType","split","length","test","type","withAuthorizationPrefix","hook","request","route","parameters","endpoint","merge","headers","authorization","createTokenAuth","Error","replace","Object","assign","bind"],"mappings":";;;;AAAO,eAAeA,IAAf,CAAoBC,KAApB,EAA2B;AAC9B,QAAMC,SAAS,GAAGD,KAAK,CAACE,KAAN,CAAY,IAAZ,EAAkBC,MAAlB,KAA6B,CAA7B,GACZ,KADY,GAEZ,UAAUC,IAAV,CAAeJ,KAAf,IACI,cADJ,GAEI,OAJV;AAKA,SAAO;AACHK,IAAAA,IAAI,EAAE,OADH;AAEHL,IAAAA,KAAK,EAAEA,KAFJ;AAGHC,IAAAA;AAHG,GAAP;AAKH;;ACXD;AACA;AACA;AACA;AACA;AACA,AAAO,SAASK,uBAAT,CAAiCN,KAAjC,EAAwC;AAC3C,MAAIA,KAAK,CAACE,KAAN,CAAY,IAAZ,EAAkBC,MAAlB,KAA6B,CAAjC,EAAoC;AAChC,WAAQ,UAASH,KAAM,EAAvB;AACH;;AACD,SAAQ,SAAQA,KAAM,EAAtB;AACH;;ACTM,eAAeO,IAAf,CAAoBP,KAApB,EAA2BQ,OAA3B,EAAoCC,KAApC,EAA2CC,UAA3C,EAAuD;AAC1D,QAAMC,QAAQ,GAAGH,OAAO,CAACG,QAAR,CAAiBC,KAAjB,CAAuBH,KAAvB,EAA8BC,UAA9B,CAAjB;AACAC,EAAAA,QAAQ,CAACE,OAAT,CAAiBC,aAAjB,GAAiCR,uBAAuB,CAACN,KAAD,CAAxD;AACA,SAAOQ,OAAO,CAACG,QAAD,CAAd;AACH;;MCHYI,eAAe,GAAG,SAASA,eAAT,CAAyBf,KAAzB,EAAgC;AAC3D,MAAI,CAACA,KAAL,EAAY;AACR,UAAM,IAAIgB,KAAJ,CAAU,0DAAV,CAAN;AACH;;AACD,MAAI,OAAOhB,KAAP,KAAiB,QAArB,EAA+B;AAC3B,UAAM,IAAIgB,KAAJ,CAAU,uEAAV,CAAN;AACH;;AACDhB,EAAAA,KAAK,GAAGA,KAAK,CAACiB,OAAN,CAAc,oBAAd,EAAoC,EAApC,CAAR;AACA,SAAOC,MAAM,CAACC,MAAP,CAAcpB,IAAI,CAACqB,IAAL,CAAU,IAAV,EAAgBpB,KAAhB,CAAd,EAAsC;AACzCO,IAAAA,IAAI,EAAEA,IAAI,CAACa,IAAL,CAAU,IAAV,EAAgBpB,KAAhB;AADmC,GAAtC,CAAP;AAGH,CAXM;;;;"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../dist-src/auth.js","../dist-src/with-authorization-prefix.js","../dist-src/hook.js","../dist-src/index.js"],"sourcesContent":["const REGEX_IS_INSTALLATION_LEGACY = /^v1\\./;\nconst REGEX_IS_INSTALLATION = /^ghs_/;\nconst REGEX_IS_USER_TO_SERVER = /^ghu_/;\nexport async function auth(token) {\n const isApp = token.split(/\\./).length === 3;\n const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) ||\n REGEX_IS_INSTALLATION.test(token);\n const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token);\n const tokenType = isApp\n ? \"app\"\n : isInstallation\n ? \"installation\"\n : isUserToServer\n ? \"user-to-server\"\n : \"oauth\";\n return {\n type: \"token\",\n token: token,\n tokenType,\n };\n}\n","/**\n * Prefix token for usage in the Authorization header\n *\n * @param token OAuth token or JSON Web Token\n */\nexport function withAuthorizationPrefix(token) {\n if (token.split(/\\./).length === 3) {\n return `bearer ${token}`;\n }\n return `token ${token}`;\n}\n","import { withAuthorizationPrefix } from \"./with-authorization-prefix\";\nexport async function hook(token, request, route, parameters) {\n const endpoint = request.endpoint.merge(route, parameters);\n endpoint.headers.authorization = withAuthorizationPrefix(token);\n return request(endpoint);\n}\n","import { auth } from \"./auth\";\nimport { hook } from \"./hook\";\nexport const createTokenAuth = function createTokenAuth(token) {\n if (!token) {\n throw new Error(\"[@octokit/auth-token] No token passed to createTokenAuth\");\n }\n if (typeof token !== \"string\") {\n throw new Error(\"[@octokit/auth-token] Token passed to createTokenAuth is not a string\");\n }\n token = token.replace(/^(token|bearer) +/i, \"\");\n return Object.assign(auth.bind(null, token), {\n hook: hook.bind(null, token),\n });\n};\n"],"names":["REGEX_IS_INSTALLATION_LEGACY","REGEX_IS_INSTALLATION","REGEX_IS_USER_TO_SERVER","auth","token","isApp","split","length","isInstallation","test","isUserToServer","tokenType","type","withAuthorizationPrefix","hook","request","route","parameters","endpoint","merge","headers","authorization","createTokenAuth","Error","replace","Object","assign","bind"],"mappings":";;;;AAAA,MAAMA,4BAA4B,GAAG,OAArC;AACA,MAAMC,qBAAqB,GAAG,OAA9B;AACA,MAAMC,uBAAuB,GAAG,OAAhC;AACO,eAAeC,IAAf,CAAoBC,KAApB,EAA2B;AAC9B,QAAMC,KAAK,GAAGD,KAAK,CAACE,KAAN,CAAY,IAAZ,EAAkBC,MAAlB,KAA6B,CAA3C;AACA,QAAMC,cAAc,GAAGR,4BAA4B,CAACS,IAA7B,CAAkCL,KAAlC,KACnBH,qBAAqB,CAACQ,IAAtB,CAA2BL,KAA3B,CADJ;AAEA,QAAMM,cAAc,GAAGR,uBAAuB,CAACO,IAAxB,CAA6BL,KAA7B,CAAvB;AACA,QAAMO,SAAS,GAAGN,KAAK,GACjB,KADiB,GAEjBG,cAAc,GACV,cADU,GAEVE,cAAc,GACV,gBADU,GAEV,OANd;AAOA,SAAO;AACHE,IAAAA,IAAI,EAAE,OADH;AAEHR,IAAAA,KAAK,EAAEA,KAFJ;AAGHO,IAAAA;AAHG,GAAP;AAKH;;ACpBD;AACA;AACA;AACA;AACA;AACA,AAAO,SAASE,uBAAT,CAAiCT,KAAjC,EAAwC;AAC3C,MAAIA,KAAK,CAACE,KAAN,CAAY,IAAZ,EAAkBC,MAAlB,KAA6B,CAAjC,EAAoC;AAChC,WAAQ,UAASH,KAAM,EAAvB;AACH;;AACD,SAAQ,SAAQA,KAAM,EAAtB;AACH;;ACTM,eAAeU,IAAf,CAAoBV,KAApB,EAA2BW,OAA3B,EAAoCC,KAApC,EAA2CC,UAA3C,EAAuD;AAC1D,QAAMC,QAAQ,GAAGH,OAAO,CAACG,QAAR,CAAiBC,KAAjB,CAAuBH,KAAvB,EAA8BC,UAA9B,CAAjB;AACAC,EAAAA,QAAQ,CAACE,OAAT,CAAiBC,aAAjB,GAAiCR,uBAAuB,CAACT,KAAD,CAAxD;AACA,SAAOW,OAAO,CAACG,QAAD,CAAd;AACH;;MCHYI,eAAe,GAAG,SAASA,eAAT,CAAyBlB,KAAzB,EAAgC;AAC3D,MAAI,CAACA,KAAL,EAAY;AACR,UAAM,IAAImB,KAAJ,CAAU,0DAAV,CAAN;AACH;;AACD,MAAI,OAAOnB,KAAP,KAAiB,QAArB,EAA+B;AAC3B,UAAM,IAAImB,KAAJ,CAAU,uEAAV,CAAN;AACH;;AACDnB,EAAAA,KAAK,GAAGA,KAAK,CAACoB,OAAN,CAAc,oBAAd,EAAoC,EAApC,CAAR;AACA,SAAOC,MAAM,CAACC,MAAP,CAAcvB,IAAI,CAACwB,IAAL,CAAU,IAAV,EAAgBvB,KAAhB,CAAd,EAAsC;AACzCU,IAAAA,IAAI,EAAEA,IAAI,CAACa,IAAL,CAAU,IAAV,EAAgBvB,KAAhB;AADmC,GAAtC,CAAP;AAGH,CAXM;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/auth-token/dist-src/auth.js b/node_modules/@octokit/auth-token/dist-src/auth.js index 2d5005c..b22ce98 100644 --- a/node_modules/@octokit/auth-token/dist-src/auth.js +++ b/node_modules/@octokit/auth-token/dist-src/auth.js @@ -1,12 +1,21 @@ +const REGEX_IS_INSTALLATION_LEGACY = /^v1\./; +const REGEX_IS_INSTALLATION = /^ghs_/; +const REGEX_IS_USER_TO_SERVER = /^ghu_/; export async function auth(token) { - const tokenType = token.split(/\./).length === 3 + const isApp = token.split(/\./).length === 3; + const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || + REGEX_IS_INSTALLATION.test(token); + const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token); + const tokenType = isApp ? "app" - : /^v\d+\./.test(token) + : isInstallation ? "installation" - : "oauth"; + : isUserToServer + ? "user-to-server" + : "oauth"; return { type: "token", token: token, - tokenType + tokenType, }; } diff --git a/node_modules/@octokit/auth-token/dist-src/index.js b/node_modules/@octokit/auth-token/dist-src/index.js index 114fd45..f2ddd63 100644 --- a/node_modules/@octokit/auth-token/dist-src/index.js +++ b/node_modules/@octokit/auth-token/dist-src/index.js @@ -9,6 +9,6 @@ export const createTokenAuth = function createTokenAuth(token) { } token = token.replace(/^(token|bearer) +/i, ""); return Object.assign(auth.bind(null, token), { - hook: hook.bind(null, token) + hook: hook.bind(null, token), }); }; diff --git a/node_modules/@octokit/auth-token/dist-types/types.d.ts b/node_modules/@octokit/auth-token/dist-types/types.d.ts index c302dc9..0ae24de 100644 --- a/node_modules/@octokit/auth-token/dist-types/types.d.ts +++ b/node_modules/@octokit/auth-token/dist-types/types.d.ts @@ -25,4 +25,9 @@ export declare type AppAuthentication = { tokenType: "app"; token: Token; }; -export declare type Authentication = OAuthTokenAuthentication | InstallationTokenAuthentication | AppAuthentication; +export declare type UserToServerAuthentication = { + type: "token"; + tokenType: "user-to-server"; + token: Token; +}; +export declare type Authentication = OAuthTokenAuthentication | InstallationTokenAuthentication | AppAuthentication | UserToServerAuthentication; diff --git a/node_modules/@octokit/auth-token/dist-web/index.js b/node_modules/@octokit/auth-token/dist-web/index.js index c15ca12..8b1cd7d 100644 --- a/node_modules/@octokit/auth-token/dist-web/index.js +++ b/node_modules/@octokit/auth-token/dist-web/index.js @@ -1,13 +1,22 @@ +const REGEX_IS_INSTALLATION_LEGACY = /^v1\./; +const REGEX_IS_INSTALLATION = /^ghs_/; +const REGEX_IS_USER_TO_SERVER = /^ghu_/; async function auth(token) { - const tokenType = token.split(/\./).length === 3 + const isApp = token.split(/\./).length === 3; + const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || + REGEX_IS_INSTALLATION.test(token); + const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token); + const tokenType = isApp ? "app" - : /^v\d+\./.test(token) + : isInstallation ? "installation" - : "oauth"; + : isUserToServer + ? "user-to-server" + : "oauth"; return { type: "token", token: token, - tokenType + tokenType, }; } @@ -38,7 +47,7 @@ const createTokenAuth = function createTokenAuth(token) { } token = token.replace(/^(token|bearer) +/i, ""); return Object.assign(auth.bind(null, token), { - hook: hook.bind(null, token) + hook: hook.bind(null, token), }); }; diff --git a/node_modules/@octokit/auth-token/dist-web/index.js.map b/node_modules/@octokit/auth-token/dist-web/index.js.map index 60de4a6..1d6197b 100644 --- a/node_modules/@octokit/auth-token/dist-web/index.js.map +++ b/node_modules/@octokit/auth-token/dist-web/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sources":["../dist-src/auth.js","../dist-src/with-authorization-prefix.js","../dist-src/hook.js","../dist-src/index.js"],"sourcesContent":["export async function auth(token) {\n const tokenType = token.split(/\\./).length === 3\n ? \"app\"\n : /^v\\d+\\./.test(token)\n ? \"installation\"\n : \"oauth\";\n return {\n type: \"token\",\n token: token,\n tokenType\n };\n}\n","/**\n * Prefix token for usage in the Authorization header\n *\n * @param token OAuth token or JSON Web Token\n */\nexport function withAuthorizationPrefix(token) {\n if (token.split(/\\./).length === 3) {\n return `bearer ${token}`;\n }\n return `token ${token}`;\n}\n","import { withAuthorizationPrefix } from \"./with-authorization-prefix\";\nexport async function hook(token, request, route, parameters) {\n const endpoint = request.endpoint.merge(route, parameters);\n endpoint.headers.authorization = withAuthorizationPrefix(token);\n return request(endpoint);\n}\n","import { auth } from \"./auth\";\nimport { hook } from \"./hook\";\nexport const createTokenAuth = function createTokenAuth(token) {\n if (!token) {\n throw new Error(\"[@octokit/auth-token] No token passed to createTokenAuth\");\n }\n if (typeof token !== \"string\") {\n throw new Error(\"[@octokit/auth-token] Token passed to createTokenAuth is not a string\");\n }\n token = token.replace(/^(token|bearer) +/i, \"\");\n return Object.assign(auth.bind(null, token), {\n hook: hook.bind(null, token)\n });\n};\n"],"names":[],"mappings":"AAAO,eAAe,IAAI,CAAC,KAAK,EAAE;AAClC,IAAI,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;AACpD,UAAU,KAAK;AACf,UAAU,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;AAC/B,cAAc,cAAc;AAC5B,cAAc,OAAO,CAAC;AACtB,IAAI,OAAO;AACX,QAAQ,IAAI,EAAE,OAAO;AACrB,QAAQ,KAAK,EAAE,KAAK;AACpB,QAAQ,SAAS;AACjB,KAAK,CAAC;AACN;;ACXA;AACA;AACA;AACA;AACA;AACA,AAAO,SAAS,uBAAuB,CAAC,KAAK,EAAE;AAC/C,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;AACxC,QAAQ,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;AACjC,KAAK;AACL,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAC5B,CAAC;;ACTM,eAAe,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE;AAC9D,IAAI,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAC/D,IAAI,QAAQ,CAAC,OAAO,CAAC,aAAa,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;AACpE,IAAI,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC;;ACHW,MAAC,eAAe,GAAG,SAAS,eAAe,CAAC,KAAK,EAAE;AAC/D,IAAI,IAAI,CAAC,KAAK,EAAE;AAChB,QAAQ,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;AACpF,KAAK;AACL,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACnC,QAAQ,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;AACjG,KAAK;AACL,IAAI,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;AACpD,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;AACjD,QAAQ,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;AACpC,KAAK,CAAC,CAAC;AACP,CAAC;;;;"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../dist-src/auth.js","../dist-src/with-authorization-prefix.js","../dist-src/hook.js","../dist-src/index.js"],"sourcesContent":["const REGEX_IS_INSTALLATION_LEGACY = /^v1\\./;\nconst REGEX_IS_INSTALLATION = /^ghs_/;\nconst REGEX_IS_USER_TO_SERVER = /^ghu_/;\nexport async function auth(token) {\n const isApp = token.split(/\\./).length === 3;\n const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) ||\n REGEX_IS_INSTALLATION.test(token);\n const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token);\n const tokenType = isApp\n ? \"app\"\n : isInstallation\n ? \"installation\"\n : isUserToServer\n ? \"user-to-server\"\n : \"oauth\";\n return {\n type: \"token\",\n token: token,\n tokenType,\n };\n}\n","/**\n * Prefix token for usage in the Authorization header\n *\n * @param token OAuth token or JSON Web Token\n */\nexport function withAuthorizationPrefix(token) {\n if (token.split(/\\./).length === 3) {\n return `bearer ${token}`;\n }\n return `token ${token}`;\n}\n","import { withAuthorizationPrefix } from \"./with-authorization-prefix\";\nexport async function hook(token, request, route, parameters) {\n const endpoint = request.endpoint.merge(route, parameters);\n endpoint.headers.authorization = withAuthorizationPrefix(token);\n return request(endpoint);\n}\n","import { auth } from \"./auth\";\nimport { hook } from \"./hook\";\nexport const createTokenAuth = function createTokenAuth(token) {\n if (!token) {\n throw new Error(\"[@octokit/auth-token] No token passed to createTokenAuth\");\n }\n if (typeof token !== \"string\") {\n throw new Error(\"[@octokit/auth-token] Token passed to createTokenAuth is not a string\");\n }\n token = token.replace(/^(token|bearer) +/i, \"\");\n return Object.assign(auth.bind(null, token), {\n hook: hook.bind(null, token),\n });\n};\n"],"names":[],"mappings":"AAAA,MAAM,4BAA4B,GAAG,OAAO,CAAC;AAC7C,MAAM,qBAAqB,GAAG,OAAO,CAAC;AACtC,MAAM,uBAAuB,GAAG,OAAO,CAAC;AACjC,eAAe,IAAI,CAAC,KAAK,EAAE;AAClC,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AACjD,IAAI,MAAM,cAAc,GAAG,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC;AACnE,QAAQ,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1C,IAAI,MAAM,cAAc,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/D,IAAI,MAAM,SAAS,GAAG,KAAK;AAC3B,UAAU,KAAK;AACf,UAAU,cAAc;AACxB,cAAc,cAAc;AAC5B,cAAc,cAAc;AAC5B,kBAAkB,gBAAgB;AAClC,kBAAkB,OAAO,CAAC;AAC1B,IAAI,OAAO;AACX,QAAQ,IAAI,EAAE,OAAO;AACrB,QAAQ,KAAK,EAAE,KAAK;AACpB,QAAQ,SAAS;AACjB,KAAK,CAAC;AACN;;ACpBA;AACA;AACA;AACA;AACA;AACA,AAAO,SAAS,uBAAuB,CAAC,KAAK,EAAE;AAC/C,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;AACxC,QAAQ,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;AACjC,KAAK;AACL,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAC5B,CAAC;;ACTM,eAAe,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE;AAC9D,IAAI,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAC/D,IAAI,QAAQ,CAAC,OAAO,CAAC,aAAa,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;AACpE,IAAI,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC;;ACHW,MAAC,eAAe,GAAG,SAAS,eAAe,CAAC,KAAK,EAAE;AAC/D,IAAI,IAAI,CAAC,KAAK,EAAE;AAChB,QAAQ,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;AACpF,KAAK;AACL,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACnC,QAAQ,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;AACjG,KAAK;AACL,IAAI,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;AACpD,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;AACjD,QAAQ,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;AACpC,KAAK,CAAC,CAAC;AACP,CAAC;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/auth-token/package.json b/node_modules/@octokit/auth-token/package.json index 5be9ea7..1b0df71 100644 --- a/node_modules/@octokit/auth-token/package.json +++ b/node_modules/@octokit/auth-token/package.json @@ -1,7 +1,7 @@ { "name": "@octokit/auth-token", "description": "GitHub API token authentication for browsers and Node.js", - "version": "2.4.5", + "version": "2.5.0", "license": "MIT", "files": [ "dist-*/", @@ -15,11 +15,7 @@ "authentication", "api" ], - "homepage": "https://github.com/octokit/auth-token.js#readme", - "bugs": { - "url": "https://github.com/octokit/auth-token.js/issues" - }, - "repository": "https://github.com/octokit/auth-token.js", + "repository": "github:octokit/auth-token.js", "dependencies": { "@octokit/types": "^6.0.3" }, @@ -31,11 +27,12 @@ "@pika/plugin-build-web": "^0.9.0", "@pika/plugin-ts-standard-pkg": "^0.9.0", "@types/fetch-mock": "^7.3.1", - "@types/jest": "^26.0.0", + "@types/jest": "^27.0.0", "fetch-mock": "^9.0.0", - "jest": "^26.0.0", + "jest": "^27.0.0", + "prettier": "2.4.1", "semantic-release": "^17.0.0", - "ts-jest": "^26.0.0", + "ts-jest": "^27.0.0-next.12", "typescript": "^4.0.0" }, "publishConfig": { diff --git a/node_modules/@octokit/core/README.md b/node_modules/@octokit/core/README.md index 80804b7..b540cb9 100644 --- a/node_modules/@octokit/core/README.md +++ b/node_modules/@octokit/core/README.md @@ -298,7 +298,9 @@ const octokit = new Octokit({ const { data } = await octokit.request("/user"); ``` -To use a different authentication strategy, set `options.authStrategy`. A set of officially supported authentication strategies can be retrieved from [`@octokit/auth`](https://github.com/octokit/auth-app.js#readme). Example +To use a different authentication strategy, set `options.authStrategy`. A list of authentication strategies is available at [octokit/authentication-strategies.js](https://github.com/octokit/authentication-strategies.js/#readme). + +Example ```js import { Octokit } from "@octokit/core"; @@ -358,7 +360,7 @@ octokit.hook.after("request", async (response, options) => { }); octokit.hook.error("request", async (error, options) => { if (error.status === 304) { - return findInCache(error.headers.etag); + return findInCache(error.response.headers.etag); } throw error; @@ -421,11 +423,19 @@ You can build your own Octokit class with preset default options and plugins. In ```js const { Octokit } = require("@octokit/core"); const MyActionOctokit = Octokit.plugin( - require("@octokit/plugin-paginate-rest"), - require("@octokit/plugin-throttling"), - require("@octokit/plugin-retry") + require("@octokit/plugin-paginate-rest").paginateRest, + require("@octokit/plugin-throttling").throttling, + require("@octokit/plugin-retry").retry ).defaults({ - authStrategy: require("@octokit/auth-action"), + throttle: { + onAbuseLimit: (retryAfter, options) => { + /* ... */ + }, + onRateLimit: (retryAfter, options) => { + /* ... */ + }, + }, + authStrategy: require("@octokit/auth-action").createActionAuth, userAgent: `my-octokit-action/v1.2.3`, }); diff --git a/node_modules/@octokit/core/dist-node/index.js b/node_modules/@octokit/core/dist-node/index.js index d33f9df..0f46e61 100644 --- a/node_modules/@octokit/core/dist-node/index.js +++ b/node_modules/@octokit/core/dist-node/index.js @@ -44,8 +44,9 @@ function _objectWithoutProperties(source, excluded) { return target; } -const VERSION = "3.2.5"; +const VERSION = "3.6.0"; +const _excluded = ["authStrategy"]; class Octokit { constructor(options = {}) { const hook = new beforeAfterHook.Collection(); @@ -53,6 +54,7 @@ class Octokit { baseUrl: request.request.endpoint.DEFAULTS.baseUrl, headers: {}, request: Object.assign({}, options.request, { + // @ts-ignore internal usage only, no need to type hook: hook.bind(null, "request") }), mediaType: { @@ -106,7 +108,7 @@ class Octokit { const { authStrategy } = options, - otherOptions = _objectWithoutProperties(options, ["authStrategy"]); + otherOptions = _objectWithoutProperties(options, _excluded); const auth = authStrategy(Object.assign({ request: this.request, diff --git a/node_modules/@octokit/core/dist-node/index.js.map b/node_modules/@octokit/core/dist-node/index.js.map index 326d1f0..3467e52 100644 --- a/node_modules/@octokit/core/dist-node/index.js.map +++ b/node_modules/@octokit/core/dist-node/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"3.2.5\";\n","import { getUserAgent } from \"universal-user-agent\";\nimport { Collection } from \"before-after-hook\";\nimport { request } from \"@octokit/request\";\nimport { withCustomRequest } from \"@octokit/graphql\";\nimport { createTokenAuth } from \"@octokit/auth-token\";\nimport { VERSION } from \"./version\";\nexport class Octokit {\n constructor(options = {}) {\n const hook = new Collection();\n const requestDefaults = {\n baseUrl: request.endpoint.DEFAULTS.baseUrl,\n headers: {},\n request: Object.assign({}, options.request, {\n hook: hook.bind(null, \"request\"),\n }),\n mediaType: {\n previews: [],\n format: \"\",\n },\n };\n // prepend default user agent with `options.userAgent` if set\n requestDefaults.headers[\"user-agent\"] = [\n options.userAgent,\n `octokit-core.js/${VERSION} ${getUserAgent()}`,\n ]\n .filter(Boolean)\n .join(\" \");\n if (options.baseUrl) {\n requestDefaults.baseUrl = options.baseUrl;\n }\n if (options.previews) {\n requestDefaults.mediaType.previews = options.previews;\n }\n if (options.timeZone) {\n requestDefaults.headers[\"time-zone\"] = options.timeZone;\n }\n this.request = request.defaults(requestDefaults);\n this.graphql = withCustomRequest(this.request).defaults(requestDefaults);\n this.log = Object.assign({\n debug: () => { },\n info: () => { },\n warn: console.warn.bind(console),\n error: console.error.bind(console),\n }, options.log);\n this.hook = hook;\n // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance\n // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered.\n // (2) If only `options.auth` is set, use the default token authentication strategy.\n // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance.\n // TODO: type `options.auth` based on `options.authStrategy`.\n if (!options.authStrategy) {\n if (!options.auth) {\n // (1)\n this.auth = async () => ({\n type: \"unauthenticated\",\n });\n }\n else {\n // (2)\n const auth = createTokenAuth(options.auth);\n // @ts-ignore ¯\\_(ツ)_/¯\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n }\n else {\n const { authStrategy, ...otherOptions } = options;\n const auth = authStrategy(Object.assign({\n request: this.request,\n log: this.log,\n // we pass the current octokit instance as well as its constructor options\n // to allow for authentication strategies that return a new octokit instance\n // that shares the same internal state as the current one. The original\n // requirement for this was the \"event-octokit\" authentication strategy\n // of https://github.com/probot/octokit-auth-probot.\n octokit: this,\n octokitOptions: otherOptions,\n }, options.auth));\n // @ts-ignore ¯\\_(ツ)_/¯\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n // apply plugins\n // https://stackoverflow.com/a/16345172\n const classConstructor = this.constructor;\n classConstructor.plugins.forEach((plugin) => {\n Object.assign(this, plugin(this, options));\n });\n }\n static defaults(defaults) {\n const OctokitWithDefaults = class extends this {\n constructor(...args) {\n const options = args[0] || {};\n if (typeof defaults === \"function\") {\n super(defaults(options));\n return;\n }\n super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent\n ? {\n userAgent: `${options.userAgent} ${defaults.userAgent}`,\n }\n : null));\n }\n };\n return OctokitWithDefaults;\n }\n /**\n * Attach a plugin (or many) to your Octokit instance.\n *\n * @example\n * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)\n */\n static plugin(...newPlugins) {\n var _a;\n const currentPlugins = this.plugins;\n const NewOctokit = (_a = class extends this {\n },\n _a.plugins = currentPlugins.concat(newPlugins.filter((plugin) => !currentPlugins.includes(plugin))),\n _a);\n return NewOctokit;\n }\n}\nOctokit.VERSION = VERSION;\nOctokit.plugins = [];\n"],"names":["VERSION","Octokit","constructor","options","hook","Collection","requestDefaults","baseUrl","request","endpoint","DEFAULTS","headers","Object","assign","bind","mediaType","previews","format","userAgent","getUserAgent","filter","Boolean","join","timeZone","defaults","graphql","withCustomRequest","log","debug","info","warn","console","error","authStrategy","auth","type","createTokenAuth","wrap","otherOptions","octokit","octokitOptions","classConstructor","plugins","forEach","plugin","OctokitWithDefaults","args","newPlugins","_a","currentPlugins","NewOctokit","concat","includes"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"3.6.0\";\n","import { getUserAgent } from \"universal-user-agent\";\nimport { Collection } from \"before-after-hook\";\nimport { request } from \"@octokit/request\";\nimport { withCustomRequest } from \"@octokit/graphql\";\nimport { createTokenAuth } from \"@octokit/auth-token\";\nimport { VERSION } from \"./version\";\nexport class Octokit {\n constructor(options = {}) {\n const hook = new Collection();\n const requestDefaults = {\n baseUrl: request.endpoint.DEFAULTS.baseUrl,\n headers: {},\n request: Object.assign({}, options.request, {\n // @ts-ignore internal usage only, no need to type\n hook: hook.bind(null, \"request\"),\n }),\n mediaType: {\n previews: [],\n format: \"\",\n },\n };\n // prepend default user agent with `options.userAgent` if set\n requestDefaults.headers[\"user-agent\"] = [\n options.userAgent,\n `octokit-core.js/${VERSION} ${getUserAgent()}`,\n ]\n .filter(Boolean)\n .join(\" \");\n if (options.baseUrl) {\n requestDefaults.baseUrl = options.baseUrl;\n }\n if (options.previews) {\n requestDefaults.mediaType.previews = options.previews;\n }\n if (options.timeZone) {\n requestDefaults.headers[\"time-zone\"] = options.timeZone;\n }\n this.request = request.defaults(requestDefaults);\n this.graphql = withCustomRequest(this.request).defaults(requestDefaults);\n this.log = Object.assign({\n debug: () => { },\n info: () => { },\n warn: console.warn.bind(console),\n error: console.error.bind(console),\n }, options.log);\n this.hook = hook;\n // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance\n // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered.\n // (2) If only `options.auth` is set, use the default token authentication strategy.\n // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance.\n // TODO: type `options.auth` based on `options.authStrategy`.\n if (!options.authStrategy) {\n if (!options.auth) {\n // (1)\n this.auth = async () => ({\n type: \"unauthenticated\",\n });\n }\n else {\n // (2)\n const auth = createTokenAuth(options.auth);\n // @ts-ignore ¯\\_(ツ)_/¯\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n }\n else {\n const { authStrategy, ...otherOptions } = options;\n const auth = authStrategy(Object.assign({\n request: this.request,\n log: this.log,\n // we pass the current octokit instance as well as its constructor options\n // to allow for authentication strategies that return a new octokit instance\n // that shares the same internal state as the current one. The original\n // requirement for this was the \"event-octokit\" authentication strategy\n // of https://github.com/probot/octokit-auth-probot.\n octokit: this,\n octokitOptions: otherOptions,\n }, options.auth));\n // @ts-ignore ¯\\_(ツ)_/¯\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n // apply plugins\n // https://stackoverflow.com/a/16345172\n const classConstructor = this.constructor;\n classConstructor.plugins.forEach((plugin) => {\n Object.assign(this, plugin(this, options));\n });\n }\n static defaults(defaults) {\n const OctokitWithDefaults = class extends this {\n constructor(...args) {\n const options = args[0] || {};\n if (typeof defaults === \"function\") {\n super(defaults(options));\n return;\n }\n super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent\n ? {\n userAgent: `${options.userAgent} ${defaults.userAgent}`,\n }\n : null));\n }\n };\n return OctokitWithDefaults;\n }\n /**\n * Attach a plugin (or many) to your Octokit instance.\n *\n * @example\n * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)\n */\n static plugin(...newPlugins) {\n var _a;\n const currentPlugins = this.plugins;\n const NewOctokit = (_a = class extends this {\n },\n _a.plugins = currentPlugins.concat(newPlugins.filter((plugin) => !currentPlugins.includes(plugin))),\n _a);\n return NewOctokit;\n }\n}\nOctokit.VERSION = VERSION;\nOctokit.plugins = [];\n"],"names":["VERSION","Octokit","constructor","options","hook","Collection","requestDefaults","baseUrl","request","endpoint","DEFAULTS","headers","Object","assign","bind","mediaType","previews","format","userAgent","getUserAgent","filter","Boolean","join","timeZone","defaults","graphql","withCustomRequest","log","debug","info","warn","console","error","authStrategy","auth","type","createTokenAuth","wrap","otherOptions","octokit","octokitOptions","classConstructor","plugins","forEach","plugin","OctokitWithDefaults","args","newPlugins","_a","currentPlugins","NewOctokit","concat","includes"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@octokit/core/dist-src/index.js b/node_modules/@octokit/core/dist-src/index.js index 75fd2ff..bdbc335 100644 --- a/node_modules/@octokit/core/dist-src/index.js +++ b/node_modules/@octokit/core/dist-src/index.js @@ -11,6 +11,7 @@ export class Octokit { baseUrl: request.endpoint.DEFAULTS.baseUrl, headers: {}, request: Object.assign({}, options.request, { + // @ts-ignore internal usage only, no need to type hook: hook.bind(null, "request"), }), mediaType: { diff --git a/node_modules/@octokit/core/dist-src/version.js b/node_modules/@octokit/core/dist-src/version.js index 845ddc0..bace1a9 100644 --- a/node_modules/@octokit/core/dist-src/version.js +++ b/node_modules/@octokit/core/dist-src/version.js @@ -1 +1 @@ -export const VERSION = "3.2.5"; +export const VERSION = "3.6.0"; diff --git a/node_modules/@octokit/core/dist-types/index.d.ts b/node_modules/@octokit/core/dist-types/index.d.ts index 1033622..b757c5b 100644 --- a/node_modules/@octokit/core/dist-types/index.d.ts +++ b/node_modules/@octokit/core/dist-types/index.d.ts @@ -1,14 +1,10 @@ import { HookCollection } from "before-after-hook"; import { request } from "@octokit/request"; import { graphql } from "@octokit/graphql"; -import { Constructor, OctokitOptions, OctokitPlugin, ReturnTypeOf, UnionToIntersection } from "./types"; +import { Constructor, Hooks, OctokitOptions, OctokitPlugin, ReturnTypeOf, UnionToIntersection } from "./types"; export declare class Octokit { static VERSION: string; - static defaults>(this: S, defaults: OctokitOptions | Function): { - new (...args: any[]): { - [x: string]: any; - }; - } & S; + static defaults>(this: S, defaults: OctokitOptions | Function): S; static plugins: OctokitPlugin[]; /** * Attach a plugin (or many) to your Octokit instance. @@ -18,12 +14,7 @@ export declare class Octokit { */ static plugin & { plugins: any[]; - }, T extends OctokitPlugin[]>(this: S, ...newPlugins: T): { - new (...args: any[]): { - [x: string]: any; - }; - plugins: any[]; - } & S & Constructor>>; + }, T extends OctokitPlugin[]>(this: S, ...newPlugins: T): S & Constructor>>; constructor(options?: OctokitOptions); request: typeof request; graphql: typeof graphql; @@ -34,7 +25,6 @@ export declare class Octokit { error: (message: string, additionalInfo?: object) => any; [key: string]: any; }; - hook: HookCollection; + hook: HookCollection; auth: (...args: unknown[]) => Promise; - [key: string]: any; } diff --git a/node_modules/@octokit/core/dist-types/types.d.ts b/node_modules/@octokit/core/dist-types/types.d.ts index 59b284e..3970d0d 100644 --- a/node_modules/@octokit/core/dist-types/types.d.ts +++ b/node_modules/@octokit/core/dist-types/types.d.ts @@ -1,7 +1,8 @@ import * as OctokitTypes from "@octokit/types"; +import { RequestError } from "@octokit/request-error"; import { Octokit } from "."; export declare type RequestParameters = OctokitTypes.RequestParameters; -export declare type OctokitOptions = { +export interface OctokitOptions { authStrategy?: any; auth?: any; userAgent?: string; @@ -16,9 +17,9 @@ export declare type OctokitOptions = { request?: OctokitTypes.RequestRequestOptions; timeZone?: string; [option: string]: any; -}; +} export declare type Constructor = new (...args: any[]) => T; -export declare type ReturnTypeOf = T extends AnyFunction ? ReturnType : T extends AnyFunction[] ? UnionToIntersection> : never; +export declare type ReturnTypeOf = T extends AnyFunction ? ReturnType : T extends AnyFunction[] ? UnionToIntersection, void>> : never; /** * @author https://stackoverflow.com/users/2887218/jcalz * @see https://stackoverflow.com/a/50375286/10325032 @@ -28,4 +29,16 @@ declare type AnyFunction = (...args: any) => any; export declare type OctokitPlugin = (octokit: Octokit, options: OctokitOptions) => { [key: string]: any; } | void; +export declare type Hooks = { + request: { + Options: Required; + Result: OctokitTypes.OctokitResponse; + Error: RequestError | Error; + }; + [key: string]: { + Options: unknown; + Result: unknown; + Error: unknown; + }; +}; export {}; diff --git a/node_modules/@octokit/core/dist-types/version.d.ts b/node_modules/@octokit/core/dist-types/version.d.ts index 5885c84..f1a3d02 100644 --- a/node_modules/@octokit/core/dist-types/version.d.ts +++ b/node_modules/@octokit/core/dist-types/version.d.ts @@ -1 +1 @@ -export declare const VERSION = "3.2.5"; +export declare const VERSION = "3.6.0"; diff --git a/node_modules/@octokit/core/dist-web/index.js b/node_modules/@octokit/core/dist-web/index.js index 384c077..741d231 100644 --- a/node_modules/@octokit/core/dist-web/index.js +++ b/node_modules/@octokit/core/dist-web/index.js @@ -4,7 +4,7 @@ import { request } from '@octokit/request'; import { withCustomRequest } from '@octokit/graphql'; import { createTokenAuth } from '@octokit/auth-token'; -const VERSION = "3.2.5"; +const VERSION = "3.6.0"; class Octokit { constructor(options = {}) { @@ -13,6 +13,7 @@ class Octokit { baseUrl: request.endpoint.DEFAULTS.baseUrl, headers: {}, request: Object.assign({}, options.request, { + // @ts-ignore internal usage only, no need to type hook: hook.bind(null, "request"), }), mediaType: { diff --git a/node_modules/@octokit/core/dist-web/index.js.map b/node_modules/@octokit/core/dist-web/index.js.map index dcc332c..238c82e 100644 --- a/node_modules/@octokit/core/dist-web/index.js.map +++ b/node_modules/@octokit/core/dist-web/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"3.2.5\";\n","import { getUserAgent } from \"universal-user-agent\";\nimport { Collection } from \"before-after-hook\";\nimport { request } from \"@octokit/request\";\nimport { withCustomRequest } from \"@octokit/graphql\";\nimport { createTokenAuth } from \"@octokit/auth-token\";\nimport { VERSION } from \"./version\";\nexport class Octokit {\n constructor(options = {}) {\n const hook = new Collection();\n const requestDefaults = {\n baseUrl: request.endpoint.DEFAULTS.baseUrl,\n headers: {},\n request: Object.assign({}, options.request, {\n hook: hook.bind(null, \"request\"),\n }),\n mediaType: {\n previews: [],\n format: \"\",\n },\n };\n // prepend default user agent with `options.userAgent` if set\n requestDefaults.headers[\"user-agent\"] = [\n options.userAgent,\n `octokit-core.js/${VERSION} ${getUserAgent()}`,\n ]\n .filter(Boolean)\n .join(\" \");\n if (options.baseUrl) {\n requestDefaults.baseUrl = options.baseUrl;\n }\n if (options.previews) {\n requestDefaults.mediaType.previews = options.previews;\n }\n if (options.timeZone) {\n requestDefaults.headers[\"time-zone\"] = options.timeZone;\n }\n this.request = request.defaults(requestDefaults);\n this.graphql = withCustomRequest(this.request).defaults(requestDefaults);\n this.log = Object.assign({\n debug: () => { },\n info: () => { },\n warn: console.warn.bind(console),\n error: console.error.bind(console),\n }, options.log);\n this.hook = hook;\n // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance\n // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered.\n // (2) If only `options.auth` is set, use the default token authentication strategy.\n // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance.\n // TODO: type `options.auth` based on `options.authStrategy`.\n if (!options.authStrategy) {\n if (!options.auth) {\n // (1)\n this.auth = async () => ({\n type: \"unauthenticated\",\n });\n }\n else {\n // (2)\n const auth = createTokenAuth(options.auth);\n // @ts-ignore ¯\\_(ツ)_/¯\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n }\n else {\n const { authStrategy, ...otherOptions } = options;\n const auth = authStrategy(Object.assign({\n request: this.request,\n log: this.log,\n // we pass the current octokit instance as well as its constructor options\n // to allow for authentication strategies that return a new octokit instance\n // that shares the same internal state as the current one. The original\n // requirement for this was the \"event-octokit\" authentication strategy\n // of https://github.com/probot/octokit-auth-probot.\n octokit: this,\n octokitOptions: otherOptions,\n }, options.auth));\n // @ts-ignore ¯\\_(ツ)_/¯\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n // apply plugins\n // https://stackoverflow.com/a/16345172\n const classConstructor = this.constructor;\n classConstructor.plugins.forEach((plugin) => {\n Object.assign(this, plugin(this, options));\n });\n }\n static defaults(defaults) {\n const OctokitWithDefaults = class extends this {\n constructor(...args) {\n const options = args[0] || {};\n if (typeof defaults === \"function\") {\n super(defaults(options));\n return;\n }\n super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent\n ? {\n userAgent: `${options.userAgent} ${defaults.userAgent}`,\n }\n : null));\n }\n };\n return OctokitWithDefaults;\n }\n /**\n * Attach a plugin (or many) to your Octokit instance.\n *\n * @example\n * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)\n */\n static plugin(...newPlugins) {\n var _a;\n const currentPlugins = this.plugins;\n const NewOctokit = (_a = class extends this {\n },\n _a.plugins = currentPlugins.concat(newPlugins.filter((plugin) => !currentPlugins.includes(plugin))),\n _a);\n return NewOctokit;\n }\n}\nOctokit.VERSION = VERSION;\nOctokit.plugins = [];\n"],"names":[],"mappings":";;;;;;AAAO,MAAM,OAAO,GAAG,mBAAmB;;ACMnC,MAAM,OAAO,CAAC;AACrB,IAAI,WAAW,CAAC,OAAO,GAAG,EAAE,EAAE;AAC9B,QAAQ,MAAM,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;AACtC,QAAQ,MAAM,eAAe,GAAG;AAChC,YAAY,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO;AACtD,YAAY,OAAO,EAAE,EAAE;AACvB,YAAY,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE;AACxD,gBAAgB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;AAChD,aAAa,CAAC;AACd,YAAY,SAAS,EAAE;AACvB,gBAAgB,QAAQ,EAAE,EAAE;AAC5B,gBAAgB,MAAM,EAAE,EAAE;AAC1B,aAAa;AACb,SAAS,CAAC;AACV;AACA,QAAQ,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG;AAChD,YAAY,OAAO,CAAC,SAAS;AAC7B,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;AAC1D,SAAS;AACT,aAAa,MAAM,CAAC,OAAO,CAAC;AAC5B,aAAa,IAAI,CAAC,GAAG,CAAC,CAAC;AACvB,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE;AAC7B,YAAY,eAAe,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;AACtD,SAAS;AACT,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE;AAC9B,YAAY,eAAe,CAAC,SAAS,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;AAClE,SAAS;AACT,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE;AAC9B,YAAY,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;AACpE,SAAS;AACT,QAAQ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;AACzD,QAAQ,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;AACjF,QAAQ,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;AACjC,YAAY,KAAK,EAAE,MAAM,GAAG;AAC5B,YAAY,IAAI,EAAE,MAAM,GAAG;AAC3B,YAAY,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;AAC5C,YAAY,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;AAC9C,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;AACxB,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACzB;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;AACnC,YAAY,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AAC/B;AACA,gBAAgB,IAAI,CAAC,IAAI,GAAG,aAAa;AACzC,oBAAoB,IAAI,EAAE,iBAAiB;AAC3C,iBAAiB,CAAC,CAAC;AACnB,aAAa;AACb,iBAAiB;AACjB;AACA,gBAAgB,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC3D;AACA,gBAAgB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AAChD,gBAAgB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACjC,aAAa;AACb,SAAS;AACT,aAAa;AACb,YAAY,MAAM,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC;AAC9D,YAAY,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC;AACpD,gBAAgB,OAAO,EAAE,IAAI,CAAC,OAAO;AACrC,gBAAgB,GAAG,EAAE,IAAI,CAAC,GAAG;AAC7B;AACA;AACA;AACA;AACA;AACA,gBAAgB,OAAO,EAAE,IAAI;AAC7B,gBAAgB,cAAc,EAAE,YAAY;AAC5C,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9B;AACA,YAAY,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5C,YAAY,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AAC7B,SAAS;AACT;AACA;AACA,QAAQ,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC;AAClD,QAAQ,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK;AACrD,YAAY,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AACvD,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,OAAO,QAAQ,CAAC,QAAQ,EAAE;AAC9B,QAAQ,MAAM,mBAAmB,GAAG,cAAc,IAAI,CAAC;AACvD,YAAY,WAAW,CAAC,GAAG,IAAI,EAAE;AACjC,gBAAgB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAC9C,gBAAgB,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;AACpD,oBAAoB,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7C,oBAAoB,OAAO;AAC3B,iBAAiB;AACjB,gBAAgB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS;AAClG,sBAAsB;AACtB,wBAAwB,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC/E,qBAAqB;AACrB,sBAAsB,IAAI,CAAC,CAAC,CAAC;AAC7B,aAAa;AACb,SAAS,CAAC;AACV,QAAQ,OAAO,mBAAmB,CAAC;AACnC,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO,MAAM,CAAC,GAAG,UAAU,EAAE;AACjC,QAAQ,IAAI,EAAE,CAAC;AACf,QAAQ,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC;AAC5C,QAAQ,MAAM,UAAU,IAAI,EAAE,GAAG,cAAc,IAAI,CAAC;AACpD,aAAa;AACb,YAAY,EAAE,CAAC,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/G,YAAY,EAAE,CAAC,CAAC;AAChB,QAAQ,OAAO,UAAU,CAAC;AAC1B,KAAK;AACL,CAAC;AACD,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;AAC1B,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;;;;"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"3.6.0\";\n","import { getUserAgent } from \"universal-user-agent\";\nimport { Collection } from \"before-after-hook\";\nimport { request } from \"@octokit/request\";\nimport { withCustomRequest } from \"@octokit/graphql\";\nimport { createTokenAuth } from \"@octokit/auth-token\";\nimport { VERSION } from \"./version\";\nexport class Octokit {\n constructor(options = {}) {\n const hook = new Collection();\n const requestDefaults = {\n baseUrl: request.endpoint.DEFAULTS.baseUrl,\n headers: {},\n request: Object.assign({}, options.request, {\n // @ts-ignore internal usage only, no need to type\n hook: hook.bind(null, \"request\"),\n }),\n mediaType: {\n previews: [],\n format: \"\",\n },\n };\n // prepend default user agent with `options.userAgent` if set\n requestDefaults.headers[\"user-agent\"] = [\n options.userAgent,\n `octokit-core.js/${VERSION} ${getUserAgent()}`,\n ]\n .filter(Boolean)\n .join(\" \");\n if (options.baseUrl) {\n requestDefaults.baseUrl = options.baseUrl;\n }\n if (options.previews) {\n requestDefaults.mediaType.previews = options.previews;\n }\n if (options.timeZone) {\n requestDefaults.headers[\"time-zone\"] = options.timeZone;\n }\n this.request = request.defaults(requestDefaults);\n this.graphql = withCustomRequest(this.request).defaults(requestDefaults);\n this.log = Object.assign({\n debug: () => { },\n info: () => { },\n warn: console.warn.bind(console),\n error: console.error.bind(console),\n }, options.log);\n this.hook = hook;\n // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance\n // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered.\n // (2) If only `options.auth` is set, use the default token authentication strategy.\n // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance.\n // TODO: type `options.auth` based on `options.authStrategy`.\n if (!options.authStrategy) {\n if (!options.auth) {\n // (1)\n this.auth = async () => ({\n type: \"unauthenticated\",\n });\n }\n else {\n // (2)\n const auth = createTokenAuth(options.auth);\n // @ts-ignore ¯\\_(ツ)_/¯\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n }\n else {\n const { authStrategy, ...otherOptions } = options;\n const auth = authStrategy(Object.assign({\n request: this.request,\n log: this.log,\n // we pass the current octokit instance as well as its constructor options\n // to allow for authentication strategies that return a new octokit instance\n // that shares the same internal state as the current one. The original\n // requirement for this was the \"event-octokit\" authentication strategy\n // of https://github.com/probot/octokit-auth-probot.\n octokit: this,\n octokitOptions: otherOptions,\n }, options.auth));\n // @ts-ignore ¯\\_(ツ)_/¯\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n // apply plugins\n // https://stackoverflow.com/a/16345172\n const classConstructor = this.constructor;\n classConstructor.plugins.forEach((plugin) => {\n Object.assign(this, plugin(this, options));\n });\n }\n static defaults(defaults) {\n const OctokitWithDefaults = class extends this {\n constructor(...args) {\n const options = args[0] || {};\n if (typeof defaults === \"function\") {\n super(defaults(options));\n return;\n }\n super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent\n ? {\n userAgent: `${options.userAgent} ${defaults.userAgent}`,\n }\n : null));\n }\n };\n return OctokitWithDefaults;\n }\n /**\n * Attach a plugin (or many) to your Octokit instance.\n *\n * @example\n * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)\n */\n static plugin(...newPlugins) {\n var _a;\n const currentPlugins = this.plugins;\n const NewOctokit = (_a = class extends this {\n },\n _a.plugins = currentPlugins.concat(newPlugins.filter((plugin) => !currentPlugins.includes(plugin))),\n _a);\n return NewOctokit;\n }\n}\nOctokit.VERSION = VERSION;\nOctokit.plugins = [];\n"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@octokit/core/package.json b/node_modules/@octokit/core/package.json index 8e41d30..548e76c 100644 --- a/node_modules/@octokit/core/package.json +++ b/node_modules/@octokit/core/package.json @@ -1,7 +1,7 @@ { "name": "@octokit/core", "description": "Extendable client for GitHub's REST & GraphQL APIs", - "version": "3.2.5", + "version": "3.6.0", "license": "MIT", "files": [ "dist-*/", @@ -16,13 +16,14 @@ "sdk", "toolkit" ], - "repository": "https://github.com/octokit/core.js", + "repository": "github:octokit/core.js", "dependencies": { "@octokit/auth-token": "^2.4.4", "@octokit/graphql": "^4.5.8", - "@octokit/request": "^5.4.12", + "@octokit/request": "^5.6.3", + "@octokit/request-error": "^2.0.5", "@octokit/types": "^6.0.3", - "before-after-hook": "^2.1.0", + "before-after-hook": "^2.2.0", "universal-user-agent": "^6.0.0" }, "devDependencies": { @@ -32,19 +33,18 @@ "@pika/plugin-build-web": "^0.9.0", "@pika/plugin-ts-standard-pkg": "^0.9.0", "@types/fetch-mock": "^7.3.1", - "@types/jest": "^26.0.0", + "@types/jest": "^27.0.0", "@types/lolex": "^5.1.0", "@types/node": "^14.0.4", - "@types/node-fetch": "^2.5.0", "fetch-mock": "^9.0.0", - "http-proxy-agent": "^4.0.1", - "jest": "^26.1.0", + "http-proxy-agent": "^5.0.0", + "jest": "^27.0.0", "lolex": "^6.0.0", - "prettier": "^2.0.4", + "prettier": "2.4.1", "proxy": "^1.0.1", - "semantic-release": "^17.0.0", + "semantic-release": "^18.0.0", "semantic-release-plugin-update-version-in-files": "^1.0.0", - "ts-jest": "^26.1.3", + "ts-jest": "^27.0.0", "typescript": "^4.0.2" }, "publishConfig": { diff --git a/node_modules/@octokit/endpoint/dist-node/index.js b/node_modules/@octokit/endpoint/dist-node/index.js index 4074d68..70f24ff 100644 --- a/node_modules/@octokit/endpoint/dist-node/index.js +++ b/node_modules/@octokit/endpoint/dist-node/index.js @@ -366,7 +366,7 @@ function withDefaults(oldDefaults, newDefaults) { }); } -const VERSION = "6.0.11"; +const VERSION = "6.0.12"; const userAgent = `octokit-endpoint.js/${VERSION} ${universalUserAgent.getUserAgent()}`; // DEFAULTS has all properties set that EndpointOptions has, except url. // So we use RequestParameters and add method as additional required property. diff --git a/node_modules/@octokit/endpoint/dist-node/index.js.map b/node_modules/@octokit/endpoint/dist-node/index.js.map index 0783c99..003e4f2 100644 --- a/node_modules/@octokit/endpoint/dist-node/index.js.map +++ b/node_modules/@octokit/endpoint/dist-node/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sources":["../dist-src/util/lowercase-keys.js","../dist-src/util/merge-deep.js","../dist-src/util/remove-undefined-properties.js","../dist-src/merge.js","../dist-src/util/add-query-parameters.js","../dist-src/util/extract-url-variable-names.js","../dist-src/util/omit.js","../dist-src/util/url-template.js","../dist-src/parse.js","../dist-src/endpoint-with-defaults.js","../dist-src/with-defaults.js","../dist-src/version.js","../dist-src/defaults.js","../dist-src/index.js"],"sourcesContent":["export function lowercaseKeys(object) {\n if (!object) {\n return {};\n }\n return Object.keys(object).reduce((newObj, key) => {\n newObj[key.toLowerCase()] = object[key];\n return newObj;\n }, {});\n}\n","import { isPlainObject } from \"is-plain-object\";\nexport function mergeDeep(defaults, options) {\n const result = Object.assign({}, defaults);\n Object.keys(options).forEach((key) => {\n if (isPlainObject(options[key])) {\n if (!(key in defaults))\n Object.assign(result, { [key]: options[key] });\n else\n result[key] = mergeDeep(defaults[key], options[key]);\n }\n else {\n Object.assign(result, { [key]: options[key] });\n }\n });\n return result;\n}\n","export function removeUndefinedProperties(obj) {\n for (const key in obj) {\n if (obj[key] === undefined) {\n delete obj[key];\n }\n }\n return obj;\n}\n","import { lowercaseKeys } from \"./util/lowercase-keys\";\nimport { mergeDeep } from \"./util/merge-deep\";\nimport { removeUndefinedProperties } from \"./util/remove-undefined-properties\";\nexport function merge(defaults, route, options) {\n if (typeof route === \"string\") {\n let [method, url] = route.split(\" \");\n options = Object.assign(url ? { method, url } : { url: method }, options);\n }\n else {\n options = Object.assign({}, route);\n }\n // lowercase header names before merging with defaults to avoid duplicates\n options.headers = lowercaseKeys(options.headers);\n // remove properties with undefined values before merging\n removeUndefinedProperties(options);\n removeUndefinedProperties(options.headers);\n const mergedOptions = mergeDeep(defaults || {}, options);\n // mediaType.previews arrays are merged, instead of overwritten\n if (defaults && defaults.mediaType.previews.length) {\n mergedOptions.mediaType.previews = defaults.mediaType.previews\n .filter((preview) => !mergedOptions.mediaType.previews.includes(preview))\n .concat(mergedOptions.mediaType.previews);\n }\n mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map((preview) => preview.replace(/-preview/, \"\"));\n return mergedOptions;\n}\n","export function addQueryParameters(url, parameters) {\n const separator = /\\?/.test(url) ? \"&\" : \"?\";\n const names = Object.keys(parameters);\n if (names.length === 0) {\n return url;\n }\n return (url +\n separator +\n names\n .map((name) => {\n if (name === \"q\") {\n return (\"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\"));\n }\n return `${name}=${encodeURIComponent(parameters[name])}`;\n })\n .join(\"&\"));\n}\n","const urlVariableRegex = /\\{[^}]+\\}/g;\nfunction removeNonChars(variableName) {\n return variableName.replace(/^\\W+|\\W+$/g, \"\").split(/,/);\n}\nexport function extractUrlVariableNames(url) {\n const matches = url.match(urlVariableRegex);\n if (!matches) {\n return [];\n }\n return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);\n}\n","export function omit(object, keysToOmit) {\n return Object.keys(object)\n .filter((option) => !keysToOmit.includes(option))\n .reduce((obj, key) => {\n obj[key] = object[key];\n return obj;\n }, {});\n}\n","// Based on https://github.com/bramstein/url-template, licensed under BSD\n// TODO: create separate package.\n//\n// Copyright (c) 2012-2014, Bram Stein\n// All rights reserved.\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions\n// are met:\n// 1. Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n// 2. Redistributions in binary form must reproduce the above copyright\n// notice, this list of conditions and the following disclaimer in the\n// documentation and/or other materials provided with the distribution.\n// 3. The name of the author may not be used to endorse or promote products\n// derived from this software without specific prior written permission.\n// THIS SOFTWARE IS PROVIDED BY THE AUTHOR \"AS IS\" AND ANY EXPRESS OR IMPLIED\n// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO\n// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n/* istanbul ignore file */\nfunction encodeReserved(str) {\n return str\n .split(/(%[0-9A-Fa-f]{2})/g)\n .map(function (part) {\n if (!/%[0-9A-Fa-f]/.test(part)) {\n part = encodeURI(part).replace(/%5B/g, \"[\").replace(/%5D/g, \"]\");\n }\n return part;\n })\n .join(\"\");\n}\nfunction encodeUnreserved(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\nfunction encodeValue(operator, value, key) {\n value =\n operator === \"+\" || operator === \"#\"\n ? encodeReserved(value)\n : encodeUnreserved(value);\n if (key) {\n return encodeUnreserved(key) + \"=\" + value;\n }\n else {\n return value;\n }\n}\nfunction isDefined(value) {\n return value !== undefined && value !== null;\n}\nfunction isKeyOperator(operator) {\n return operator === \";\" || operator === \"&\" || operator === \"?\";\n}\nfunction getValues(context, operator, key, modifier) {\n var value = context[key], result = [];\n if (isDefined(value) && value !== \"\") {\n if (typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\") {\n value = value.toString();\n if (modifier && modifier !== \"*\") {\n value = value.substring(0, parseInt(modifier, 10));\n }\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n }\n else {\n if (modifier === \"*\") {\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n });\n }\n else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n result.push(encodeValue(operator, value[k], k));\n }\n });\n }\n }\n else {\n const tmp = [];\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n tmp.push(encodeValue(operator, value));\n });\n }\n else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n tmp.push(encodeUnreserved(k));\n tmp.push(encodeValue(operator, value[k].toString()));\n }\n });\n }\n if (isKeyOperator(operator)) {\n result.push(encodeUnreserved(key) + \"=\" + tmp.join(\",\"));\n }\n else if (tmp.length !== 0) {\n result.push(tmp.join(\",\"));\n }\n }\n }\n }\n else {\n if (operator === \";\") {\n if (isDefined(value)) {\n result.push(encodeUnreserved(key));\n }\n }\n else if (value === \"\" && (operator === \"&\" || operator === \"?\")) {\n result.push(encodeUnreserved(key) + \"=\");\n }\n else if (value === \"\") {\n result.push(\"\");\n }\n }\n return result;\n}\nexport function parseUrl(template) {\n return {\n expand: expand.bind(null, template),\n };\n}\nfunction expand(template, context) {\n var operators = [\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"];\n return template.replace(/\\{([^\\{\\}]+)\\}|([^\\{\\}]+)/g, function (_, expression, literal) {\n if (expression) {\n let operator = \"\";\n const values = [];\n if (operators.indexOf(expression.charAt(0)) !== -1) {\n operator = expression.charAt(0);\n expression = expression.substr(1);\n }\n expression.split(/,/g).forEach(function (variable) {\n var tmp = /([^:\\*]*)(?::(\\d+)|(\\*))?/.exec(variable);\n values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));\n });\n if (operator && operator !== \"+\") {\n var separator = \",\";\n if (operator === \"?\") {\n separator = \"&\";\n }\n else if (operator !== \"#\") {\n separator = operator;\n }\n return (values.length !== 0 ? operator : \"\") + values.join(separator);\n }\n else {\n return values.join(\",\");\n }\n }\n else {\n return encodeReserved(literal);\n }\n });\n}\n","import { addQueryParameters } from \"./util/add-query-parameters\";\nimport { extractUrlVariableNames } from \"./util/extract-url-variable-names\";\nimport { omit } from \"./util/omit\";\nimport { parseUrl } from \"./util/url-template\";\nexport function parse(options) {\n // https://fetch.spec.whatwg.org/#methods\n let method = options.method.toUpperCase();\n // replace :varname with {varname} to make it RFC 6570 compatible\n let url = (options.url || \"/\").replace(/:([a-z]\\w+)/g, \"{$1}\");\n let headers = Object.assign({}, options.headers);\n let body;\n let parameters = omit(options, [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"mediaType\",\n ]);\n // extract variable names from URL to calculate remaining variables later\n const urlVariableNames = extractUrlVariableNames(url);\n url = parseUrl(url).expand(parameters);\n if (!/^http/.test(url)) {\n url = options.baseUrl + url;\n }\n const omittedParameters = Object.keys(options)\n .filter((option) => urlVariableNames.includes(option))\n .concat(\"baseUrl\");\n const remainingParameters = omit(parameters, omittedParameters);\n const isBinaryRequest = /application\\/octet-stream/i.test(headers.accept);\n if (!isBinaryRequest) {\n if (options.mediaType.format) {\n // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw\n headers.accept = headers.accept\n .split(/,/)\n .map((preview) => preview.replace(/application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`))\n .join(\",\");\n }\n if (options.mediaType.previews.length) {\n const previewsFromAcceptHeader = headers.accept.match(/[\\w-]+(?=-preview)/g) || [];\n headers.accept = previewsFromAcceptHeader\n .concat(options.mediaType.previews)\n .map((preview) => {\n const format = options.mediaType.format\n ? `.${options.mediaType.format}`\n : \"+json\";\n return `application/vnd.github.${preview}-preview${format}`;\n })\n .join(\",\");\n }\n }\n // for GET/HEAD requests, set URL query parameters from remaining parameters\n // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters\n if ([\"GET\", \"HEAD\"].includes(method)) {\n url = addQueryParameters(url, remainingParameters);\n }\n else {\n if (\"data\" in remainingParameters) {\n body = remainingParameters.data;\n }\n else {\n if (Object.keys(remainingParameters).length) {\n body = remainingParameters;\n }\n else {\n headers[\"content-length\"] = 0;\n }\n }\n }\n // default content-type for JSON if body is set\n if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n headers[\"content-type\"] = \"application/json; charset=utf-8\";\n }\n // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body.\n // fetch does not allow to set `content-length` header, but we can set body to an empty string\n if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n body = \"\";\n }\n // Only return body/request keys if present\n return Object.assign({ method, url, headers }, typeof body !== \"undefined\" ? { body } : null, options.request ? { request: options.request } : null);\n}\n","import { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nexport function endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\n","import { endpointWithDefaults } from \"./endpoint-with-defaults\";\nimport { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nexport function withDefaults(oldDefaults, newDefaults) {\n const DEFAULTS = merge(oldDefaults, newDefaults);\n const endpoint = endpointWithDefaults.bind(null, DEFAULTS);\n return Object.assign(endpoint, {\n DEFAULTS,\n defaults: withDefaults.bind(null, DEFAULTS),\n merge: merge.bind(null, DEFAULTS),\n parse,\n });\n}\n","export const VERSION = \"6.0.11\";\n","import { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nconst userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;\n// DEFAULTS has all properties set that EndpointOptions has, except url.\n// So we use RequestParameters and add method as additional required property.\nexport const DEFAULTS = {\n method: \"GET\",\n baseUrl: \"https://api.github.com\",\n headers: {\n accept: \"application/vnd.github.v3+json\",\n \"user-agent\": userAgent,\n },\n mediaType: {\n format: \"\",\n previews: [],\n },\n};\n","import { withDefaults } from \"./with-defaults\";\nimport { DEFAULTS } from \"./defaults\";\nexport const endpoint = withDefaults(null, DEFAULTS);\n"],"names":["lowercaseKeys","object","Object","keys","reduce","newObj","key","toLowerCase","mergeDeep","defaults","options","result","assign","forEach","isPlainObject","removeUndefinedProperties","obj","undefined","merge","route","method","url","split","headers","mergedOptions","mediaType","previews","length","filter","preview","includes","concat","map","replace","addQueryParameters","parameters","separator","test","names","name","q","encodeURIComponent","join","urlVariableRegex","removeNonChars","variableName","extractUrlVariableNames","matches","match","a","b","omit","keysToOmit","option","encodeReserved","str","part","encodeURI","encodeUnreserved","c","charCodeAt","toString","toUpperCase","encodeValue","operator","value","isDefined","isKeyOperator","getValues","context","modifier","substring","parseInt","push","Array","isArray","k","tmp","parseUrl","template","expand","bind","operators","_","expression","literal","values","indexOf","charAt","substr","variable","exec","parse","body","urlVariableNames","baseUrl","omittedParameters","remainingParameters","isBinaryRequest","accept","format","previewsFromAcceptHeader","data","request","endpointWithDefaults","withDefaults","oldDefaults","newDefaults","DEFAULTS","endpoint","VERSION","userAgent","getUserAgent"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../dist-src/util/lowercase-keys.js","../dist-src/util/merge-deep.js","../dist-src/util/remove-undefined-properties.js","../dist-src/merge.js","../dist-src/util/add-query-parameters.js","../dist-src/util/extract-url-variable-names.js","../dist-src/util/omit.js","../dist-src/util/url-template.js","../dist-src/parse.js","../dist-src/endpoint-with-defaults.js","../dist-src/with-defaults.js","../dist-src/version.js","../dist-src/defaults.js","../dist-src/index.js"],"sourcesContent":["export function lowercaseKeys(object) {\n if (!object) {\n return {};\n }\n return Object.keys(object).reduce((newObj, key) => {\n newObj[key.toLowerCase()] = object[key];\n return newObj;\n }, {});\n}\n","import { isPlainObject } from \"is-plain-object\";\nexport function mergeDeep(defaults, options) {\n const result = Object.assign({}, defaults);\n Object.keys(options).forEach((key) => {\n if (isPlainObject(options[key])) {\n if (!(key in defaults))\n Object.assign(result, { [key]: options[key] });\n else\n result[key] = mergeDeep(defaults[key], options[key]);\n }\n else {\n Object.assign(result, { [key]: options[key] });\n }\n });\n return result;\n}\n","export function removeUndefinedProperties(obj) {\n for (const key in obj) {\n if (obj[key] === undefined) {\n delete obj[key];\n }\n }\n return obj;\n}\n","import { lowercaseKeys } from \"./util/lowercase-keys\";\nimport { mergeDeep } from \"./util/merge-deep\";\nimport { removeUndefinedProperties } from \"./util/remove-undefined-properties\";\nexport function merge(defaults, route, options) {\n if (typeof route === \"string\") {\n let [method, url] = route.split(\" \");\n options = Object.assign(url ? { method, url } : { url: method }, options);\n }\n else {\n options = Object.assign({}, route);\n }\n // lowercase header names before merging with defaults to avoid duplicates\n options.headers = lowercaseKeys(options.headers);\n // remove properties with undefined values before merging\n removeUndefinedProperties(options);\n removeUndefinedProperties(options.headers);\n const mergedOptions = mergeDeep(defaults || {}, options);\n // mediaType.previews arrays are merged, instead of overwritten\n if (defaults && defaults.mediaType.previews.length) {\n mergedOptions.mediaType.previews = defaults.mediaType.previews\n .filter((preview) => !mergedOptions.mediaType.previews.includes(preview))\n .concat(mergedOptions.mediaType.previews);\n }\n mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map((preview) => preview.replace(/-preview/, \"\"));\n return mergedOptions;\n}\n","export function addQueryParameters(url, parameters) {\n const separator = /\\?/.test(url) ? \"&\" : \"?\";\n const names = Object.keys(parameters);\n if (names.length === 0) {\n return url;\n }\n return (url +\n separator +\n names\n .map((name) => {\n if (name === \"q\") {\n return (\"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\"));\n }\n return `${name}=${encodeURIComponent(parameters[name])}`;\n })\n .join(\"&\"));\n}\n","const urlVariableRegex = /\\{[^}]+\\}/g;\nfunction removeNonChars(variableName) {\n return variableName.replace(/^\\W+|\\W+$/g, \"\").split(/,/);\n}\nexport function extractUrlVariableNames(url) {\n const matches = url.match(urlVariableRegex);\n if (!matches) {\n return [];\n }\n return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);\n}\n","export function omit(object, keysToOmit) {\n return Object.keys(object)\n .filter((option) => !keysToOmit.includes(option))\n .reduce((obj, key) => {\n obj[key] = object[key];\n return obj;\n }, {});\n}\n","// Based on https://github.com/bramstein/url-template, licensed under BSD\n// TODO: create separate package.\n//\n// Copyright (c) 2012-2014, Bram Stein\n// All rights reserved.\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions\n// are met:\n// 1. Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n// 2. Redistributions in binary form must reproduce the above copyright\n// notice, this list of conditions and the following disclaimer in the\n// documentation and/or other materials provided with the distribution.\n// 3. The name of the author may not be used to endorse or promote products\n// derived from this software without specific prior written permission.\n// THIS SOFTWARE IS PROVIDED BY THE AUTHOR \"AS IS\" AND ANY EXPRESS OR IMPLIED\n// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO\n// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n/* istanbul ignore file */\nfunction encodeReserved(str) {\n return str\n .split(/(%[0-9A-Fa-f]{2})/g)\n .map(function (part) {\n if (!/%[0-9A-Fa-f]/.test(part)) {\n part = encodeURI(part).replace(/%5B/g, \"[\").replace(/%5D/g, \"]\");\n }\n return part;\n })\n .join(\"\");\n}\nfunction encodeUnreserved(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\nfunction encodeValue(operator, value, key) {\n value =\n operator === \"+\" || operator === \"#\"\n ? encodeReserved(value)\n : encodeUnreserved(value);\n if (key) {\n return encodeUnreserved(key) + \"=\" + value;\n }\n else {\n return value;\n }\n}\nfunction isDefined(value) {\n return value !== undefined && value !== null;\n}\nfunction isKeyOperator(operator) {\n return operator === \";\" || operator === \"&\" || operator === \"?\";\n}\nfunction getValues(context, operator, key, modifier) {\n var value = context[key], result = [];\n if (isDefined(value) && value !== \"\") {\n if (typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\") {\n value = value.toString();\n if (modifier && modifier !== \"*\") {\n value = value.substring(0, parseInt(modifier, 10));\n }\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n }\n else {\n if (modifier === \"*\") {\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n });\n }\n else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n result.push(encodeValue(operator, value[k], k));\n }\n });\n }\n }\n else {\n const tmp = [];\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n tmp.push(encodeValue(operator, value));\n });\n }\n else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n tmp.push(encodeUnreserved(k));\n tmp.push(encodeValue(operator, value[k].toString()));\n }\n });\n }\n if (isKeyOperator(operator)) {\n result.push(encodeUnreserved(key) + \"=\" + tmp.join(\",\"));\n }\n else if (tmp.length !== 0) {\n result.push(tmp.join(\",\"));\n }\n }\n }\n }\n else {\n if (operator === \";\") {\n if (isDefined(value)) {\n result.push(encodeUnreserved(key));\n }\n }\n else if (value === \"\" && (operator === \"&\" || operator === \"?\")) {\n result.push(encodeUnreserved(key) + \"=\");\n }\n else if (value === \"\") {\n result.push(\"\");\n }\n }\n return result;\n}\nexport function parseUrl(template) {\n return {\n expand: expand.bind(null, template),\n };\n}\nfunction expand(template, context) {\n var operators = [\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"];\n return template.replace(/\\{([^\\{\\}]+)\\}|([^\\{\\}]+)/g, function (_, expression, literal) {\n if (expression) {\n let operator = \"\";\n const values = [];\n if (operators.indexOf(expression.charAt(0)) !== -1) {\n operator = expression.charAt(0);\n expression = expression.substr(1);\n }\n expression.split(/,/g).forEach(function (variable) {\n var tmp = /([^:\\*]*)(?::(\\d+)|(\\*))?/.exec(variable);\n values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));\n });\n if (operator && operator !== \"+\") {\n var separator = \",\";\n if (operator === \"?\") {\n separator = \"&\";\n }\n else if (operator !== \"#\") {\n separator = operator;\n }\n return (values.length !== 0 ? operator : \"\") + values.join(separator);\n }\n else {\n return values.join(\",\");\n }\n }\n else {\n return encodeReserved(literal);\n }\n });\n}\n","import { addQueryParameters } from \"./util/add-query-parameters\";\nimport { extractUrlVariableNames } from \"./util/extract-url-variable-names\";\nimport { omit } from \"./util/omit\";\nimport { parseUrl } from \"./util/url-template\";\nexport function parse(options) {\n // https://fetch.spec.whatwg.org/#methods\n let method = options.method.toUpperCase();\n // replace :varname with {varname} to make it RFC 6570 compatible\n let url = (options.url || \"/\").replace(/:([a-z]\\w+)/g, \"{$1}\");\n let headers = Object.assign({}, options.headers);\n let body;\n let parameters = omit(options, [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"mediaType\",\n ]);\n // extract variable names from URL to calculate remaining variables later\n const urlVariableNames = extractUrlVariableNames(url);\n url = parseUrl(url).expand(parameters);\n if (!/^http/.test(url)) {\n url = options.baseUrl + url;\n }\n const omittedParameters = Object.keys(options)\n .filter((option) => urlVariableNames.includes(option))\n .concat(\"baseUrl\");\n const remainingParameters = omit(parameters, omittedParameters);\n const isBinaryRequest = /application\\/octet-stream/i.test(headers.accept);\n if (!isBinaryRequest) {\n if (options.mediaType.format) {\n // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw\n headers.accept = headers.accept\n .split(/,/)\n .map((preview) => preview.replace(/application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`))\n .join(\",\");\n }\n if (options.mediaType.previews.length) {\n const previewsFromAcceptHeader = headers.accept.match(/[\\w-]+(?=-preview)/g) || [];\n headers.accept = previewsFromAcceptHeader\n .concat(options.mediaType.previews)\n .map((preview) => {\n const format = options.mediaType.format\n ? `.${options.mediaType.format}`\n : \"+json\";\n return `application/vnd.github.${preview}-preview${format}`;\n })\n .join(\",\");\n }\n }\n // for GET/HEAD requests, set URL query parameters from remaining parameters\n // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters\n if ([\"GET\", \"HEAD\"].includes(method)) {\n url = addQueryParameters(url, remainingParameters);\n }\n else {\n if (\"data\" in remainingParameters) {\n body = remainingParameters.data;\n }\n else {\n if (Object.keys(remainingParameters).length) {\n body = remainingParameters;\n }\n else {\n headers[\"content-length\"] = 0;\n }\n }\n }\n // default content-type for JSON if body is set\n if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n headers[\"content-type\"] = \"application/json; charset=utf-8\";\n }\n // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body.\n // fetch does not allow to set `content-length` header, but we can set body to an empty string\n if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n body = \"\";\n }\n // Only return body/request keys if present\n return Object.assign({ method, url, headers }, typeof body !== \"undefined\" ? { body } : null, options.request ? { request: options.request } : null);\n}\n","import { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nexport function endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\n","import { endpointWithDefaults } from \"./endpoint-with-defaults\";\nimport { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nexport function withDefaults(oldDefaults, newDefaults) {\n const DEFAULTS = merge(oldDefaults, newDefaults);\n const endpoint = endpointWithDefaults.bind(null, DEFAULTS);\n return Object.assign(endpoint, {\n DEFAULTS,\n defaults: withDefaults.bind(null, DEFAULTS),\n merge: merge.bind(null, DEFAULTS),\n parse,\n });\n}\n","export const VERSION = \"6.0.12\";\n","import { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nconst userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;\n// DEFAULTS has all properties set that EndpointOptions has, except url.\n// So we use RequestParameters and add method as additional required property.\nexport const DEFAULTS = {\n method: \"GET\",\n baseUrl: \"https://api.github.com\",\n headers: {\n accept: \"application/vnd.github.v3+json\",\n \"user-agent\": userAgent,\n },\n mediaType: {\n format: \"\",\n previews: [],\n },\n};\n","import { withDefaults } from \"./with-defaults\";\nimport { DEFAULTS } from \"./defaults\";\nexport const endpoint = withDefaults(null, DEFAULTS);\n"],"names":["lowercaseKeys","object","Object","keys","reduce","newObj","key","toLowerCase","mergeDeep","defaults","options","result","assign","forEach","isPlainObject","removeUndefinedProperties","obj","undefined","merge","route","method","url","split","headers","mergedOptions","mediaType","previews","length","filter","preview","includes","concat","map","replace","addQueryParameters","parameters","separator","test","names","name","q","encodeURIComponent","join","urlVariableRegex","removeNonChars","variableName","extractUrlVariableNames","matches","match","a","b","omit","keysToOmit","option","encodeReserved","str","part","encodeURI","encodeUnreserved","c","charCodeAt","toString","toUpperCase","encodeValue","operator","value","isDefined","isKeyOperator","getValues","context","modifier","substring","parseInt","push","Array","isArray","k","tmp","parseUrl","template","expand","bind","operators","_","expression","literal","values","indexOf","charAt","substr","variable","exec","parse","body","urlVariableNames","baseUrl","omittedParameters","remainingParameters","isBinaryRequest","accept","format","previewsFromAcceptHeader","data","request","endpointWithDefaults","withDefaults","oldDefaults","newDefaults","DEFAULTS","endpoint","VERSION","userAgent","getUserAgent"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@octokit/endpoint/dist-src/version.js b/node_modules/@octokit/endpoint/dist-src/version.js index 253f86a..930e255 100644 --- a/node_modules/@octokit/endpoint/dist-src/version.js +++ b/node_modules/@octokit/endpoint/dist-src/version.js @@ -1 +1 @@ -export const VERSION = "6.0.11"; +export const VERSION = "6.0.12"; diff --git a/node_modules/@octokit/endpoint/dist-types/version.d.ts b/node_modules/@octokit/endpoint/dist-types/version.d.ts index fb46c4c..330d47a 100644 --- a/node_modules/@octokit/endpoint/dist-types/version.d.ts +++ b/node_modules/@octokit/endpoint/dist-types/version.d.ts @@ -1 +1 @@ -export declare const VERSION = "6.0.11"; +export declare const VERSION = "6.0.12"; diff --git a/node_modules/@octokit/endpoint/dist-web/index.js b/node_modules/@octokit/endpoint/dist-web/index.js index b6ef563..e152163 100644 --- a/node_modules/@octokit/endpoint/dist-web/index.js +++ b/node_modules/@octokit/endpoint/dist-web/index.js @@ -357,7 +357,7 @@ function withDefaults(oldDefaults, newDefaults) { }); } -const VERSION = "6.0.11"; +const VERSION = "6.0.12"; const userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`; // DEFAULTS has all properties set that EndpointOptions has, except url. diff --git a/node_modules/@octokit/endpoint/dist-web/index.js.map b/node_modules/@octokit/endpoint/dist-web/index.js.map index b98ae12..1d60d02 100644 --- a/node_modules/@octokit/endpoint/dist-web/index.js.map +++ b/node_modules/@octokit/endpoint/dist-web/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sources":["../dist-src/util/lowercase-keys.js","../dist-src/util/merge-deep.js","../dist-src/util/remove-undefined-properties.js","../dist-src/merge.js","../dist-src/util/add-query-parameters.js","../dist-src/util/extract-url-variable-names.js","../dist-src/util/omit.js","../dist-src/util/url-template.js","../dist-src/parse.js","../dist-src/endpoint-with-defaults.js","../dist-src/with-defaults.js","../dist-src/version.js","../dist-src/defaults.js","../dist-src/index.js"],"sourcesContent":["export function lowercaseKeys(object) {\n if (!object) {\n return {};\n }\n return Object.keys(object).reduce((newObj, key) => {\n newObj[key.toLowerCase()] = object[key];\n return newObj;\n }, {});\n}\n","import { isPlainObject } from \"is-plain-object\";\nexport function mergeDeep(defaults, options) {\n const result = Object.assign({}, defaults);\n Object.keys(options).forEach((key) => {\n if (isPlainObject(options[key])) {\n if (!(key in defaults))\n Object.assign(result, { [key]: options[key] });\n else\n result[key] = mergeDeep(defaults[key], options[key]);\n }\n else {\n Object.assign(result, { [key]: options[key] });\n }\n });\n return result;\n}\n","export function removeUndefinedProperties(obj) {\n for (const key in obj) {\n if (obj[key] === undefined) {\n delete obj[key];\n }\n }\n return obj;\n}\n","import { lowercaseKeys } from \"./util/lowercase-keys\";\nimport { mergeDeep } from \"./util/merge-deep\";\nimport { removeUndefinedProperties } from \"./util/remove-undefined-properties\";\nexport function merge(defaults, route, options) {\n if (typeof route === \"string\") {\n let [method, url] = route.split(\" \");\n options = Object.assign(url ? { method, url } : { url: method }, options);\n }\n else {\n options = Object.assign({}, route);\n }\n // lowercase header names before merging with defaults to avoid duplicates\n options.headers = lowercaseKeys(options.headers);\n // remove properties with undefined values before merging\n removeUndefinedProperties(options);\n removeUndefinedProperties(options.headers);\n const mergedOptions = mergeDeep(defaults || {}, options);\n // mediaType.previews arrays are merged, instead of overwritten\n if (defaults && defaults.mediaType.previews.length) {\n mergedOptions.mediaType.previews = defaults.mediaType.previews\n .filter((preview) => !mergedOptions.mediaType.previews.includes(preview))\n .concat(mergedOptions.mediaType.previews);\n }\n mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map((preview) => preview.replace(/-preview/, \"\"));\n return mergedOptions;\n}\n","export function addQueryParameters(url, parameters) {\n const separator = /\\?/.test(url) ? \"&\" : \"?\";\n const names = Object.keys(parameters);\n if (names.length === 0) {\n return url;\n }\n return (url +\n separator +\n names\n .map((name) => {\n if (name === \"q\") {\n return (\"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\"));\n }\n return `${name}=${encodeURIComponent(parameters[name])}`;\n })\n .join(\"&\"));\n}\n","const urlVariableRegex = /\\{[^}]+\\}/g;\nfunction removeNonChars(variableName) {\n return variableName.replace(/^\\W+|\\W+$/g, \"\").split(/,/);\n}\nexport function extractUrlVariableNames(url) {\n const matches = url.match(urlVariableRegex);\n if (!matches) {\n return [];\n }\n return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);\n}\n","export function omit(object, keysToOmit) {\n return Object.keys(object)\n .filter((option) => !keysToOmit.includes(option))\n .reduce((obj, key) => {\n obj[key] = object[key];\n return obj;\n }, {});\n}\n","// Based on https://github.com/bramstein/url-template, licensed under BSD\n// TODO: create separate package.\n//\n// Copyright (c) 2012-2014, Bram Stein\n// All rights reserved.\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions\n// are met:\n// 1. Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n// 2. Redistributions in binary form must reproduce the above copyright\n// notice, this list of conditions and the following disclaimer in the\n// documentation and/or other materials provided with the distribution.\n// 3. The name of the author may not be used to endorse or promote products\n// derived from this software without specific prior written permission.\n// THIS SOFTWARE IS PROVIDED BY THE AUTHOR \"AS IS\" AND ANY EXPRESS OR IMPLIED\n// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO\n// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n/* istanbul ignore file */\nfunction encodeReserved(str) {\n return str\n .split(/(%[0-9A-Fa-f]{2})/g)\n .map(function (part) {\n if (!/%[0-9A-Fa-f]/.test(part)) {\n part = encodeURI(part).replace(/%5B/g, \"[\").replace(/%5D/g, \"]\");\n }\n return part;\n })\n .join(\"\");\n}\nfunction encodeUnreserved(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\nfunction encodeValue(operator, value, key) {\n value =\n operator === \"+\" || operator === \"#\"\n ? encodeReserved(value)\n : encodeUnreserved(value);\n if (key) {\n return encodeUnreserved(key) + \"=\" + value;\n }\n else {\n return value;\n }\n}\nfunction isDefined(value) {\n return value !== undefined && value !== null;\n}\nfunction isKeyOperator(operator) {\n return operator === \";\" || operator === \"&\" || operator === \"?\";\n}\nfunction getValues(context, operator, key, modifier) {\n var value = context[key], result = [];\n if (isDefined(value) && value !== \"\") {\n if (typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\") {\n value = value.toString();\n if (modifier && modifier !== \"*\") {\n value = value.substring(0, parseInt(modifier, 10));\n }\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n }\n else {\n if (modifier === \"*\") {\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n });\n }\n else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n result.push(encodeValue(operator, value[k], k));\n }\n });\n }\n }\n else {\n const tmp = [];\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n tmp.push(encodeValue(operator, value));\n });\n }\n else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n tmp.push(encodeUnreserved(k));\n tmp.push(encodeValue(operator, value[k].toString()));\n }\n });\n }\n if (isKeyOperator(operator)) {\n result.push(encodeUnreserved(key) + \"=\" + tmp.join(\",\"));\n }\n else if (tmp.length !== 0) {\n result.push(tmp.join(\",\"));\n }\n }\n }\n }\n else {\n if (operator === \";\") {\n if (isDefined(value)) {\n result.push(encodeUnreserved(key));\n }\n }\n else if (value === \"\" && (operator === \"&\" || operator === \"?\")) {\n result.push(encodeUnreserved(key) + \"=\");\n }\n else if (value === \"\") {\n result.push(\"\");\n }\n }\n return result;\n}\nexport function parseUrl(template) {\n return {\n expand: expand.bind(null, template),\n };\n}\nfunction expand(template, context) {\n var operators = [\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"];\n return template.replace(/\\{([^\\{\\}]+)\\}|([^\\{\\}]+)/g, function (_, expression, literal) {\n if (expression) {\n let operator = \"\";\n const values = [];\n if (operators.indexOf(expression.charAt(0)) !== -1) {\n operator = expression.charAt(0);\n expression = expression.substr(1);\n }\n expression.split(/,/g).forEach(function (variable) {\n var tmp = /([^:\\*]*)(?::(\\d+)|(\\*))?/.exec(variable);\n values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));\n });\n if (operator && operator !== \"+\") {\n var separator = \",\";\n if (operator === \"?\") {\n separator = \"&\";\n }\n else if (operator !== \"#\") {\n separator = operator;\n }\n return (values.length !== 0 ? operator : \"\") + values.join(separator);\n }\n else {\n return values.join(\",\");\n }\n }\n else {\n return encodeReserved(literal);\n }\n });\n}\n","import { addQueryParameters } from \"./util/add-query-parameters\";\nimport { extractUrlVariableNames } from \"./util/extract-url-variable-names\";\nimport { omit } from \"./util/omit\";\nimport { parseUrl } from \"./util/url-template\";\nexport function parse(options) {\n // https://fetch.spec.whatwg.org/#methods\n let method = options.method.toUpperCase();\n // replace :varname with {varname} to make it RFC 6570 compatible\n let url = (options.url || \"/\").replace(/:([a-z]\\w+)/g, \"{$1}\");\n let headers = Object.assign({}, options.headers);\n let body;\n let parameters = omit(options, [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"mediaType\",\n ]);\n // extract variable names from URL to calculate remaining variables later\n const urlVariableNames = extractUrlVariableNames(url);\n url = parseUrl(url).expand(parameters);\n if (!/^http/.test(url)) {\n url = options.baseUrl + url;\n }\n const omittedParameters = Object.keys(options)\n .filter((option) => urlVariableNames.includes(option))\n .concat(\"baseUrl\");\n const remainingParameters = omit(parameters, omittedParameters);\n const isBinaryRequest = /application\\/octet-stream/i.test(headers.accept);\n if (!isBinaryRequest) {\n if (options.mediaType.format) {\n // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw\n headers.accept = headers.accept\n .split(/,/)\n .map((preview) => preview.replace(/application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`))\n .join(\",\");\n }\n if (options.mediaType.previews.length) {\n const previewsFromAcceptHeader = headers.accept.match(/[\\w-]+(?=-preview)/g) || [];\n headers.accept = previewsFromAcceptHeader\n .concat(options.mediaType.previews)\n .map((preview) => {\n const format = options.mediaType.format\n ? `.${options.mediaType.format}`\n : \"+json\";\n return `application/vnd.github.${preview}-preview${format}`;\n })\n .join(\",\");\n }\n }\n // for GET/HEAD requests, set URL query parameters from remaining parameters\n // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters\n if ([\"GET\", \"HEAD\"].includes(method)) {\n url = addQueryParameters(url, remainingParameters);\n }\n else {\n if (\"data\" in remainingParameters) {\n body = remainingParameters.data;\n }\n else {\n if (Object.keys(remainingParameters).length) {\n body = remainingParameters;\n }\n else {\n headers[\"content-length\"] = 0;\n }\n }\n }\n // default content-type for JSON if body is set\n if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n headers[\"content-type\"] = \"application/json; charset=utf-8\";\n }\n // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body.\n // fetch does not allow to set `content-length` header, but we can set body to an empty string\n if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n body = \"\";\n }\n // Only return body/request keys if present\n return Object.assign({ method, url, headers }, typeof body !== \"undefined\" ? { body } : null, options.request ? { request: options.request } : null);\n}\n","import { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nexport function endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\n","import { endpointWithDefaults } from \"./endpoint-with-defaults\";\nimport { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nexport function withDefaults(oldDefaults, newDefaults) {\n const DEFAULTS = merge(oldDefaults, newDefaults);\n const endpoint = endpointWithDefaults.bind(null, DEFAULTS);\n return Object.assign(endpoint, {\n DEFAULTS,\n defaults: withDefaults.bind(null, DEFAULTS),\n merge: merge.bind(null, DEFAULTS),\n parse,\n });\n}\n","export const VERSION = \"6.0.11\";\n","import { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nconst userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;\n// DEFAULTS has all properties set that EndpointOptions has, except url.\n// So we use RequestParameters and add method as additional required property.\nexport const DEFAULTS = {\n method: \"GET\",\n baseUrl: \"https://api.github.com\",\n headers: {\n accept: \"application/vnd.github.v3+json\",\n \"user-agent\": userAgent,\n },\n mediaType: {\n format: \"\",\n previews: [],\n },\n};\n","import { withDefaults } from \"./with-defaults\";\nimport { DEFAULTS } from \"./defaults\";\nexport const endpoint = withDefaults(null, DEFAULTS);\n"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../dist-src/util/lowercase-keys.js","../dist-src/util/merge-deep.js","../dist-src/util/remove-undefined-properties.js","../dist-src/merge.js","../dist-src/util/add-query-parameters.js","../dist-src/util/extract-url-variable-names.js","../dist-src/util/omit.js","../dist-src/util/url-template.js","../dist-src/parse.js","../dist-src/endpoint-with-defaults.js","../dist-src/with-defaults.js","../dist-src/version.js","../dist-src/defaults.js","../dist-src/index.js"],"sourcesContent":["export function lowercaseKeys(object) {\n if (!object) {\n return {};\n }\n return Object.keys(object).reduce((newObj, key) => {\n newObj[key.toLowerCase()] = object[key];\n return newObj;\n }, {});\n}\n","import { isPlainObject } from \"is-plain-object\";\nexport function mergeDeep(defaults, options) {\n const result = Object.assign({}, defaults);\n Object.keys(options).forEach((key) => {\n if (isPlainObject(options[key])) {\n if (!(key in defaults))\n Object.assign(result, { [key]: options[key] });\n else\n result[key] = mergeDeep(defaults[key], options[key]);\n }\n else {\n Object.assign(result, { [key]: options[key] });\n }\n });\n return result;\n}\n","export function removeUndefinedProperties(obj) {\n for (const key in obj) {\n if (obj[key] === undefined) {\n delete obj[key];\n }\n }\n return obj;\n}\n","import { lowercaseKeys } from \"./util/lowercase-keys\";\nimport { mergeDeep } from \"./util/merge-deep\";\nimport { removeUndefinedProperties } from \"./util/remove-undefined-properties\";\nexport function merge(defaults, route, options) {\n if (typeof route === \"string\") {\n let [method, url] = route.split(\" \");\n options = Object.assign(url ? { method, url } : { url: method }, options);\n }\n else {\n options = Object.assign({}, route);\n }\n // lowercase header names before merging with defaults to avoid duplicates\n options.headers = lowercaseKeys(options.headers);\n // remove properties with undefined values before merging\n removeUndefinedProperties(options);\n removeUndefinedProperties(options.headers);\n const mergedOptions = mergeDeep(defaults || {}, options);\n // mediaType.previews arrays are merged, instead of overwritten\n if (defaults && defaults.mediaType.previews.length) {\n mergedOptions.mediaType.previews = defaults.mediaType.previews\n .filter((preview) => !mergedOptions.mediaType.previews.includes(preview))\n .concat(mergedOptions.mediaType.previews);\n }\n mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map((preview) => preview.replace(/-preview/, \"\"));\n return mergedOptions;\n}\n","export function addQueryParameters(url, parameters) {\n const separator = /\\?/.test(url) ? \"&\" : \"?\";\n const names = Object.keys(parameters);\n if (names.length === 0) {\n return url;\n }\n return (url +\n separator +\n names\n .map((name) => {\n if (name === \"q\") {\n return (\"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\"));\n }\n return `${name}=${encodeURIComponent(parameters[name])}`;\n })\n .join(\"&\"));\n}\n","const urlVariableRegex = /\\{[^}]+\\}/g;\nfunction removeNonChars(variableName) {\n return variableName.replace(/^\\W+|\\W+$/g, \"\").split(/,/);\n}\nexport function extractUrlVariableNames(url) {\n const matches = url.match(urlVariableRegex);\n if (!matches) {\n return [];\n }\n return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);\n}\n","export function omit(object, keysToOmit) {\n return Object.keys(object)\n .filter((option) => !keysToOmit.includes(option))\n .reduce((obj, key) => {\n obj[key] = object[key];\n return obj;\n }, {});\n}\n","// Based on https://github.com/bramstein/url-template, licensed under BSD\n// TODO: create separate package.\n//\n// Copyright (c) 2012-2014, Bram Stein\n// All rights reserved.\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions\n// are met:\n// 1. Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n// 2. Redistributions in binary form must reproduce the above copyright\n// notice, this list of conditions and the following disclaimer in the\n// documentation and/or other materials provided with the distribution.\n// 3. The name of the author may not be used to endorse or promote products\n// derived from this software without specific prior written permission.\n// THIS SOFTWARE IS PROVIDED BY THE AUTHOR \"AS IS\" AND ANY EXPRESS OR IMPLIED\n// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO\n// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n/* istanbul ignore file */\nfunction encodeReserved(str) {\n return str\n .split(/(%[0-9A-Fa-f]{2})/g)\n .map(function (part) {\n if (!/%[0-9A-Fa-f]/.test(part)) {\n part = encodeURI(part).replace(/%5B/g, \"[\").replace(/%5D/g, \"]\");\n }\n return part;\n })\n .join(\"\");\n}\nfunction encodeUnreserved(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\nfunction encodeValue(operator, value, key) {\n value =\n operator === \"+\" || operator === \"#\"\n ? encodeReserved(value)\n : encodeUnreserved(value);\n if (key) {\n return encodeUnreserved(key) + \"=\" + value;\n }\n else {\n return value;\n }\n}\nfunction isDefined(value) {\n return value !== undefined && value !== null;\n}\nfunction isKeyOperator(operator) {\n return operator === \";\" || operator === \"&\" || operator === \"?\";\n}\nfunction getValues(context, operator, key, modifier) {\n var value = context[key], result = [];\n if (isDefined(value) && value !== \"\") {\n if (typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\") {\n value = value.toString();\n if (modifier && modifier !== \"*\") {\n value = value.substring(0, parseInt(modifier, 10));\n }\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n }\n else {\n if (modifier === \"*\") {\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n });\n }\n else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n result.push(encodeValue(operator, value[k], k));\n }\n });\n }\n }\n else {\n const tmp = [];\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n tmp.push(encodeValue(operator, value));\n });\n }\n else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n tmp.push(encodeUnreserved(k));\n tmp.push(encodeValue(operator, value[k].toString()));\n }\n });\n }\n if (isKeyOperator(operator)) {\n result.push(encodeUnreserved(key) + \"=\" + tmp.join(\",\"));\n }\n else if (tmp.length !== 0) {\n result.push(tmp.join(\",\"));\n }\n }\n }\n }\n else {\n if (operator === \";\") {\n if (isDefined(value)) {\n result.push(encodeUnreserved(key));\n }\n }\n else if (value === \"\" && (operator === \"&\" || operator === \"?\")) {\n result.push(encodeUnreserved(key) + \"=\");\n }\n else if (value === \"\") {\n result.push(\"\");\n }\n }\n return result;\n}\nexport function parseUrl(template) {\n return {\n expand: expand.bind(null, template),\n };\n}\nfunction expand(template, context) {\n var operators = [\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"];\n return template.replace(/\\{([^\\{\\}]+)\\}|([^\\{\\}]+)/g, function (_, expression, literal) {\n if (expression) {\n let operator = \"\";\n const values = [];\n if (operators.indexOf(expression.charAt(0)) !== -1) {\n operator = expression.charAt(0);\n expression = expression.substr(1);\n }\n expression.split(/,/g).forEach(function (variable) {\n var tmp = /([^:\\*]*)(?::(\\d+)|(\\*))?/.exec(variable);\n values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));\n });\n if (operator && operator !== \"+\") {\n var separator = \",\";\n if (operator === \"?\") {\n separator = \"&\";\n }\n else if (operator !== \"#\") {\n separator = operator;\n }\n return (values.length !== 0 ? operator : \"\") + values.join(separator);\n }\n else {\n return values.join(\",\");\n }\n }\n else {\n return encodeReserved(literal);\n }\n });\n}\n","import { addQueryParameters } from \"./util/add-query-parameters\";\nimport { extractUrlVariableNames } from \"./util/extract-url-variable-names\";\nimport { omit } from \"./util/omit\";\nimport { parseUrl } from \"./util/url-template\";\nexport function parse(options) {\n // https://fetch.spec.whatwg.org/#methods\n let method = options.method.toUpperCase();\n // replace :varname with {varname} to make it RFC 6570 compatible\n let url = (options.url || \"/\").replace(/:([a-z]\\w+)/g, \"{$1}\");\n let headers = Object.assign({}, options.headers);\n let body;\n let parameters = omit(options, [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"mediaType\",\n ]);\n // extract variable names from URL to calculate remaining variables later\n const urlVariableNames = extractUrlVariableNames(url);\n url = parseUrl(url).expand(parameters);\n if (!/^http/.test(url)) {\n url = options.baseUrl + url;\n }\n const omittedParameters = Object.keys(options)\n .filter((option) => urlVariableNames.includes(option))\n .concat(\"baseUrl\");\n const remainingParameters = omit(parameters, omittedParameters);\n const isBinaryRequest = /application\\/octet-stream/i.test(headers.accept);\n if (!isBinaryRequest) {\n if (options.mediaType.format) {\n // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw\n headers.accept = headers.accept\n .split(/,/)\n .map((preview) => preview.replace(/application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`))\n .join(\",\");\n }\n if (options.mediaType.previews.length) {\n const previewsFromAcceptHeader = headers.accept.match(/[\\w-]+(?=-preview)/g) || [];\n headers.accept = previewsFromAcceptHeader\n .concat(options.mediaType.previews)\n .map((preview) => {\n const format = options.mediaType.format\n ? `.${options.mediaType.format}`\n : \"+json\";\n return `application/vnd.github.${preview}-preview${format}`;\n })\n .join(\",\");\n }\n }\n // for GET/HEAD requests, set URL query parameters from remaining parameters\n // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters\n if ([\"GET\", \"HEAD\"].includes(method)) {\n url = addQueryParameters(url, remainingParameters);\n }\n else {\n if (\"data\" in remainingParameters) {\n body = remainingParameters.data;\n }\n else {\n if (Object.keys(remainingParameters).length) {\n body = remainingParameters;\n }\n else {\n headers[\"content-length\"] = 0;\n }\n }\n }\n // default content-type for JSON if body is set\n if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n headers[\"content-type\"] = \"application/json; charset=utf-8\";\n }\n // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body.\n // fetch does not allow to set `content-length` header, but we can set body to an empty string\n if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n body = \"\";\n }\n // Only return body/request keys if present\n return Object.assign({ method, url, headers }, typeof body !== \"undefined\" ? { body } : null, options.request ? { request: options.request } : null);\n}\n","import { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nexport function endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\n","import { endpointWithDefaults } from \"./endpoint-with-defaults\";\nimport { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nexport function withDefaults(oldDefaults, newDefaults) {\n const DEFAULTS = merge(oldDefaults, newDefaults);\n const endpoint = endpointWithDefaults.bind(null, DEFAULTS);\n return Object.assign(endpoint, {\n DEFAULTS,\n defaults: withDefaults.bind(null, DEFAULTS),\n merge: merge.bind(null, DEFAULTS),\n parse,\n });\n}\n","export const VERSION = \"6.0.12\";\n","import { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nconst userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;\n// DEFAULTS has all properties set that EndpointOptions has, except url.\n// So we use RequestParameters and add method as additional required property.\nexport const DEFAULTS = {\n method: \"GET\",\n baseUrl: \"https://api.github.com\",\n headers: {\n accept: \"application/vnd.github.v3+json\",\n \"user-agent\": userAgent,\n },\n mediaType: {\n format: \"\",\n previews: [],\n },\n};\n","import { withDefaults } from \"./with-defaults\";\nimport { DEFAULTS } from \"./defaults\";\nexport const endpoint = withDefaults(null, DEFAULTS);\n"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@octokit/endpoint/package.json b/node_modules/@octokit/endpoint/package.json index 6f653ef..4e4d425 100644 --- a/node_modules/@octokit/endpoint/package.json +++ b/node_modules/@octokit/endpoint/package.json @@ -1,7 +1,7 @@ { "name": "@octokit/endpoint", "description": "Turns REST API endpoints into generic request options", - "version": "6.0.11", + "version": "6.0.12", "license": "MIT", "files": [ "dist-*/", @@ -15,14 +15,7 @@ "api", "rest" ], - "homepage": "https://github.com/octokit/endpoint.js#readme", - "bugs": { - "url": "https://github.com/octokit/endpoint.js/issues" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/octokit/endpoint.js.git" - }, + "repository": "github:octokit/endpoint.js", "dependencies": { "@octokit/types": "^6.0.3", "is-plain-object": "^5.0.0", @@ -34,11 +27,11 @@ "@pika/plugin-build-web": "^0.9.0", "@pika/plugin-ts-standard-pkg": "^0.9.0", "@types/jest": "^26.0.0", - "jest": "^26.0.1", - "prettier": "2.2.1", + "jest": "^27.0.0", + "prettier": "2.3.1", "semantic-release": "^17.0.0", "semantic-release-plugin-update-version-in-files": "^1.0.0", - "ts-jest": "^26.0.0", + "ts-jest": "^27.0.0-next.12", "typescript": "^4.0.2" }, "publishConfig": { diff --git a/node_modules/@octokit/graphql/README.md b/node_modules/@octokit/graphql/README.md index 4965c30..fe7881c 100644 --- a/node_modules/@octokit/graphql/README.md +++ b/node_modules/@octokit/graphql/README.md @@ -35,7 +35,7 @@ Load `@octokit/graphql` directly from [cdn.skypack.dev](https://cdn.skypack.dev) ```html ``` @@ -258,15 +258,16 @@ await myGraphql(` Additionally, `GraphQlQueryResponseData` has been exposed to users: ```ts -import type { GraphQlQueryResponseData } from "octokit/graphql"; +import type { GraphQlQueryResponseData } from "@octokit/graphql"; ``` ## Errors -In case of a GraphQL error, `error.message` is set to the first error from the response’s `errors` array. All errors can be accessed at `error.errors`. `error.request` has the request options such as query, variables and headers set for easier debugging. +In case of a GraphQL error, `error.message` is set to a combined message describing all errors returned by the endpoint. +All errors can be accessed at `error.errors`. `error.request` has the request options such as query, variables and headers set for easier debugging. ```js -let { graphql } = require("@octokit/graphql"); +let { graphql, GraphqlResponseError } = require("@octokit/graphql"); graphqlt = graphql.defaults({ headers: { authorization: `token secret123`, @@ -281,20 +282,30 @@ const query = `{ try { const result = await graphql(query); } catch (error) { - // server responds with - // { - // "data": null, - // "errors": [{ - // "message": "Field 'bioHtml' doesn't exist on type 'User'", - // "locations": [{ - // "line": 3, - // "column": 5 - // }] - // }] - // } - - console.log("Request failed:", error.request); // { query, variables: {}, headers: { authorization: 'token secret123' } } - console.log(error.message); // Field 'bioHtml' doesn't exist on type 'User' + if (error instanceof GraphqlResponseError) { + // do something with the error, allowing you to detect a graphql response error, + // compared to accidentally catching unrelated errors. + + // server responds with an object like the following (as an example) + // class GraphqlResponseError { + // "headers": { + // "status": "403", + // }, + // "data": null, + // "errors": [{ + // "message": "Field 'bioHtml' doesn't exist on type 'User'", + // "locations": [{ + // "line": 3, + // "column": 5 + // }] + // }] + // } + + console.log("Request failed:", error.request); // { query, variables: {}, headers: { authorization: 'token secret123' } } + console.log(error.message); // Field 'bioHtml' doesn't exist on type 'User' + } else { + // handle non-GraphQL error + } } ``` diff --git a/node_modules/@octokit/graphql/dist-node/index.js b/node_modules/@octokit/graphql/dist-node/index.js index cbfd4a2..6401417 100644 --- a/node_modules/@octokit/graphql/dist-node/index.js +++ b/node_modules/@octokit/graphql/dist-node/index.js @@ -5,18 +5,22 @@ Object.defineProperty(exports, '__esModule', { value: true }); var request = require('@octokit/request'); var universalUserAgent = require('universal-user-agent'); -const VERSION = "4.6.0"; - -class GraphqlError extends Error { - constructor(request, response) { - const message = response.data.errors[0].message; - super(message); - Object.assign(this, response.data); - Object.assign(this, { - headers: response.headers - }); - this.name = "GraphqlError"; - this.request = request; // Maintains proper stack trace (only available on V8) +const VERSION = "4.8.0"; + +function _buildMessageForResponseErrors(data) { + return `Request failed due to following response errors:\n` + data.errors.map(e => ` - ${e.message}`).join("\n"); +} + +class GraphqlResponseError extends Error { + constructor(request, headers, response) { + super(_buildMessageForResponseErrors(response)); + this.request = request; + this.headers = headers; + this.response = response; + this.name = "GraphqlResponseError"; // Expose the errors and response data in their shorthand properties. + + this.errors = response.errors; + this.data = response.data; // Maintains proper stack trace (only available on V8) /* istanbul ignore next */ @@ -28,10 +32,18 @@ class GraphqlError extends Error { } const NON_VARIABLE_OPTIONS = ["method", "baseUrl", "url", "headers", "request", "query", "mediaType"]; +const FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; const GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; function graphql(request, query, options) { - if (typeof query === "string" && options && "query" in options) { - return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`)); + if (options) { + if (typeof query === "string" && "query" in options) { + return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`)); + } + + for (const key in options) { + if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue; + return Promise.reject(new Error(`[@octokit/graphql] "${key}" cannot be used as variable name`)); + } } const parsedOptions = typeof query === "string" ? Object.assign({ @@ -66,10 +78,7 @@ function graphql(request, query, options) { headers[key] = response.headers[key]; } - throw new GraphqlError(requestOptions, { - headers, - data: response.data - }); + throw new GraphqlResponseError(requestOptions, headers, response.data); } return response.data.data; @@ -103,6 +112,7 @@ function withCustomRequest(customRequest) { }); } +exports.GraphqlResponseError = GraphqlResponseError; exports.graphql = graphql$1; exports.withCustomRequest = withCustomRequest; //# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/graphql/dist-node/index.js.map b/node_modules/@octokit/graphql/dist-node/index.js.map index f2b96f8..873a8d4 100644 --- a/node_modules/@octokit/graphql/dist-node/index.js.map +++ b/node_modules/@octokit/graphql/dist-node/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/error.js","../dist-src/graphql.js","../dist-src/with-defaults.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"4.6.0\";\n","export class GraphqlError extends Error {\n constructor(request, response) {\n const message = response.data.errors[0].message;\n super(message);\n Object.assign(this, response.data);\n Object.assign(this, { headers: response.headers });\n this.name = \"GraphqlError\";\n this.request = request;\n // Maintains proper stack trace (only available on V8)\n /* istanbul ignore next */\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n}\n","import { GraphqlError } from \"./error\";\nconst NON_VARIABLE_OPTIONS = [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"query\",\n \"mediaType\",\n];\nconst GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nexport function graphql(request, query, options) {\n if (typeof query === \"string\" && options && \"query\" in options) {\n return Promise.reject(new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`));\n }\n const parsedOptions = typeof query === \"string\" ? Object.assign({ query }, options) : query;\n const requestOptions = Object.keys(parsedOptions).reduce((result, key) => {\n if (NON_VARIABLE_OPTIONS.includes(key)) {\n result[key] = parsedOptions[key];\n return result;\n }\n if (!result.variables) {\n result.variables = {};\n }\n result.variables[key] = parsedOptions[key];\n return result;\n }, {});\n // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix\n // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451\n const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl;\n if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {\n requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, \"/api/graphql\");\n }\n return request(requestOptions).then((response) => {\n if (response.data.errors) {\n const headers = {};\n for (const key of Object.keys(response.headers)) {\n headers[key] = response.headers[key];\n }\n throw new GraphqlError(requestOptions, {\n headers,\n data: response.data,\n });\n }\n return response.data.data;\n });\n}\n","import { request as Request } from \"@octokit/request\";\nimport { graphql } from \"./graphql\";\nexport function withDefaults(request, newDefaults) {\n const newRequest = request.defaults(newDefaults);\n const newApi = (query, options) => {\n return graphql(newRequest, query, options);\n };\n return Object.assign(newApi, {\n defaults: withDefaults.bind(null, newRequest),\n endpoint: Request.endpoint,\n });\n}\n","import { request } from \"@octokit/request\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport { withDefaults } from \"./with-defaults\";\nexport const graphql = withDefaults(request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${getUserAgent()}`,\n },\n method: \"POST\",\n url: \"/graphql\",\n});\nexport function withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\",\n });\n}\n"],"names":["VERSION","GraphqlError","Error","constructor","request","response","message","data","errors","Object","assign","headers","name","captureStackTrace","NON_VARIABLE_OPTIONS","GHES_V3_SUFFIX_REGEX","graphql","query","options","Promise","reject","parsedOptions","requestOptions","keys","reduce","result","key","includes","variables","baseUrl","endpoint","DEFAULTS","test","url","replace","then","withDefaults","newDefaults","newRequest","defaults","newApi","bind","Request","getUserAgent","method","withCustomRequest","customRequest"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/error.js","../dist-src/graphql.js","../dist-src/with-defaults.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"4.8.0\";\n","function _buildMessageForResponseErrors(data) {\n return (`Request failed due to following response errors:\\n` +\n data.errors.map((e) => ` - ${e.message}`).join(\"\\n\"));\n}\nexport class GraphqlResponseError extends Error {\n constructor(request, headers, response) {\n super(_buildMessageForResponseErrors(response));\n this.request = request;\n this.headers = headers;\n this.response = response;\n this.name = \"GraphqlResponseError\";\n // Expose the errors and response data in their shorthand properties.\n this.errors = response.errors;\n this.data = response.data;\n // Maintains proper stack trace (only available on V8)\n /* istanbul ignore next */\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n}\n","import { GraphqlResponseError } from \"./error\";\nconst NON_VARIABLE_OPTIONS = [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"query\",\n \"mediaType\",\n];\nconst FORBIDDEN_VARIABLE_OPTIONS = [\"query\", \"method\", \"url\"];\nconst GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nexport function graphql(request, query, options) {\n if (options) {\n if (typeof query === \"string\" && \"query\" in options) {\n return Promise.reject(new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`));\n }\n for (const key in options) {\n if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key))\n continue;\n return Promise.reject(new Error(`[@octokit/graphql] \"${key}\" cannot be used as variable name`));\n }\n }\n const parsedOptions = typeof query === \"string\" ? Object.assign({ query }, options) : query;\n const requestOptions = Object.keys(parsedOptions).reduce((result, key) => {\n if (NON_VARIABLE_OPTIONS.includes(key)) {\n result[key] = parsedOptions[key];\n return result;\n }\n if (!result.variables) {\n result.variables = {};\n }\n result.variables[key] = parsedOptions[key];\n return result;\n }, {});\n // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix\n // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451\n const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl;\n if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {\n requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, \"/api/graphql\");\n }\n return request(requestOptions).then((response) => {\n if (response.data.errors) {\n const headers = {};\n for (const key of Object.keys(response.headers)) {\n headers[key] = response.headers[key];\n }\n throw new GraphqlResponseError(requestOptions, headers, response.data);\n }\n return response.data.data;\n });\n}\n","import { request as Request } from \"@octokit/request\";\nimport { graphql } from \"./graphql\";\nexport function withDefaults(request, newDefaults) {\n const newRequest = request.defaults(newDefaults);\n const newApi = (query, options) => {\n return graphql(newRequest, query, options);\n };\n return Object.assign(newApi, {\n defaults: withDefaults.bind(null, newRequest),\n endpoint: Request.endpoint,\n });\n}\n","import { request } from \"@octokit/request\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport { withDefaults } from \"./with-defaults\";\nexport const graphql = withDefaults(request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${getUserAgent()}`,\n },\n method: \"POST\",\n url: \"/graphql\",\n});\nexport { GraphqlResponseError } from \"./error\";\nexport function withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\",\n });\n}\n"],"names":["VERSION","_buildMessageForResponseErrors","data","errors","map","e","message","join","GraphqlResponseError","Error","constructor","request","headers","response","name","captureStackTrace","NON_VARIABLE_OPTIONS","FORBIDDEN_VARIABLE_OPTIONS","GHES_V3_SUFFIX_REGEX","graphql","query","options","Promise","reject","key","includes","parsedOptions","Object","assign","requestOptions","keys","reduce","result","variables","baseUrl","endpoint","DEFAULTS","test","url","replace","then","withDefaults","newDefaults","newRequest","defaults","newApi","bind","Request","getUserAgent","method","withCustomRequest","customRequest"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@octokit/graphql/dist-src/error.js b/node_modules/@octokit/graphql/dist-src/error.js index 37942ba..182f967 100644 --- a/node_modules/@octokit/graphql/dist-src/error.js +++ b/node_modules/@octokit/graphql/dist-src/error.js @@ -1,11 +1,17 @@ -export class GraphqlError extends Error { - constructor(request, response) { - const message = response.data.errors[0].message; - super(message); - Object.assign(this, response.data); - Object.assign(this, { headers: response.headers }); - this.name = "GraphqlError"; +function _buildMessageForResponseErrors(data) { + return (`Request failed due to following response errors:\n` + + data.errors.map((e) => ` - ${e.message}`).join("\n")); +} +export class GraphqlResponseError extends Error { + constructor(request, headers, response) { + super(_buildMessageForResponseErrors(response)); this.request = request; + this.headers = headers; + this.response = response; + this.name = "GraphqlResponseError"; + // Expose the errors and response data in their shorthand properties. + this.errors = response.errors; + this.data = response.data; // Maintains proper stack trace (only available on V8) /* istanbul ignore next */ if (Error.captureStackTrace) { diff --git a/node_modules/@octokit/graphql/dist-src/graphql.js b/node_modules/@octokit/graphql/dist-src/graphql.js index deb9488..8297f84 100644 --- a/node_modules/@octokit/graphql/dist-src/graphql.js +++ b/node_modules/@octokit/graphql/dist-src/graphql.js @@ -1,4 +1,4 @@ -import { GraphqlError } from "./error"; +import { GraphqlResponseError } from "./error"; const NON_VARIABLE_OPTIONS = [ "method", "baseUrl", @@ -8,10 +8,18 @@ const NON_VARIABLE_OPTIONS = [ "query", "mediaType", ]; +const FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; const GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; export function graphql(request, query, options) { - if (typeof query === "string" && options && "query" in options) { - return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`)); + if (options) { + if (typeof query === "string" && "query" in options) { + return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`)); + } + for (const key in options) { + if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) + continue; + return Promise.reject(new Error(`[@octokit/graphql] "${key}" cannot be used as variable name`)); + } } const parsedOptions = typeof query === "string" ? Object.assign({ query }, options) : query; const requestOptions = Object.keys(parsedOptions).reduce((result, key) => { @@ -37,10 +45,7 @@ export function graphql(request, query, options) { for (const key of Object.keys(response.headers)) { headers[key] = response.headers[key]; } - throw new GraphqlError(requestOptions, { - headers, - data: response.data, - }); + throw new GraphqlResponseError(requestOptions, headers, response.data); } return response.data.data; }); diff --git a/node_modules/@octokit/graphql/dist-src/index.js b/node_modules/@octokit/graphql/dist-src/index.js index b202378..2a7d06b 100644 --- a/node_modules/@octokit/graphql/dist-src/index.js +++ b/node_modules/@octokit/graphql/dist-src/index.js @@ -9,6 +9,7 @@ export const graphql = withDefaults(request, { method: "POST", url: "/graphql", }); +export { GraphqlResponseError } from "./error"; export function withCustomRequest(customRequest) { return withDefaults(customRequest, { method: "POST", diff --git a/node_modules/@octokit/graphql/dist-src/version.js b/node_modules/@octokit/graphql/dist-src/version.js index 0339570..3a4f8ff 100644 --- a/node_modules/@octokit/graphql/dist-src/version.js +++ b/node_modules/@octokit/graphql/dist-src/version.js @@ -1 +1 @@ -export const VERSION = "4.6.0"; +export const VERSION = "4.8.0"; diff --git a/node_modules/@octokit/graphql/dist-types/error.d.ts b/node_modules/@octokit/graphql/dist-types/error.d.ts index 81b31a4..3bd37ad 100644 --- a/node_modules/@octokit/graphql/dist-types/error.d.ts +++ b/node_modules/@octokit/graphql/dist-types/error.d.ts @@ -1,9 +1,13 @@ import { ResponseHeaders } from "@octokit/types"; import { GraphQlEndpointOptions, GraphQlQueryResponse } from "./types"; -export declare class GraphqlError extends Error { - request: GraphQlEndpointOptions; - constructor(request: GraphQlEndpointOptions, response: { - headers: ResponseHeaders; - data: Required>; - }); +declare type ServerResponseData = Required>; +export declare class GraphqlResponseError extends Error { + readonly request: GraphQlEndpointOptions; + readonly headers: ResponseHeaders; + readonly response: ServerResponseData; + name: string; + readonly errors: GraphQlQueryResponse["errors"]; + readonly data: ResponseData; + constructor(request: GraphQlEndpointOptions, headers: ResponseHeaders, response: ServerResponseData); } +export {}; diff --git a/node_modules/@octokit/graphql/dist-types/index.d.ts b/node_modules/@octokit/graphql/dist-types/index.d.ts index a0d263b..282f98a 100644 --- a/node_modules/@octokit/graphql/dist-types/index.d.ts +++ b/node_modules/@octokit/graphql/dist-types/index.d.ts @@ -1,4 +1,5 @@ import { request } from "@octokit/request"; export declare const graphql: import("./types").graphql; export { GraphQlQueryResponseData } from "./types"; +export { GraphqlResponseError } from "./error"; export declare function withCustomRequest(customRequest: typeof request): import("./types").graphql; diff --git a/node_modules/@octokit/graphql/dist-types/types.d.ts b/node_modules/@octokit/graphql/dist-types/types.d.ts index a3cf6eb..b266bdb 100644 --- a/node_modules/@octokit/graphql/dist-types/types.d.ts +++ b/node_modules/@octokit/graphql/dist-types/types.d.ts @@ -38,6 +38,7 @@ export declare type GraphQlQueryResponse = { data: ResponseData; errors?: [ { + type: string; message: string; path: [string]; extensions: { diff --git a/node_modules/@octokit/graphql/dist-types/version.d.ts b/node_modules/@octokit/graphql/dist-types/version.d.ts index 229558b..e80848e 100644 --- a/node_modules/@octokit/graphql/dist-types/version.d.ts +++ b/node_modules/@octokit/graphql/dist-types/version.d.ts @@ -1 +1 @@ -export declare const VERSION = "4.6.0"; +export declare const VERSION = "4.8.0"; diff --git a/node_modules/@octokit/graphql/dist-web/index.js b/node_modules/@octokit/graphql/dist-web/index.js index 6d4e263..5307e26 100644 --- a/node_modules/@octokit/graphql/dist-web/index.js +++ b/node_modules/@octokit/graphql/dist-web/index.js @@ -1,16 +1,22 @@ import { request } from '@octokit/request'; import { getUserAgent } from 'universal-user-agent'; -const VERSION = "4.6.0"; +const VERSION = "4.8.0"; -class GraphqlError extends Error { - constructor(request, response) { - const message = response.data.errors[0].message; - super(message); - Object.assign(this, response.data); - Object.assign(this, { headers: response.headers }); - this.name = "GraphqlError"; +function _buildMessageForResponseErrors(data) { + return (`Request failed due to following response errors:\n` + + data.errors.map((e) => ` - ${e.message}`).join("\n")); +} +class GraphqlResponseError extends Error { + constructor(request, headers, response) { + super(_buildMessageForResponseErrors(response)); this.request = request; + this.headers = headers; + this.response = response; + this.name = "GraphqlResponseError"; + // Expose the errors and response data in their shorthand properties. + this.errors = response.errors; + this.data = response.data; // Maintains proper stack trace (only available on V8) /* istanbul ignore next */ if (Error.captureStackTrace) { @@ -28,10 +34,18 @@ const NON_VARIABLE_OPTIONS = [ "query", "mediaType", ]; +const FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; const GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; function graphql(request, query, options) { - if (typeof query === "string" && options && "query" in options) { - return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`)); + if (options) { + if (typeof query === "string" && "query" in options) { + return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`)); + } + for (const key in options) { + if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) + continue; + return Promise.reject(new Error(`[@octokit/graphql] "${key}" cannot be used as variable name`)); + } } const parsedOptions = typeof query === "string" ? Object.assign({ query }, options) : query; const requestOptions = Object.keys(parsedOptions).reduce((result, key) => { @@ -57,10 +71,7 @@ function graphql(request, query, options) { for (const key of Object.keys(response.headers)) { headers[key] = response.headers[key]; } - throw new GraphqlError(requestOptions, { - headers, - data: response.data, - }); + throw new GraphqlResponseError(requestOptions, headers, response.data); } return response.data.data; }); @@ -91,5 +102,5 @@ function withCustomRequest(customRequest) { }); } -export { graphql$1 as graphql, withCustomRequest }; +export { GraphqlResponseError, graphql$1 as graphql, withCustomRequest }; //# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/graphql/dist-web/index.js.map b/node_modules/@octokit/graphql/dist-web/index.js.map index 840bceb..3c6a6ed 100644 --- a/node_modules/@octokit/graphql/dist-web/index.js.map +++ b/node_modules/@octokit/graphql/dist-web/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/error.js","../dist-src/graphql.js","../dist-src/with-defaults.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"4.6.0\";\n","export class GraphqlError extends Error {\n constructor(request, response) {\n const message = response.data.errors[0].message;\n super(message);\n Object.assign(this, response.data);\n Object.assign(this, { headers: response.headers });\n this.name = \"GraphqlError\";\n this.request = request;\n // Maintains proper stack trace (only available on V8)\n /* istanbul ignore next */\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n}\n","import { GraphqlError } from \"./error\";\nconst NON_VARIABLE_OPTIONS = [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"query\",\n \"mediaType\",\n];\nconst GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nexport function graphql(request, query, options) {\n if (typeof query === \"string\" && options && \"query\" in options) {\n return Promise.reject(new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`));\n }\n const parsedOptions = typeof query === \"string\" ? Object.assign({ query }, options) : query;\n const requestOptions = Object.keys(parsedOptions).reduce((result, key) => {\n if (NON_VARIABLE_OPTIONS.includes(key)) {\n result[key] = parsedOptions[key];\n return result;\n }\n if (!result.variables) {\n result.variables = {};\n }\n result.variables[key] = parsedOptions[key];\n return result;\n }, {});\n // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix\n // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451\n const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl;\n if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {\n requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, \"/api/graphql\");\n }\n return request(requestOptions).then((response) => {\n if (response.data.errors) {\n const headers = {};\n for (const key of Object.keys(response.headers)) {\n headers[key] = response.headers[key];\n }\n throw new GraphqlError(requestOptions, {\n headers,\n data: response.data,\n });\n }\n return response.data.data;\n });\n}\n","import { request as Request } from \"@octokit/request\";\nimport { graphql } from \"./graphql\";\nexport function withDefaults(request, newDefaults) {\n const newRequest = request.defaults(newDefaults);\n const newApi = (query, options) => {\n return graphql(newRequest, query, options);\n };\n return Object.assign(newApi, {\n defaults: withDefaults.bind(null, newRequest),\n endpoint: Request.endpoint,\n });\n}\n","import { request } from \"@octokit/request\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport { withDefaults } from \"./with-defaults\";\nexport const graphql = withDefaults(request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${getUserAgent()}`,\n },\n method: \"POST\",\n url: \"/graphql\",\n});\nexport function withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\",\n });\n}\n"],"names":["request","Request","graphql"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/error.js","../dist-src/graphql.js","../dist-src/with-defaults.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"4.8.0\";\n","function _buildMessageForResponseErrors(data) {\n return (`Request failed due to following response errors:\\n` +\n data.errors.map((e) => ` - ${e.message}`).join(\"\\n\"));\n}\nexport class GraphqlResponseError extends Error {\n constructor(request, headers, response) {\n super(_buildMessageForResponseErrors(response));\n this.request = request;\n this.headers = headers;\n this.response = response;\n this.name = \"GraphqlResponseError\";\n // Expose the errors and response data in their shorthand properties.\n this.errors = response.errors;\n this.data = response.data;\n // Maintains proper stack trace (only available on V8)\n /* istanbul ignore next */\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n}\n","import { GraphqlResponseError } from \"./error\";\nconst NON_VARIABLE_OPTIONS = [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"query\",\n \"mediaType\",\n];\nconst FORBIDDEN_VARIABLE_OPTIONS = [\"query\", \"method\", \"url\"];\nconst GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nexport function graphql(request, query, options) {\n if (options) {\n if (typeof query === \"string\" && \"query\" in options) {\n return Promise.reject(new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`));\n }\n for (const key in options) {\n if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key))\n continue;\n return Promise.reject(new Error(`[@octokit/graphql] \"${key}\" cannot be used as variable name`));\n }\n }\n const parsedOptions = typeof query === \"string\" ? Object.assign({ query }, options) : query;\n const requestOptions = Object.keys(parsedOptions).reduce((result, key) => {\n if (NON_VARIABLE_OPTIONS.includes(key)) {\n result[key] = parsedOptions[key];\n return result;\n }\n if (!result.variables) {\n result.variables = {};\n }\n result.variables[key] = parsedOptions[key];\n return result;\n }, {});\n // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix\n // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451\n const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl;\n if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {\n requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, \"/api/graphql\");\n }\n return request(requestOptions).then((response) => {\n if (response.data.errors) {\n const headers = {};\n for (const key of Object.keys(response.headers)) {\n headers[key] = response.headers[key];\n }\n throw new GraphqlResponseError(requestOptions, headers, response.data);\n }\n return response.data.data;\n });\n}\n","import { request as Request } from \"@octokit/request\";\nimport { graphql } from \"./graphql\";\nexport function withDefaults(request, newDefaults) {\n const newRequest = request.defaults(newDefaults);\n const newApi = (query, options) => {\n return graphql(newRequest, query, options);\n };\n return Object.assign(newApi, {\n defaults: withDefaults.bind(null, newRequest),\n endpoint: Request.endpoint,\n });\n}\n","import { request } from \"@octokit/request\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport { withDefaults } from \"./with-defaults\";\nexport const graphql = withDefaults(request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${getUserAgent()}`,\n },\n method: \"POST\",\n url: \"/graphql\",\n});\nexport { GraphqlResponseError } from \"./error\";\nexport function withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\",\n });\n}\n"],"names":["request","Request","graphql"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@octokit/graphql/package.json b/node_modules/@octokit/graphql/package.json index e8bd310..9ba3cb7 100644 --- a/node_modules/@octokit/graphql/package.json +++ b/node_modules/@octokit/graphql/package.json @@ -1,7 +1,7 @@ { "name": "@octokit/graphql", "description": "GitHub GraphQL API client for browsers and Node", - "version": "4.6.0", + "version": "4.8.0", "license": "MIT", "files": [ "dist-*/", @@ -15,16 +15,9 @@ "api", "graphql" ], - "homepage": "https://github.com/octokit/graphql.js#readme", - "bugs": { - "url": "https://github.com/octokit/graphql.js/issues" - }, - "repository": { - "type": "git", - "url": "https://github.com/octokit/graphql.js.git" - }, + "repository": "github:octokit/graphql.js", "dependencies": { - "@octokit/request": "^5.3.0", + "@octokit/request": "^5.6.0", "@octokit/types": "^6.0.3", "universal-user-agent": "^6.0.0" }, @@ -34,14 +27,14 @@ "@pika/plugin-build-web": "^0.9.0", "@pika/plugin-ts-standard-pkg": "^0.9.0", "@types/fetch-mock": "^7.2.5", - "@types/jest": "^26.0.0", + "@types/jest": "^27.0.0", "@types/node": "^14.0.4", "fetch-mock": "^9.0.0", - "jest": "^26.0.0", - "prettier": "^2.0.0", + "jest": "^27.0.0", + "prettier": "2.3.2", "semantic-release": "^17.0.0", "semantic-release-plugin-update-version-in-files": "^1.0.0", - "ts-jest": "^26.0.0", + "ts-jest": "^27.0.0-next.12", "typescript": "^4.0.0" }, "publishConfig": { diff --git a/node_modules/@octokit/openapi-types/.github/workflows/release-notification.yml b/node_modules/@octokit/openapi-types/.github/workflows/release-notification.yml deleted file mode 100644 index d29dc50..0000000 --- a/node_modules/@octokit/openapi-types/.github/workflows/release-notification.yml +++ /dev/null @@ -1,18 +0,0 @@ -name: Release notification -on: - release: - types: - - published - -jobs: - notify: - runs-on: ubuntu-latest - steps: - - uses: gr2m/await-npm-package-version-action@v1 - with: - package: "@octokit/openapi-types" - version: ${{ github.event.release.tag_name }} - - uses: gr2m/release-notifier-action@v1 - with: - app_id: ${{ secrets.RELEASE_NOTIFIER_APP_ID }} - private_key: ${{ secrets.RELEASE_NOTIFIER_APP_PRIVATE_KEY }} diff --git a/node_modules/@octokit/openapi-types/.github/workflows/release.yml b/node_modules/@octokit/openapi-types/.github/workflows/release.yml deleted file mode 100644 index 89529d5..0000000 --- a/node_modules/@octokit/openapi-types/.github/workflows/release.yml +++ /dev/null @@ -1,21 +0,0 @@ -name: Release -on: - push: - branches: - - main - - next - - beta - - "*.x" # maintenance releases - -jobs: - release: - name: release - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - uses: actions/setup-node@v2.1.4 - - run: npm ci - - run: npx semantic-release - env: - GITHUB_TOKEN: ${{ secrets.OCTOKITBOT_PAT }} - NPM_TOKEN: ${{ secrets.OCTOKITBOT_NPM_TOKEN }} diff --git a/node_modules/@octokit/openapi-types/.github/workflows/update.yml b/node_modules/@octokit/openapi-types/.github/workflows/update.yml deleted file mode 100644 index a947cfd..0000000 --- a/node_modules/@octokit/openapi-types/.github/workflows/update.yml +++ /dev/null @@ -1,90 +0,0 @@ -name: Update -on: - repository_dispatch: - types: ["octokit/openapi release"] - - push: - branches: - - renovate/openapi-typescript-* - - workflow_dispatch: - inputs: - version: - description: "Version of https://www.npmjs.com/package/@octokit/openapi" - required: true - -jobs: - update: - runs-on: ubuntu-latest - if: github.event_name == 'workflow_dispatch' || github.event.client_payload.action == 'published' - steps: - - uses: actions/checkout@v2 - - uses: actions/setup-node@v2.1.4 - - run: npm ci - - # set gOCTOKIT_OPENAPI_VERSION environment variable for all next steps - # https://docs.github.com/en/actions/reference/workflow-commands-for-github-actions#setting-an-environment-variable - - run: echo "OCTOKIT_OPENAPI_VERSION=${{ github.event.client_payload.release.tag_name }}" >> $GITHUB_ENV - if: github.event.client_payload.release.tag_name - - run: echo "OCTOKIT_OPENAPI_VERSION=${{ github.event.inputs.version }}" >> $GITHUB_ENV - if: github.event.inputs.version - # Checking if setting the version actually works - - run: echo "OCTOKIT_OPENAPI_VERSION => $OCTOKIT_OPENAPI_VERSION" - - - uses: gr2m/await-npm-package-version-action@v1 - with: - package: "@octokit/openapi" - version: ${{ env.OCTOKIT_OPENAPI_VERSION }} - - # do not update cache for renovate update - - name: Update & generate types - run: | - npm run download - npm run generate-types - if: github.event_name != 'push' - - # create/update pull request for dispatch event update - - name: Create Pull Request - if: github.event_name != 'push' - uses: gr2m/create-or-update-pull-request-action@v1.x - env: - GITHUB_TOKEN: ${{ secrets.OCTOKITBOT_PAT }} - with: - title: "🚧 OpenAPI types changed" - body: | - Make sure to update the commits so that the merge results in helpful release notes, see [Merging the Pull Request & releasing a new version](https://github.com/octokit/rest.js/blob/master/CONTRIBUTING.md#merging-the-pull-request--releasing-a-new-version). - - In general - - - Avoid breaking changes at all costs - - If there are no typescript changes, use `build: cache` as commit message - - If there are there are only updates, use `fix: ...` - - If there are any new additions, use `feat: ...` - - If there are breaking changes, keep the previous ones and deprecate them. Only if there is no other way, add `BREAKING CHANGE: ...` to the commit body (not subject!) to trigger a breaking change. - branch: "openapi-update" - commit-message: "WIP" - author: "Octokit Bot <33075676+octokitbot@users.noreply.github.com>" - labels: "maintenance,typescript" - - # update pull request for renovate update - - name: Create Pull Request - if: github.event_name == 'push' - uses: gr2m/create-or-update-pull-request-action@v1.x - env: - GITHUB_TOKEN: ${{ secrets.OCTOKITBOT_PAT }} - with: - title: "🚧 OpenAPI types changed" - body: | - Make sure to update the commits so that the merge results in helpful release notes, see [Merging the Pull Request & releasing a new version](https://github.com/octokit/rest.js/blob/master/CONTRIBUTING.md#merging-the-pull-request--releasing-a-new-version). - - In general - - - Avoid breaking changes at all costs - - If there are no typescript changes, use `build: cache` as commit message - - If there are there are only updates, use `fix: ...` - - If there are any new additions, use `feat: ...` - - If there are breaking changes, keep the previous ones and deprecate them. Only if there is no other way, add `BREAKING CHANGE: ...` to the commit body (not subject!) to trigger a breaking change. - branch: "${{ github.ref }}" - commit-message: "WIP" - author: "Octokit Bot <33075676+octokitbot@users.noreply.github.com>" - labels: "maintenance,typescript" diff --git a/node_modules/@octokit/openapi-types/CODE_OF_CONDUCT.md b/node_modules/@octokit/openapi-types/CODE_OF_CONDUCT.md deleted file mode 100644 index dad5ddc..0000000 --- a/node_modules/@octokit/openapi-types/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,74 +0,0 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -In the interest of fostering an open and welcoming environment, we as -contributors and maintainers pledge to making participation in our project and -our community a harassment-free experience for everyone, regardless of age, body -size, disability, ethnicity, gender identity and expression, level of experience, -nationality, personal appearance, race, religion, or sexual identity and -orientation. - -## Our Standards - -Examples of behavior that contributes to creating a positive environment -include: - -- Using welcoming and inclusive language -- Being respectful of differing viewpoints and experiences -- Gracefully accepting constructive criticism -- Focusing on what is best for the community -- Showing empathy towards other community members - -Examples of unacceptable behavior by participants include: - -- The use of sexualized language or imagery and unwelcome sexual attention or - advances -- Trolling, insulting/derogatory comments, and personal or political attacks -- Public or private harassment -- Publishing others' private information, such as a physical or electronic - address, without explicit permission -- Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Our Responsibilities - -Project maintainers are responsible for clarifying the standards of acceptable -behavior and are expected to take appropriate and fair corrective action in -response to any instances of unacceptable behavior. - -Project maintainers have the right and responsibility to remove, edit, or -reject comments, commits, code, wiki edits, issues, and other contributions -that are not aligned to this Code of Conduct, or to ban temporarily or -permanently any contributor for other behaviors that they deem inappropriate, -threatening, offensive, or harmful. - -## Scope - -This Code of Conduct applies both within project spaces and in public spaces -when an individual is representing the project or its community. Examples of -representing a project or community include using an official project e-mail -address, posting via an official social media account, or acting as an appointed -representative at an online or offline event. Representation of a project may be -further defined and clarified by project maintainers. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported by contacting the project team at opensource+coc@martynus.net. All -complaints will be reviewed and investigated and will result in a response that -is deemed necessary and appropriate to the circumstances. The project team is -obligated to maintain confidentiality with regard to the reporter of an incident. -Further details of specific enforcement policies may be posted separately. - -Project maintainers who do not follow or enforce the Code of Conduct in good -faith may face temporary or permanent repercussions as determined by other -members of the project's leadership. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, -available at [https://contributor-covenant.org/version/1/4][version] - -[homepage]: https://contributor-covenant.org -[version]: https://contributor-covenant.org/version/1/4/ diff --git a/node_modules/@octokit/openapi-types/README.md b/node_modules/@octokit/openapi-types/README.md index 47acb12..9da833c 100644 --- a/node_modules/@octokit/openapi-types/README.md +++ b/node_modules/@octokit/openapi-types/README.md @@ -1,8 +1,16 @@ -# openapi-types.ts +# @octokit/openapi-types > Generated TypeScript definitions based on GitHub's OpenAPI spec -This repository continously converts [GitHub's OpenAPI specification](https://github.com/github/rest-api-description/) into TypeScript definitions and publishes them to npm as `@octokit/openapi-types` +This package is continously updated based on [GitHub's OpenAPI specification](https://github.com/github/rest-api-description/) + +## Usage + +```ts +import { components } from "@octokit/openapi-types"; + +type Repository = components["schemas"]["full-repository"]; +``` ## License diff --git a/node_modules/@octokit/openapi-types/cache/openapi-schema.json b/node_modules/@octokit/openapi-types/cache/openapi-schema.json deleted file mode 100644 index 5f98c67..0000000 --- a/node_modules/@octokit/openapi-types/cache/openapi-schema.json +++ /dev/null @@ -1,67632 +0,0 @@ -{ - "openapi": "3.0.3", - "info": { - "version": "2.9.0", - "title": "GitHub's official OpenAPI spec + Octokit extension", - "description": "OpenAPI specs from https://github.com/github/rest-api-description with the 'x-octokit' extension required by the Octokit SDKs", - "license": { "name": "MIT", "url": "https://spdx.org/licenses/MIT" }, - "termsOfService": "https://docs.github.com/articles/github-terms-of-service", - "contact": { - "name": "Support", - "url": "https://github.com/octokit/openapi" - } - }, - "tags": [ - { - "name": "actions", - "description": "Endpoints to manage GitHub Actions using the REST API." - }, - { - "name": "activity", - "description": "Activity APIs provide access to notifications, subscriptions, and timelines." - }, - { - "name": "apps", - "description": "Information for integrations and installations." - }, - { - "name": "billing", - "description": "Monitor charges and usage from Actions and Packages." - }, - { - "name": "checks", - "description": "Rich interactions with checks run by your integrations." - }, - { - "name": "code-scanning", - "description": "Retrieve code scanning alerts from a repository." - }, - { - "name": "codes-of-conduct", - "description": "Insight into codes of conduct for your communities." - }, - { - "name": "emojis", - "description": "List emojis available to use on GitHub." - }, - { "name": "gists", "description": "View, modify your gists." }, - { "name": "git", "description": "Raw Git functionality." }, - { "name": "gitignore", "description": "View gitignore templates" }, - { - "name": "interactions", - "description": "Owner or admin management of users interactons." - }, - { "name": "issues", "description": "Interact with GitHub Issues." }, - { "name": "licenses", "description": "View various OSS licenses." }, - { "name": "markdown", "description": "Render Github flavored markdown" }, - { - "name": "meta", - "description": "Endpoints that give information about the API." - }, - { "name": "migrations", "description": "Move projects to or from GitHub." }, - { - "name": "oauth-authorizations", - "description": "Manage access of OAuth applications" - }, - { "name": "orgs", "description": "Interact with GitHub Orgs." }, - { "name": "projects", "description": "Interact with GitHub Projects." }, - { "name": "pulls", "description": "Interact with GitHub Pull Requests." }, - { - "name": "rate-limit", - "description": "Check your current rate limit status" - }, - { - "name": "reactions", - "description": "Interact with reactions to various GitHub entities." - }, - { "name": "repos", "description": "Interact with GitHub Repos." }, - { - "name": "scim", - "description": "Provisioning of GitHub organization membership for SCIM-enabled providers." - }, - { "name": "search", "description": "Look for stuff on GitHub." }, - { - "name": "secret-scanning", - "description": "Retrieve secret scanning alerts from a repository." - }, - { "name": "teams", "description": "Interact with GitHub Teams." }, - { - "name": "users", - "description": "Interact with and view information about users and also current user." - } - ], - "servers": [{ "url": "https://api.github.com" }], - "externalDocs": { - "description": "GitHub v3 REST API", - "url": "https://docs.github.com/rest/" - }, - "paths": { - "/": { - "get": { - "summary": "GitHub API Root", - "description": "Get Hypermedia links to resources accessible in GitHub's REST API", - "tags": ["meta"], - "operationId": "meta/root", - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "current_user_url": { "type": "string", "format": "uri" }, - "current_user_authorizations_html_url": { - "type": "string", - "format": "uri" - }, - "authorizations_url": { "type": "string", "format": "uri" }, - "code_search_url": { "type": "string", "format": "uri" }, - "commit_search_url": { "type": "string", "format": "uri" }, - "emails_url": { "type": "string", "format": "uri" }, - "emojis_url": { "type": "string", "format": "uri" }, - "events_url": { "type": "string", "format": "uri" }, - "feeds_url": { "type": "string", "format": "uri" }, - "followers_url": { "type": "string", "format": "uri" }, - "following_url": { "type": "string", "format": "uri" }, - "gists_url": { "type": "string", "format": "uri" }, - "hub_url": { "type": "string", "format": "uri" }, - "issue_search_url": { "type": "string", "format": "uri" }, - "issues_url": { "type": "string", "format": "uri" }, - "keys_url": { "type": "string", "format": "uri" }, - "label_search_url": { "type": "string", "format": "uri" }, - "notifications_url": { "type": "string", "format": "uri" }, - "organization_url": { "type": "string", "format": "uri" }, - "organization_repositories_url": { - "type": "string", - "format": "uri" - }, - "organization_teams_url": { - "type": "string", - "format": "uri" - }, - "public_gists_url": { "type": "string", "format": "uri" }, - "rate_limit_url": { "type": "string", "format": "uri" }, - "repository_url": { "type": "string", "format": "uri" }, - "repository_search_url": { - "type": "string", - "format": "uri" - }, - "current_user_repositories_url": { - "type": "string", - "format": "uri" - }, - "starred_url": { "type": "string", "format": "uri" }, - "starred_gists_url": { "type": "string", "format": "uri" }, - "topic_search_url": { "type": "string", "format": "uri" }, - "user_url": { "type": "string", "format": "uri" }, - "user_organizations_url": { - "type": "string", - "format": "uri" - }, - "user_repositories_url": { - "type": "string", - "format": "uri" - }, - "user_search_url": { "type": "string", "format": "uri" } - }, - "required": [ - "current_user_url", - "current_user_authorizations_html_url", - "authorizations_url", - "code_search_url", - "commit_search_url", - "emails_url", - "emojis_url", - "events_url", - "feeds_url", - "followers_url", - "following_url", - "gists_url", - "hub_url", - "issue_search_url", - "issues_url", - "keys_url", - "label_search_url", - "notifications_url", - "organization_url", - "organization_repositories_url", - "organization_teams_url", - "public_gists_url", - "rate_limit_url", - "repository_url", - "repository_search_url", - "current_user_repositories_url", - "starred_url", - "starred_gists_url", - "user_url", - "user_organizations_url", - "user_repositories_url", - "user_search_url" - ] - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "meta" - }, - "x-octokit": {} - } - }, - "/app": { - "get": { - "summary": "Get the authenticated app", - "description": "Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the `installations_count` in the response. For more details about your app's installations, see the \"[List installations for the authenticated app](https://docs.github.com/rest/reference/apps#list-installations-for-the-authenticated-app)\" endpoint.\n\nYou must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.", - "tags": ["apps"], - "operationId": "apps/get-authenticated", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/apps/#get-the-authenticated-app" - }, - "parameters": [], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/integration" }, - "examples": { - "default": { "$ref": "#/components/examples/integration" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "apps", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/app-manifests/{code}/conversions": { - "post": { - "summary": "Create a GitHub App from a manifest", - "description": "Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://docs.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/). When you create a GitHub App with the manifest flow, you receive a temporary `code` used to retrieve the GitHub App's `id`, `pem` (private key), and `webhook_secret`.", - "tags": ["apps"], - "operationId": "apps/create-from-manifest", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/apps/#create-a-github-app-from-a-manifest" - }, - "parameters": [ - { - "name": "code", - "in": "path", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { - "allOf": [ - { "$ref": "#/components/schemas/integration" }, - { - "type": "object", - "properties": { - "client_id": { "type": "string" }, - "client_secret": { "type": "string" }, - "webhook_secret": { "type": "string" }, - "pem": { "type": "string" } - }, - "required": [ - "client_id", - "client_secret", - "webhook_secret", - "pem" - ], - "additionalProperties": true - } - ] - }, - "examples": { - "default": { - "$ref": "#/components/examples/integration-from-manifest" - } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed_simple" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "apps", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/app/hook/config": { - "get": { - "summary": "Get a webhook configuration for an app", - "description": "Returns the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see \"[Creating a GitHub App](/developers/apps/creating-a-github-app).\"\n\nYou must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.", - "tags": ["apps"], - "operationId": "apps/get-webhook-config-for-app", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/apps#get-a-webhook-configuration-for-an-app" - }, - "responses": { - "200": { - "description": "Default response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/webhook-config" }, - "examples": { - "default": { "$ref": "#/components/examples/webhook-config" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "apps", - "subcategory": "webhooks" - }, - "x-octokit": {} - }, - "patch": { - "summary": "Update a webhook configuration for an app", - "description": "Updates the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see \"[Creating a GitHub App](/developers/apps/creating-a-github-app).\"\n\nYou must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.", - "tags": ["apps"], - "operationId": "apps/update-webhook-config-for-app", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/apps#update-a-webhook-configuration-for-an-app" - }, - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "url": { "$ref": "#/components/schemas/webhook-config-url" }, - "content_type": { - "$ref": "#/components/schemas/webhook-config-content-type" - }, - "secret": { - "$ref": "#/components/schemas/webhook-config-secret" - }, - "insecure_ssl": { - "$ref": "#/components/schemas/webhook-config-insecure-ssl" - } - }, - "example": { - "content_type": "json", - "insecure_ssl": "0", - "secret": "********", - "url": "https://example.com/webhook" - } - } - } - } - }, - "responses": { - "200": { - "description": "Default response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/webhook-config" }, - "examples": { - "default": { "$ref": "#/components/examples/webhook-config" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "apps", - "subcategory": "webhooks" - }, - "x-octokit": {} - } - }, - "/app/installations": { - "get": { - "summary": "List installations for the authenticated app", - "description": "You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.\n\nThe permissions the installation has are included under the `permissions` key.", - "tags": ["apps"], - "operationId": "apps/list-installations", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/apps/#list-installations-for-the-authenticated-app" - }, - "parameters": [ - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" }, - { "$ref": "#/components/parameters/since" }, - { - "name": "outdated", - "in": "query", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "The permissions the installation has are included under the `permissions` key.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/installation" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/base-installation-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "apps", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/app/installations/{installation_id}": { - "get": { - "summary": "Get an installation for the authenticated app", - "description": "Enables an authenticated GitHub App to find an installation's information using the installation id. The installation's account type (`target_type`) will be either an organization or a user account, depending which account the repository belongs to.\n\nYou must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.", - "tags": ["apps"], - "operationId": "apps/get-installation", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/apps/#get-an-installation-for-the-authenticated-app" - }, - "parameters": [{ "$ref": "#/components/parameters/installation_id" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/installation" }, - "examples": { - "default": { - "$ref": "#/components/examples/base-installation" - } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "415": { "$ref": "#/components/responses/preview_header_missing" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "apps", - "subcategory": null - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete an installation for the authenticated app", - "description": "Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the \"[Suspend an app installation](https://docs.github.com/v3/apps/#suspend-an-app-installation)\" endpoint.\n\nYou must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.", - "tags": ["apps"], - "operationId": "apps/delete-installation", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/apps/#delete-an-installation-for-the-authenticated-app" - }, - "parameters": [{ "$ref": "#/components/parameters/installation_id" }], - "responses": { - "204": { "description": "Empty response" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "apps", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/app/installations/{installation_id}/access_tokens": { - "post": { - "summary": "Create an installation access token for an app", - "description": "Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key.\n\nYou must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.", - "tags": ["apps"], - "operationId": "apps/create-installation-access-token", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/apps/#create-an-installation-access-token-for-an-app" - }, - "parameters": [{ "$ref": "#/components/parameters/installation_id" }], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "repositories": { - "description": "List of repository names that the token should have access to", - "type": "array", - "items": { "type": "string", "example": "rails" } - }, - "repository_ids": { - "description": "List of repository IDs that the token should have access to", - "example": [1], - "type": "array", - "items": { "type": "integer" } - }, - "permissions": { - "$ref": "#/components/schemas/app-permissions" - } - } - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/installation-token" }, - "examples": { - "default": { - "$ref": "#/components/examples/installation-token" - } - } - } - } - }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "415": { "$ref": "#/components/responses/preview_header_missing" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "apps", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/app/installations/{installation_id}/suspended": { - "put": { - "summary": "Suspend an app installation", - "description": "**Note:** Suspending a GitHub App installation is currently in beta and subject to change. Before you can suspend a GitHub App, the app owner must enable suspending installations for the app by opting-in to the beta. For more information, see \"[Suspending a GitHub App installation](https://docs.github.com/apps/managing-github-apps/suspending-a-github-app-installation/).\"\n\nSuspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account.\n\nYou must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.", - "tags": ["apps"], - "operationId": "apps/suspend-installation", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/apps/#suspend-an-app-installation" - }, - "parameters": [{ "$ref": "#/components/parameters/installation_id" }], - "responses": { - "204": { "description": "Empty response" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "apps", - "subcategory": null - }, - "x-octokit": {} - }, - "delete": { - "summary": "Unsuspend an app installation", - "description": "**Note:** Suspending a GitHub App installation is currently in beta and subject to change. Before you can suspend a GitHub App, the app owner must enable suspending installations for the app by opting-in to the beta. For more information, see \"[Suspending a GitHub App installation](https://docs.github.com/apps/managing-github-apps/suspending-a-github-app-installation/).\"\n\nRemoves a GitHub App installation suspension.\n\nYou must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.", - "tags": ["apps"], - "operationId": "apps/unsuspend-installation", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/apps/#unsuspend-an-app-installation" - }, - "parameters": [{ "$ref": "#/components/parameters/installation_id" }], - "responses": { - "204": { "description": "Empty response" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "apps", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/applications/grants": { - "get": { - "summary": "List your grants", - "description": "**Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).\n\nYou can use this API to list the set of OAuth applications that have been granted access to your account. Unlike the [list your authorizations](https://docs.github.com/rest/reference/oauth-authorizations#list-your-authorizations) API, this API does not manage individual tokens. This API will return one entry for each OAuth application that has been granted access to your account, regardless of the number of tokens an application has generated for your user. The list of OAuth applications returned matches what is shown on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). The `scopes` returned are the union of scopes authorized for the application. For example, if an application has one token with `repo` scope and another token with `user` scope, the grant will return `[\"repo\", \"user\"]`.", - "tags": ["oauth-authorizations"], - "operationId": "oauth-authorizations/list-grants", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/oauth-authorizations#list-your-grants" - }, - "parameters": [ - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/application-grant" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/application-grant-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "removalDate": "2020-11-13", - "deprecationDate": "2020-02-14", - "category": "oauth-authorizations", - "subcategory": null - }, - "deprecated": true, - "x-octokit": {} - } - }, - "/applications/grants/{grant_id}": { - "get": { - "summary": "Get a single grant", - "description": "**Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).", - "tags": ["oauth-authorizations"], - "operationId": "oauth-authorizations/get-grant", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/oauth-authorizations#get-a-single-grant" - }, - "parameters": [{ "$ref": "#/components/parameters/grant_id" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/application-grant" }, - "examples": { - "default": { - "$ref": "#/components/examples/application-grant" - } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "removalDate": "2020-11-13", - "deprecationDate": "2020-02-14", - "category": "oauth-authorizations", - "subcategory": null - }, - "deprecated": true, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a grant", - "description": "**Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).\n\nDeleting an OAuth application's grant will also delete all OAuth tokens associated with the application for your user. Once deleted, the application has no access to your account and is no longer listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized).", - "tags": ["oauth-authorizations"], - "operationId": "oauth-authorizations/delete-grant", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/oauth-authorizations#delete-a-grant" - }, - "parameters": [{ "$ref": "#/components/parameters/grant_id" }], - "responses": { - "204": { "description": "Empty response" }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "removalDate": "2020-11-13", - "deprecationDate": "2020-02-14", - "category": "oauth-authorizations", - "subcategory": null - }, - "deprecated": true, - "x-octokit": {} - } - }, - "/applications/{client_id}/grant": { - "delete": { - "summary": "Delete an app authorization", - "description": "OAuth application owners can revoke a grant for their OAuth application and a specific user. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted.\nDeleting an OAuth application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized).", - "operationId": "apps/delete-authorization", - "tags": ["apps"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/apps#delete-an-app-authorization" - }, - "parameters": [{ "$ref": "#/components/parameters/client-id" }], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "access_token": { - "type": "string", - "description": "The OAuth access token used to authenticate to the GitHub API." - } - } - }, - "example": { - "access_token": "e72e16c7e42f292c6912e7710c838347ae178b4a" - } - } - } - }, - "responses": { - "204": { "description": "Empty response" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "apps", - "subcategory": "oauth-applications" - }, - "x-octokit": {} - } - }, - "/applications/{client_id}/grants/{access_token}": { - "delete": { - "summary": "Revoke a grant for an application", - "description": "**Deprecation Notice:** GitHub will discontinue OAuth endpoints that contain `access_token` in the path parameter. We have introduced new endpoints that allow you to securely manage tokens for OAuth Apps by moving `access_token` to the request body. For more information, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-app-endpoint/).\n\nOAuth application owners can revoke a grant for their OAuth application and a specific user. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid token as `:access_token` and the grant for the token's owner will be deleted.\n\nDeleting an OAuth application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the Applications settings page under \"Authorized OAuth Apps\" on GitHub](https://github.com/settings/applications#authorized).", - "tags": ["apps"], - "operationId": "apps/revoke-grant-for-application", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/apps#revoke-a-grant-for-an-application" - }, - "parameters": [ - { "$ref": "#/components/parameters/client-id" }, - { "$ref": "#/components/parameters/access-token" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "removalDate": "2021-05-05", - "deprecationDate": "2020-02-14", - "category": "apps", - "subcategory": "oauth-applications" - }, - "deprecated": true, - "x-octokit": {} - } - }, - "/applications/{client_id}/token": { - "post": { - "summary": "Check a token", - "description": "OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) to use this endpoint, where the username is the OAuth application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`.", - "tags": ["apps"], - "operationId": "apps/check-token", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/apps#check-a-token" - }, - "parameters": [{ "$ref": "#/components/parameters/client-id" }], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "access_token": { - "description": "The access_token of the OAuth application.", - "type": "string" - } - }, - "required": ["access_token"], - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/authorization" }, - "examples": { - "default": { - "$ref": "#/components/examples/authorization-with-user" - } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "apps", - "subcategory": "oauth-applications" - }, - "x-octokit": {} - }, - "patch": { - "summary": "Reset a token", - "description": "OAuth applications can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the \"token\" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`.", - "tags": ["apps"], - "operationId": "apps/reset-token", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/apps#reset-a-token" - }, - "parameters": [{ "$ref": "#/components/parameters/client-id" }], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "access_token": { - "description": "The access_token of the OAuth application.", - "type": "string" - } - }, - "required": ["access_token"], - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/authorization" }, - "examples": { - "default": { - "$ref": "#/components/examples/authorization-with-user" - } - } - } - } - }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "apps", - "subcategory": "oauth-applications" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete an app token", - "description": "OAuth application owners can revoke a single token for an OAuth application. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password.", - "tags": ["apps"], - "operationId": "apps/delete-token", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/apps#delete-an-app-token" - }, - "parameters": [{ "$ref": "#/components/parameters/client-id" }], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "access_token": { - "type": "string", - "description": "The OAuth access token used to authenticate to the GitHub API." - } - } - }, - "example": { - "access_token": "e72e16c7e42f292c6912e7710c838347ae178b4a" - } - } - } - }, - "responses": { - "204": { "description": "Empty response" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "apps", - "subcategory": "oauth-applications" - }, - "x-octokit": {} - } - }, - "/applications/{client_id}/token/scoped": { - "post": { - "summary": "Create a scoped access token", - "description": "Exchanges a non-repository scoped user-to-server OAuth access token for a repository scoped user-to-server OAuth access token. You can specify which repositories the token can access and which permissions are granted to the token. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`.", - "tags": ["apps"], - "operationId": "apps/scope-token", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/apps#create-a-scoped-access-token" - }, - "parameters": [{ "$ref": "#/components/parameters/client-id" }], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "access_token": { - "type": "string", - "description": "**Required.** The OAuth access token used to authenticate to the GitHub API.", - "example": "e72e16c7e42f292c6912e7710c838347ae178b4a" - }, - "target": { - "description": "The name of the user or organization to scope the user-to-server access token to. **Required** unless `target_id` is specified.", - "type": "string", - "example": "octocat" - }, - "target_id": { - "description": "The ID of the user or organization to scope the user-to-server access token to. **Required** unless `target` is specified.", - "example": 1, - "type": "integer" - }, - "repositories": { - "description": "The list of repository IDs to scope the user-to-server access token to. `repositories` may not be specified if `repository_ids` is specified.", - "type": "array", - "items": { "type": "string", "example": "rails" } - }, - "repository_ids": { - "description": "The list of repository names to scope the user-to-server access token to. `repository_ids` may not be specified if `repositories` is specified.", - "example": [1], - "type": "array", - "items": { "type": "integer" } - }, - "permissions": { - "$ref": "#/components/schemas/app-permissions" - } - } - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/authorization" }, - "examples": { - "default": { "$ref": "#/components/examples/scope-token" } - } - } - } - }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "apps", - "subcategory": "oauth-applications" - }, - "x-octokit": {} - } - }, - "/applications/{client_id}/tokens/{access_token}": { - "get": { - "summary": "Check an authorization", - "description": "**Deprecation Notice:** GitHub will discontinue OAuth endpoints that contain `access_token` in the path parameter. We have introduced new endpoints that allow you to securely manage tokens for OAuth Apps by moving `access_token` to the request body. For more information, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-app-endpoint/).\n\nOAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`.", - "tags": ["apps"], - "operationId": "apps/check-authorization", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/apps#check-an-authorization" - }, - "parameters": [ - { "$ref": "#/components/parameters/client-id" }, - { "$ref": "#/components/parameters/access-token" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/authorization" }] - }, - "examples": { - "default": { - "$ref": "#/components/examples/authorization-with-user" - } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "removalDate": "2021-05-05", - "deprecationDate": "2020-02-14", - "category": "apps", - "subcategory": "oauth-applications" - }, - "deprecated": true, - "x-octokit": {} - }, - "post": { - "summary": "Reset an authorization", - "description": "**Deprecation Notice:** GitHub will discontinue OAuth endpoints that contain `access_token` in the path parameter. We have introduced new endpoints that allow you to securely manage tokens for OAuth Apps by moving `access_token` to the request body. For more information, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-app-endpoint/).\n\nOAuth applications can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the \"token\" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`.", - "tags": ["apps"], - "operationId": "apps/reset-authorization", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/apps#reset-an-authorization" - }, - "parameters": [ - { "$ref": "#/components/parameters/client-id" }, - { "$ref": "#/components/parameters/access-token" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/authorization" }, - "examples": { - "default": { - "$ref": "#/components/examples/authorization-with-user" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "removalDate": "2021-05-05", - "deprecationDate": "2020-02-14", - "category": "apps", - "subcategory": "oauth-applications" - }, - "deprecated": true, - "x-octokit": {} - }, - "delete": { - "summary": "Revoke an authorization for an application", - "description": "**Deprecation Notice:** GitHub will discontinue OAuth endpoints that contain `access_token` in the path parameter. We have introduced new endpoints that allow you to securely manage tokens for OAuth Apps by moving `access_token` to the request body. For more information, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-app-endpoint/).\n\nOAuth application owners can revoke a single token for an OAuth application. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password.", - "tags": ["apps"], - "operationId": "apps/revoke-authorization-for-application", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/apps#revoke-an-authorization-for-an-application" - }, - "parameters": [ - { "$ref": "#/components/parameters/client-id" }, - { "$ref": "#/components/parameters/access-token" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "removalDate": "2021-05-05", - "deprecationDate": "2020-02-14", - "category": "apps", - "subcategory": "oauth-applications" - }, - "deprecated": true, - "x-octokit": {} - } - }, - "/apps/{app_slug}": { - "get": { - "summary": "Get an app", - "description": "**Note**: The `:app_slug` is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., `https://github.com/settings/apps/:app_slug`).\n\nIf the GitHub App you specify is public, you can access this endpoint without authenticating. If the GitHub App you specify is private, you must authenticate with a [personal access token](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint.", - "tags": ["apps"], - "operationId": "apps/get-by-slug", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/apps/#get-an-app" - }, - "parameters": [{ "$ref": "#/components/parameters/app_slug" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/integration" }, - "examples": { - "default": { "$ref": "#/components/examples/integration" } - } - } - } - }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "415": { "$ref": "#/components/responses/preview_header_missing" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "apps", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/authorizations": { - "get": { - "summary": "List your authorizations", - "description": "**Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).", - "tags": ["oauth-authorizations"], - "operationId": "oauth-authorizations/list-authorizations", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/oauth-authorizations#list-your-authorizations" - }, - "parameters": [ - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/authorization" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/authorization-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "removalDate": "2020-11-13", - "deprecationDate": "2020-02-14", - "category": "oauth-authorizations", - "subcategory": null - }, - "deprecated": true, - "x-octokit": {} - }, - "post": { - "summary": "Create a new authorization", - "description": "**Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).\n\n**Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api).\n\nCreates OAuth tokens using [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication). If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see \"[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication).\"\n\nTo create tokens for a particular OAuth application using this endpoint, you must authenticate as the user you want to create an authorization for and provide the app's client ID and secret, found on your OAuth application's settings page. If your OAuth application intends to create multiple tokens for one user, use `fingerprint` to differentiate between them.\n\nYou can also create tokens on GitHub from the [personal access tokens settings](https://github.com/settings/tokens) page. Read more about these tokens in [the GitHub Help documentation](https://help.github.com/articles/creating-an-access-token-for-command-line-use).\n\nOrganizations that enforce SAML SSO require personal access tokens to be allowed. Read more about allowing tokens in [the GitHub Help documentation](https://help.github.com/articles/about-identity-and-access-management-with-saml-single-sign-on).", - "tags": ["oauth-authorizations"], - "operationId": "oauth-authorizations/create-authorization", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/oauth-authorizations#create-a-new-authorization" - }, - "parameters": [], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "scopes": { - "description": "A list of scopes that this authorization is in.", - "type": "array", - "items": { "type": "string" }, - "example": ["public_repo", "user"], - "nullable": true - }, - "note": { - "description": "A note to remind you what the OAuth token is for.", - "type": "string", - "example": "Update all gems" - }, - "note_url": { - "description": "A URL to remind you what app the OAuth token is for.", - "type": "string" - }, - "client_id": { - "description": "The OAuth app client key for which to create the token.", - "maxLength": 20, - "type": "string" - }, - "client_secret": { - "description": "The OAuth app client secret for which to create the token.", - "maxLength": 40, - "type": "string" - }, - "fingerprint": { - "description": "A unique string to distinguish an authorization from others created for the same client ID and user.", - "type": "string" - } - } - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/authorization" }, - "examples": { - "default": { "$ref": "#/components/examples/authorization" } - } - } - }, - "headers": { - "Location": { - "example": "https://api.github.com/authorizations/1", - "schema": { "type": "string" } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "410": { "$ref": "#/components/responses/gone" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "removalDate": "2020-11-13", - "deprecationDate": "2020-02-14", - "category": "oauth-authorizations", - "subcategory": null - }, - "deprecated": true, - "x-octokit": {} - } - }, - "/authorizations/clients/{client_id}": { - "put": { - "summary": "Get-or-create an authorization for a specific app", - "description": "**Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).\n\n**Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api).\n\nCreates a new authorization for the specified OAuth application, only if an authorization for that application doesn't already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one.\n\nIf you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see \"[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication).\"\n\n**Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).", - "tags": ["oauth-authorizations"], - "operationId": "oauth-authorizations/get-or-create-authorization-for-app", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/oauth-authorizations#get-or-create-an-authorization-for-a-specific-app" - }, - "parameters": [{ "$ref": "#/components/parameters/client-id" }], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "client_secret": { - "description": "The OAuth app client secret for which to create the token.", - "maxLength": 40, - "type": "string" - }, - "scopes": { - "description": "A list of scopes that this authorization is in.", - "type": "array", - "items": { "type": "string" }, - "example": ["public_repo", "user"], - "nullable": true - }, - "note": { - "description": "A note to remind you what the OAuth token is for.", - "type": "string", - "example": "Update all gems" - }, - "note_url": { - "description": "A URL to remind you what app the OAuth token is for.", - "type": "string" - }, - "fingerprint": { - "description": "A unique string to distinguish an authorization from others created for the same client ID and user.", - "type": "string" - } - }, - "required": ["client_secret"], - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "Response if returning an existing token", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/authorization" }, - "examples": { - "response-if-returning-an-existing-token": { - "$ref": "#/components/examples/authorization-response-if-returning-an-existing-token-2" - } - } - } - }, - "headers": { - "Location": { - "example": "https://api.github.com/authorizations/1", - "schema": { "type": "string" } - } - } - }, - "201": { - "description": "**Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/authorization" }, - "examples": { - "default": { "$ref": "#/components/examples/authorization" } - } - } - }, - "headers": { - "Location": { - "example": "https://api.github.com/authorizations/1", - "schema": { "type": "string" } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "removalDate": "2020-11-13", - "deprecationDate": "2020-02-14", - "category": "oauth-authorizations", - "subcategory": null - }, - "deprecated": true, - "x-octokit": {} - } - }, - "/authorizations/clients/{client_id}/{fingerprint}": { - "put": { - "summary": "Get-or-create an authorization for a specific app and fingerprint", - "description": "**Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).\n\n**Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api).\n\nThis method will create a new authorization for the specified OAuth application, only if an authorization for that application and fingerprint do not already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. `fingerprint` is a unique string to distinguish an authorization from others created for the same client ID and user. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one.\n\nIf you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see \"[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication).\"", - "tags": ["oauth-authorizations"], - "operationId": "oauth-authorizations/get-or-create-authorization-for-app-and-fingerprint", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/oauth-authorizations#get-or-create-an-authorization-for-a-specific-app-and-fingerprint" - }, - "parameters": [ - { "$ref": "#/components/parameters/client-id" }, - { - "name": "fingerprint", - "in": "path", - "required": true, - "schema": { "type": "string" } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "client_secret": { - "description": "The OAuth app client secret for which to create the token.", - "maxLength": 40, - "type": "string" - }, - "scopes": { - "description": "A list of scopes that this authorization is in.", - "type": "array", - "items": { "type": "string" }, - "example": ["public_repo", "user"], - "nullable": true - }, - "note": { - "description": "A note to remind you what the OAuth token is for.", - "type": "string", - "example": "Update all gems" - }, - "note_url": { - "description": "A URL to remind you what app the OAuth token is for.", - "type": "string" - } - }, - "required": ["client_secret"], - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "Response if returning an existing token", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/authorization" }, - "examples": { - "response-if-returning-an-existing-token": { - "$ref": "#/components/examples/authorization-response-if-returning-an-existing-token" - } - } - } - }, - "headers": { - "Location": { - "example": "https://api.github.com/authorizations/1", - "schema": { "type": "string" } - } - } - }, - "201": { - "description": "Response if returning a new token", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/authorization" }, - "examples": { - "default": { "$ref": "#/components/examples/authorization-3" } - } - } - }, - "headers": { - "Location": { - "example": "https://api.github.com/authorizations/1", - "schema": { "type": "string" } - } - } - }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "removalDate": "2020-11-13", - "deprecationDate": "2020-02-14", - "category": "oauth-authorizations", - "subcategory": null - }, - "deprecated": true, - "x-octokit": {} - } - }, - "/authorizations/{authorization_id}": { - "get": { - "summary": "Get a single authorization", - "description": "**Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).", - "tags": ["oauth-authorizations"], - "operationId": "oauth-authorizations/get-authorization", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/oauth-authorizations#get-a-single-authorization" - }, - "parameters": [{ "$ref": "#/components/parameters/authorization_id" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/authorization" }, - "examples": { - "default": { "$ref": "#/components/examples/authorization-2" } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "removalDate": "2020-11-13", - "deprecationDate": "2020-02-14", - "category": "oauth-authorizations", - "subcategory": null - }, - "deprecated": true, - "x-octokit": {} - }, - "patch": { - "summary": "Update an existing authorization", - "description": "**Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).\n\nIf you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see \"[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication).\"\n\nYou can only send one of these scope keys at a time.", - "tags": ["oauth-authorizations"], - "operationId": "oauth-authorizations/update-authorization", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/oauth-authorizations#update-an-existing-authorization" - }, - "parameters": [{ "$ref": "#/components/parameters/authorization_id" }], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "scopes": { - "description": "A list of scopes that this authorization is in.", - "type": "array", - "items": { "type": "string" }, - "example": ["public_repo", "user"], - "nullable": true - }, - "add_scopes": { - "description": "A list of scopes to add to this authorization.", - "type": "array", - "items": { "type": "string" } - }, - "remove_scopes": { - "description": "A list of scopes to remove from this authorization.", - "type": "array", - "items": { "type": "string" } - }, - "note": { - "description": "A note to remind you what the OAuth token is for.", - "type": "string", - "example": "Update all gems" - }, - "note_url": { - "description": "A URL to remind you what app the OAuth token is for.", - "type": "string" - }, - "fingerprint": { - "description": "A unique string to distinguish an authorization from others created for the same client ID and user.", - "type": "string" - } - } - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/authorization" }, - "examples": { - "default": { "$ref": "#/components/examples/authorization-2" } - } - } - } - }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "removalDate": "2020-11-13", - "deprecationDate": "2020-02-14", - "category": "oauth-authorizations", - "subcategory": null - }, - "deprecated": true, - "x-octokit": {} - }, - "delete": { - "summary": "Delete an authorization", - "description": "**Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).", - "tags": ["oauth-authorizations"], - "operationId": "oauth-authorizations/delete-authorization", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/oauth-authorizations#delete-an-authorization" - }, - "parameters": [{ "$ref": "#/components/parameters/authorization_id" }], - "responses": { - "204": { "description": "Empty response" }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "removalDate": "2020-11-13", - "deprecationDate": "2020-02-14", - "category": "oauth-authorizations", - "subcategory": null - }, - "deprecated": true, - "x-octokit": {} - } - }, - "/codes_of_conduct": { - "get": { - "summary": "Get all codes of conduct", - "description": "", - "tags": ["codes-of-conduct"], - "operationId": "codes-of-conduct/get-all-codes-of-conduct", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/codes_of_conduct/#get-all-codes-of-conduct" - }, - "parameters": [], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/code-of-conduct" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/code-of-conduct-simple-items" - } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "415": { "$ref": "#/components/responses/preview_header_missing" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "scarlet-witch", - "note": "The Codes of Conduct API is currently available for developers to preview.\n\nTo access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.scarlet-witch-preview+json\n```" - } - ], - "category": "codes-of-conduct", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/codes_of_conduct/{key}": { - "get": { - "summary": "Get a code of conduct", - "description": "", - "tags": ["codes-of-conduct"], - "operationId": "codes-of-conduct/get-conduct-code", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/codes_of_conduct/#get-a-code-of-conduct" - }, - "parameters": [ - { - "name": "key", - "in": "path", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/code-of-conduct" }, - "examples": { - "default": { "$ref": "#/components/examples/code-of-conduct" } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "404": { "$ref": "#/components/responses/not_found" }, - "415": { "$ref": "#/components/responses/preview_header_missing" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "scarlet-witch", - "note": "The Codes of Conduct API is currently available for developers to preview.\n\nTo access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.scarlet-witch-preview+json\n```" - } - ], - "category": "codes-of-conduct", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/content_references/{content_reference_id}/attachments": { - "post": { - "summary": "Create a content attachment", - "description": "Creates an attachment under a content reference URL in the body or comment of an issue or pull request. Use the `id` of the content reference from the [`content_reference` event](https://docs.github.com/webhooks/event-payloads/#content_reference) to create an attachment.\n\nThe app must create a content attachment within six hours of the content reference URL being posted. See \"[Using content attachments](https://docs.github.com/apps/using-content-attachments/)\" for details about content attachments.\n\nYou must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint.", - "tags": ["apps"], - "operationId": "apps/create-content-attachment", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/apps#create-a-content-attachment" - }, - "parameters": [ - { - "name": "content_reference_id", - "in": "path", - "required": true, - "schema": { "type": "integer" } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "title": { - "description": "The title of the attachment", - "example": "Title of the attachment", - "type": "string", - "maxLength": 1024 - }, - "body": { - "description": "The body of the attachment", - "example": "Body of the attachment", - "type": "string", - "maxLength": 262144 - } - }, - "required": ["title", "body"], - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/content-reference-attachment" - }, - "examples": { - "default": { - "$ref": "#/components/examples/content-reference-attachment" - } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "410": { "$ref": "#/components/responses/gone" }, - "415": { "$ref": "#/components/responses/preview_header_missing" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "corsair", - "note": "To access the Content Attachments API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.corsair-preview+json\n```" - } - ], - "category": "apps", - "subcategory": "installations" - }, - "x-octokit": {} - } - }, - "/emojis": { - "get": { - "summary": "Get emojis", - "description": "Lists all the emojis available to use on GitHub.", - "operationId": "emojis/get", - "tags": ["emojis"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/emojis/#get-emojis" - }, - "parameters": [], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": { "type": "string" } - } - } - }, - "description": "response" - }, - "304": { "$ref": "#/components/responses/not_modified" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "emojis", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/enterprises/{enterprise}/actions/permissions": { - "get": { - "summary": "Get GitHub Actions permissions for an enterprise", - "description": "Gets the GitHub Actions permissions policy for organizations and allowed actions in an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", - "operationId": "enterprise-admin/get-github-actions-permissions-enterprise", - "tags": ["enterprise-admin"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/enterprise-admin#get-github-actions-permissions-for-an-enterprise" - }, - "parameters": [{ "$ref": "#/components/parameters/enterprise" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/actions-enterprise-permissions" - }, - "examples": { - "default": { - "$ref": "#/components/examples/actions-enterprise-permissions" - } - } - } - } - } - }, - "x-github": { - "enabledForGitHubApps": false, - "githubCloudOnly": false, - "previews": [], - "category": "enterprise-admin", - "subcategory": "actions" - }, - "x-octokit": {} - }, - "put": { - "summary": "Set GitHub Actions permissions for an enterprise", - "description": "Sets the GitHub Actions permissions policy for organizations and allowed actions in an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", - "operationId": "enterprise-admin/set-github-actions-permissions-enterprise", - "tags": ["enterprise-admin"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/enterprise-admin#set-github-actions-permissions-for-an-enterprise" - }, - "parameters": [{ "$ref": "#/components/parameters/enterprise" }], - "responses": { "204": { "description": "Empty response" } }, - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "enabled_organizations": { - "$ref": "#/components/schemas/enabled-organizations" - }, - "allowed_actions": { - "$ref": "#/components/schemas/allowed-actions" - } - }, - "required": ["enabled_organizations"] - }, - "example": { - "enabled_organizations": "all", - "allowed_actions": "selected" - } - } - } - }, - "x-github": { - "enabledForGitHubApps": false, - "githubCloudOnly": false, - "previews": [], - "category": "enterprise-admin", - "subcategory": "actions" - }, - "x-octokit": {} - } - }, - "/enterprises/{enterprise}/actions/permissions/organizations": { - "get": { - "summary": "List selected organizations enabled for GitHub Actions in an enterprise", - "description": "Lists the organizations that are selected to have GitHub Actions enabled in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise).\"\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", - "operationId": "enterprise-admin/list-selected-organizations-enabled-github-actions-enterprise", - "tags": ["enterprise-admin"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/enterprise-admin#list-selected-organizations-enabled-for-github-actions-in-an-enterprise" - }, - "parameters": [ - { "$ref": "#/components/parameters/enterprise" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "total_count": { "type": "number" }, - "organizations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/organization-simple" - } - } - }, - "required": ["total_count", "organizations"] - }, - "examples": { - "default": { - "$ref": "#/components/examples/organization-targets" - } - } - } - } - } - }, - "x-github": { - "enabledForGitHubApps": false, - "githubCloudOnly": false, - "previews": [], - "category": "enterprise-admin", - "subcategory": "actions" - }, - "x-octokit": {} - }, - "put": { - "summary": "Set selected organizations enabled for GitHub Actions in an enterprise", - "description": "Replaces the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise).\"\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", - "operationId": "enterprise-admin/set-selected-organizations-enabled-github-actions-enterprise", - "tags": ["enterprise-admin"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/enterprise-admin#set-selected-organizations-enabled-for-github-actions-in-an-enterprise" - }, - "parameters": [{ "$ref": "#/components/parameters/enterprise" }], - "responses": { "204": { "description": "Empty response" } }, - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "selected_organization_ids": { - "description": "List of organization IDs to enable for GitHub Actions.", - "type": "array", - "items": { - "type": "integer", - "description": "Unique identifier of the organization." - } - } - }, - "required": ["selected_organization_ids"] - }, - "example": { "selected_organization_ids": [32, 91] } - } - } - }, - "x-github": { - "enabledForGitHubApps": false, - "githubCloudOnly": false, - "previews": [], - "category": "enterprise-admin", - "subcategory": "actions" - }, - "x-octokit": {} - } - }, - "/enterprises/{enterprise}/actions/permissions/organizations/{org_id}": { - "put": { - "summary": "Enable a selected organization for GitHub Actions in an enterprise", - "description": "Adds an organization to the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise).\"\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", - "operationId": "enterprise-admin/enable-selected-organization-github-actions-enterprise", - "tags": ["enterprise-admin"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/enterprise-admin#enable-a-selected-organization-for-github-actions-in-an-enterprise" - }, - "parameters": [ - { "$ref": "#/components/parameters/enterprise" }, - { "$ref": "#/components/parameters/org_id" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "enabledForGitHubApps": false, - "githubCloudOnly": false, - "previews": [], - "category": "enterprise-admin", - "subcategory": "actions" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Disable a selected organization for GitHub Actions in an enterprise", - "description": "Removes an organization from the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise).\"\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", - "operationId": "enterprise-admin/disable-selected-organization-github-actions-enterprise", - "tags": ["enterprise-admin"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/enterprise-admin#disable-a-selected-organization-for-github-actions-in-an-enterprise" - }, - "parameters": [ - { "$ref": "#/components/parameters/enterprise" }, - { "$ref": "#/components/parameters/org_id" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "enabledForGitHubApps": false, - "githubCloudOnly": false, - "previews": [], - "category": "enterprise-admin", - "subcategory": "actions" - }, - "x-octokit": {} - } - }, - "/enterprises/{enterprise}/actions/permissions/selected-actions": { - "get": { - "summary": "Get allowed actions for an enterprise", - "description": "Gets the selected actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise).\"\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", - "operationId": "enterprise-admin/get-allowed-actions-enterprise", - "tags": ["enterprise-admin"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/enterprise-admin#get-allowed-actions-for-an-enterprise" - }, - "parameters": [{ "$ref": "#/components/parameters/enterprise" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/selected-actions" }, - "examples": { - "default": { - "$ref": "#/components/examples/selected-actions" - } - } - } - } - } - }, - "x-github": { - "enabledForGitHubApps": false, - "githubCloudOnly": false, - "previews": [], - "category": "enterprise-admin", - "subcategory": "actions" - }, - "x-octokit": {} - }, - "put": { - "summary": "Set allowed actions for an enterprise", - "description": "Sets the actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise).\"\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", - "operationId": "enterprise-admin/set-allowed-actions-enterprise", - "tags": ["enterprise-admin"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/enterprise-admin#set-allowed-actions-for-an-enterprise" - }, - "parameters": [{ "$ref": "#/components/parameters/enterprise" }], - "responses": { "204": { "description": "Empty response" } }, - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/selected-actions" }, - "examples": { - "selected_actions": { - "$ref": "#/components/examples/selected-actions" - } - } - } - } - }, - "x-github": { - "enabledForGitHubApps": false, - "githubCloudOnly": false, - "previews": [], - "category": "enterprise-admin", - "subcategory": "actions" - }, - "x-octokit": {} - } - }, - "/enterprises/{enterprise}/actions/runner-groups": { - "get": { - "summary": "List self-hosted runner groups for an enterprise", - "description": "Lists all self-hosted runner groups for an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", - "operationId": "enterprise-admin/list-self-hosted-runner-groups-for-enterprise", - "tags": ["enterprise-admin"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/enterprise-admin#list-self-hosted-runner-groups-for-an-enterprise" - }, - "parameters": [ - { "$ref": "#/components/parameters/enterprise" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "total_count": { "type": "number" }, - "runner_groups": { - "type": "array", - "items": { - "$ref": "#/components/schemas/runner-groups-enterprise" - } - } - }, - "required": ["total_count", "runner_groups"] - }, - "examples": { - "default": { - "$ref": "#/components/examples/runner-groups-enterprise" - } - } - } - } - } - }, - "x-github": { - "enabledForGitHubApps": false, - "githubCloudOnly": false, - "previews": [], - "category": "enterprise-admin", - "subcategory": "actions" - }, - "x-octokit": {} - }, - "post": { - "summary": "Create a self-hosted runner group for an enterprise", - "description": "Creates a new self-hosted runner group for an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", - "operationId": "enterprise-admin/create-self-hosted-runner-group-for-enterprise", - "tags": ["enterprise-admin"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/enterprise-admin#create-self-hosted-runner-group-for-an-enterprise" - }, - "parameters": [{ "$ref": "#/components/parameters/enterprise" }], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "description": "Name of the runner group.", - "type": "string" - }, - "visibility": { - "description": "Visibility of a runner group. You can select all organizations or select individual organization. Can be one of: `all` or `selected`", - "type": "string", - "enum": ["selected", "all"] - }, - "selected_organization_ids": { - "description": "List of organization IDs that can access the runner group.", - "type": "array", - "items": { - "type": "integer", - "description": "Unique identifier of the organization." - } - }, - "runners": { - "description": "List of runner IDs to add to the runner group.", - "type": "array", - "items": { - "type": "integer", - "description": "Unique identifier of the runner." - } - } - }, - "required": ["name"] - }, - "example": { - "name": "Expensive hardware runners", - "visibility": "selected", - "selected_organization_ids": [32, 91], - "runners": [9, 2] - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/runner-groups-enterprise" - }, - "examples": { - "default": { - "$ref": "#/components/examples/runner-group-enterprise" - } - } - } - } - } - }, - "x-github": { - "enabledForGitHubApps": false, - "githubCloudOnly": false, - "previews": [], - "category": "enterprise-admin", - "subcategory": "actions" - }, - "x-octokit": {} - } - }, - "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}": { - "get": { - "summary": "Get a self-hosted runner group for an enterprise", - "description": "Gets a specific self-hosted runner group for an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", - "operationId": "enterprise-admin/get-self-hosted-runner-group-for-enterprise", - "tags": ["enterprise-admin"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/enterprise-admin#get-a-self-hosted-runner-group-for-an-enterprise" - }, - "parameters": [ - { "$ref": "#/components/parameters/enterprise" }, - { "$ref": "#/components/parameters/runner_group_id" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/runner-groups-enterprise" - }, - "examples": { - "default": { - "$ref": "#/components/examples/runner-group-enterprise" - } - } - } - } - } - }, - "x-github": { - "enabledForGitHubApps": false, - "githubCloudOnly": false, - "previews": [], - "category": "enterprise-admin", - "subcategory": "actions" - }, - "x-octokit": {} - }, - "patch": { - "summary": "Update a self-hosted runner group for an enterprise", - "description": "Updates the `name` and `visibility` of a self-hosted runner group in an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", - "operationId": "enterprise-admin/update-self-hosted-runner-group-for-enterprise", - "tags": ["enterprise-admin"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/enterprise-admin#update-a-self-hosted-runner-group-for-an-enterprise" - }, - "parameters": [ - { "$ref": "#/components/parameters/enterprise" }, - { "$ref": "#/components/parameters/runner_group_id" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "description": "Name of the runner group.", - "type": "string" - }, - "visibility": { - "description": "Visibility of a runner group. You can select all organizations or select individual organizations. Can be one of: `all` or `selected`", - "type": "string", - "enum": ["selected", "all"], - "default": "all" - } - } - }, - "example": { - "name": "Expensive hardware runners", - "visibility": "selected" - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/runner-groups-enterprise" - }, - "examples": { - "default": { - "$ref": "#/components/examples/runner-group-update-enterprise" - } - } - } - } - } - }, - "x-github": { - "enabledForGitHubApps": false, - "githubCloudOnly": false, - "previews": [], - "category": "enterprise-admin", - "subcategory": "actions" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a self-hosted runner group from an enterprise", - "description": "Deletes a self-hosted runner group for an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", - "operationId": "enterprise-admin/delete-self-hosted-runner-group-from-enterprise", - "tags": ["enterprise-admin"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/enterprise-admin#delete-a-self-hosted-runner-group-from-an-enterprise" - }, - "parameters": [ - { "$ref": "#/components/parameters/enterprise" }, - { "$ref": "#/components/parameters/runner_group_id" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "enabledForGitHubApps": false, - "githubCloudOnly": false, - "previews": [], - "category": "enterprise-admin", - "subcategory": "actions" - }, - "x-octokit": {} - } - }, - "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations": { - "get": { - "summary": "List organization access to a self-hosted runner group in an enterprise", - "description": "Lists the organizations with access to a self-hosted runner group.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", - "operationId": "enterprise-admin/list-org-access-to-self-hosted-runner-group-in-enterprise", - "tags": ["enterprise-admin"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/enterprise-admin#list-organization-access-to-a-self-hosted-runner-group-in-a-enterprise" - }, - "parameters": [ - { "$ref": "#/components/parameters/enterprise" }, - { "$ref": "#/components/parameters/runner_group_id" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "total_count": { "type": "number" }, - "organizations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/organization-simple" - } - } - }, - "required": ["total_count", "organizations"] - }, - "examples": { - "default": { - "$ref": "#/components/examples/organization-targets" - } - } - } - } - } - }, - "x-github": { - "enabledForGitHubApps": false, - "githubCloudOnly": false, - "previews": [], - "category": "enterprise-admin", - "subcategory": "actions" - }, - "x-octokit": {} - }, - "put": { - "summary": "Set organization access for a self-hosted runner group in an enterprise", - "description": "Replaces the list of organizations that have access to a self-hosted runner configured in an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", - "operationId": "enterprise-admin/set-org-access-to-self-hosted-runner-group-in-enterprise", - "tags": ["enterprise-admin"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/enterprise-admin#set-organization-access-to-a-self-hosted-runner-group-in-an-enterprise" - }, - "parameters": [ - { "$ref": "#/components/parameters/enterprise" }, - { "$ref": "#/components/parameters/runner_group_id" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "selected_organization_ids": { - "description": "List of organization IDs that can access the runner group.", - "type": "array", - "items": { - "type": "integer", - "description": "Unique identifier of the organization." - } - } - }, - "required": ["selected_organization_ids"] - }, - "example": { "selected_organization_ids": [32, 91] } - } - } - }, - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "enabledForGitHubApps": false, - "githubCloudOnly": false, - "previews": [], - "category": "enterprise-admin", - "subcategory": "actions" - }, - "x-octokit": {} - } - }, - "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations/{org_id}": { - "put": { - "summary": "Add organization access to a self-hosted runner group in an enterprise", - "description": "Adds an organization to the list of selected organizations that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see \"[Create a self-hosted runner group for an enterprise](#create-a-self-hosted-runner-group-for-an-enterprise).\"\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", - "operationId": "enterprise-admin/add-org-access-to-self-hosted-runner-group-in-enterprise", - "tags": ["enterprise-admin"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/enterprise-admin#add-organization-access-to-a-self-hosted-runner-group-in-an-enterprise" - }, - "parameters": [ - { "$ref": "#/components/parameters/enterprise" }, - { "$ref": "#/components/parameters/runner_group_id" }, - { "$ref": "#/components/parameters/org_id" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "enabledForGitHubApps": false, - "githubCloudOnly": false, - "previews": [], - "category": "enterprise-admin", - "subcategory": "actions" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Remove organization access to a self-hosted runner group in an enterprise", - "description": "Removes an organization from the list of selected organizations that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see \"[Create a self-hosted runner group for an enterprise](#create-a-self-hosted-runner-group-for-an-enterprise).\"\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", - "operationId": "enterprise-admin/remove-org-access-to-self-hosted-runner-group-in-enterprise", - "tags": ["enterprise-admin"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/enterprise-admin#remove-organization-access-to-a-self-hosted-runner-group-in-an-enterprise" - }, - "parameters": [ - { "$ref": "#/components/parameters/enterprise" }, - { "$ref": "#/components/parameters/runner_group_id" }, - { "$ref": "#/components/parameters/org_id" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "enabledForGitHubApps": false, - "githubCloudOnly": false, - "previews": [], - "category": "enterprise-admin", - "subcategory": "actions" - }, - "x-octokit": {} - } - }, - "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners": { - "get": { - "summary": "List self-hosted runners in a group for an enterprise", - "description": "Lists the self-hosted runners that are in a specific enterprise group.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", - "operationId": "enterprise-admin/list-self-hosted-runners-in-group-for-enterprise", - "tags": ["enterprise-admin"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/enterprise-admin#list-self-hosted-runners-in-a-group-for-an-enterprise" - }, - "parameters": [ - { "$ref": "#/components/parameters/enterprise" }, - { "$ref": "#/components/parameters/runner_group_id" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "total_count": { "type": "number" }, - "runners": { - "type": "array", - "items": { "$ref": "#/components/schemas/runner" } - } - }, - "required": ["total_count", "runners"] - }, - "examples": { - "default": { - "$ref": "#/components/examples/runner-paginated" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "enabledForGitHubApps": false, - "githubCloudOnly": false, - "previews": [], - "category": "enterprise-admin", - "subcategory": "actions" - }, - "x-octokit": {} - }, - "put": { - "summary": "Set self-hosted runners in a group for an enterprise", - "description": "Replaces the list of self-hosted runners that are part of an enterprise runner group.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", - "operationId": "enterprise-admin/set-self-hosted-runners-in-group-for-enterprise", - "tags": ["enterprise-admin"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/enterprise-admin#set-self-hosted-runners-in-a-group-for-an-enterprise" - }, - "parameters": [ - { "$ref": "#/components/parameters/enterprise" }, - { "$ref": "#/components/parameters/runner_group_id" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "runners": { - "description": "List of runner IDs to add to the runner group.", - "type": "array", - "items": { - "type": "integer", - "description": "Unique identifier of the runner." - } - } - }, - "required": ["runners"] - }, - "example": { "runners": [9, 2] } - } - } - }, - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "enabledForGitHubApps": false, - "githubCloudOnly": false, - "previews": [], - "category": "enterprise-admin", - "subcategory": "actions" - }, - "x-octokit": {} - } - }, - "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": { - "put": { - "summary": "Add a self-hosted runner to a group for an enterprise", - "description": "Adds a self-hosted runner to a runner group configured in an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise`\nscope to use this endpoint.", - "operationId": "enterprise-admin/add-self-hosted-runner-to-group-for-enterprise", - "tags": ["enterprise-admin"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/enterprise-admin#add-a-self-hosted-runner-to-a-group-for-an-enterprise" - }, - "parameters": [ - { "$ref": "#/components/parameters/enterprise" }, - { "$ref": "#/components/parameters/runner_group_id" }, - { "$ref": "#/components/parameters/runner_id" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "enabledForGitHubApps": false, - "githubCloudOnly": false, - "previews": [], - "category": "enterprise-admin", - "subcategory": "actions" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Remove a self-hosted runner from a group for an enterprise", - "description": "Removes a self-hosted runner from a group configured in an enterprise. The runner is then returned to the default group.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", - "operationId": "enterprise-admin/remove-self-hosted-runner-from-group-for-enterprise", - "tags": ["enterprise-admin"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/enterprise-admin#remove-a-self-hosted-runner-from-a-group-for-an-enterprise" - }, - "parameters": [ - { "$ref": "#/components/parameters/enterprise" }, - { "$ref": "#/components/parameters/runner_group_id" }, - { "$ref": "#/components/parameters/runner_id" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "enabledForGitHubApps": false, - "githubCloudOnly": false, - "previews": [], - "category": "enterprise-admin", - "subcategory": "actions" - }, - "x-octokit": {} - } - }, - "/enterprises/{enterprise}/actions/runners": { - "get": { - "summary": "List self-hosted runners for an enterprise", - "description": "Lists all self-hosted runners configured for an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", - "operationId": "enterprise-admin/list-self-hosted-runners-for-enterprise", - "tags": ["enterprise-admin"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/enterprise-admin#list-self-hosted-runners-for-an-enterprise" - }, - "parameters": [ - { "$ref": "#/components/parameters/enterprise" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "total_count": { "type": "number" }, - "runners": { - "type": "array", - "items": { "$ref": "#/components/schemas/runner" } - } - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/runner-paginated" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "enabledForGitHubApps": false, - "githubCloudOnly": false, - "previews": [], - "category": "enterprise-admin", - "subcategory": "actions" - }, - "x-octokit": {} - } - }, - "/enterprises/{enterprise}/actions/runners/downloads": { - "get": { - "summary": "List runner applications for an enterprise", - "description": "Lists binaries for the runner application that you can download and run.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", - "operationId": "enterprise-admin/list-runner-applications-for-enterprise", - "tags": ["enterprise-admin"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/enterprise-admin#list-runner-applications-for-an-enterprise" - }, - "parameters": [{ "$ref": "#/components/parameters/enterprise" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/runner-application" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/runner-application-items" - } - } - } - } - } - }, - "x-github": { - "enabledForGitHubApps": false, - "githubCloudOnly": false, - "previews": [], - "category": "enterprise-admin", - "subcategory": "actions" - }, - "x-octokit": {} - } - }, - "/enterprises/{enterprise}/actions/runners/registration-token": { - "post": { - "summary": "Create a registration token for an enterprise", - "description": "Returns a token that you can pass to the `config` script. The token expires after one hour.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n\n#### Example using registration token\n\nConfigure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint.\n\n```\n./config.sh --url https://github.com/enterprises/octo-enterprise --token TOKEN\n```", - "operationId": "enterprise-admin/create-registration-token-for-enterprise", - "tags": ["enterprise-admin"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/enterprise-admin#create-a-registration-token-for-an-enterprise" - }, - "parameters": [{ "$ref": "#/components/parameters/enterprise" }], - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/authentication-token" - }, - "examples": { - "default": { - "$ref": "#/components/examples/authentication-token" - } - } - } - } - } - }, - "x-github": { - "enabledForGitHubApps": false, - "githubCloudOnly": false, - "previews": [], - "category": "enterprise-admin", - "subcategory": "actions" - }, - "x-octokit": {} - } - }, - "/enterprises/{enterprise}/actions/runners/remove-token": { - "post": { - "summary": "Create a remove token for an enterprise", - "description": "Returns a token that you can pass to the `config` script to remove a self-hosted runner from an enterprise. The token expires after one hour.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n\n#### Example using remove token\n\nTo remove your self-hosted runner from an enterprise, replace `TOKEN` with the remove token provided by this\nendpoint.\n\n```\n./config.sh remove --token TOKEN\n```", - "operationId": "enterprise-admin/create-remove-token-for-enterprise", - "tags": ["enterprise-admin"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/enterprise-admin#create-a-remove-token-for-an-enterprise" - }, - "parameters": [{ "$ref": "#/components/parameters/enterprise" }], - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/authentication-token" - }, - "examples": { - "default": { - "$ref": "#/components/examples/authentication-token-2" - } - } - } - } - } - }, - "x-github": { - "enabledForGitHubApps": false, - "githubCloudOnly": false, - "previews": [], - "category": "enterprise-admin", - "subcategory": "actions" - }, - "x-octokit": {} - } - }, - "/enterprises/{enterprise}/actions/runners/{runner_id}": { - "get": { - "summary": "Get a self-hosted runner for an enterprise", - "description": "Gets a specific self-hosted runner configured in an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", - "operationId": "enterprise-admin/get-self-hosted-runner-for-enterprise", - "tags": ["enterprise-admin"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/enterprise-admin#get-a-self-hosted-runner-for-an-enterprise" - }, - "parameters": [ - { "$ref": "#/components/parameters/enterprise" }, - { "$ref": "#/components/parameters/runner_id" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/runner" }, - "examples": { - "default": { "$ref": "#/components/examples/runner" } - } - } - } - } - }, - "x-github": { - "enabledForGitHubApps": false, - "githubCloudOnly": false, - "previews": [], - "category": "enterprise-admin", - "subcategory": "actions" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a self-hosted runner from an enterprise", - "description": "Forces the removal of a self-hosted runner from an enterprise. You can use this endpoint to completely remove the runner when the machine you were using no longer exists.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", - "operationId": "enterprise-admin/delete-self-hosted-runner-from-enterprise", - "tags": ["enterprise-admin"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/enterprise-admin#delete-self-hosted-runner-from-an-enterprise" - }, - "parameters": [ - { "$ref": "#/components/parameters/enterprise" }, - { "$ref": "#/components/parameters/runner_id" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "enabledForGitHubApps": false, - "githubCloudOnly": false, - "previews": [], - "category": "enterprise-admin", - "subcategory": "actions" - }, - "x-octokit": {} - } - }, - "/enterprises/{enterprise}/audit-log": { - "get": { - "summary": "Get the audit log for an enterprise", - "description": "**Note:** The audit log REST API is currently in beta and is subject to change.\n\nGets the audit log for an enterprise. To use this endpoint, you must be an enterprise admin, and you must use an access token with the `admin:enterprise` scope.", - "operationId": "audit-log/get-audit-log", - "tags": ["audit-log"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/enterprise-admin#get-the-audit-log-for-an-enterprise" - }, - "parameters": [ - { "$ref": "#/components/parameters/enterprise" }, - { "$ref": "#/components/parameters/audit-log-phrase" }, - { "$ref": "#/components/parameters/audit-log-include" }, - { "$ref": "#/components/parameters/audit-log-after" }, - { "$ref": "#/components/parameters/audit-log-before" }, - { "$ref": "#/components/parameters/audit-log-order" }, - { "$ref": "#/components/parameters/per_page" } - ], - "responses": { - "200": { - "description": "Response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/audit-log-event" } - }, - "examples": { - "default": { "$ref": "#/components/examples/audit-log" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": true, - "enabledForGitHubApps": false, - "previews": [], - "category": "enterprise-admin", - "subcategory": "audit-log" - }, - "x-octokit": {} - } - }, - "/enterprises/{enterprise}/settings/billing/actions": { - "get": { - "summary": "Get GitHub Actions billing for an enterprise", - "description": "Gets the summary of the free and paid GitHub Actions minutes used.\n\nPaid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see \"[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)\".\n\nThe authenticated user must be an enterprise admin.", - "operationId": "billing/get-github-actions-billing-ghe", - "tags": ["billing"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/billing/#get-github-actions-billing-for-an-enterprise" - }, - "parameters": [{ "$ref": "#/components/parameters/enterprise" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/actions-billing-usage" - }, - "examples": { - "default": { - "$ref": "#/components/examples/actions-billing-usage" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": true, - "enabledForGitHubApps": false, - "previews": [], - "category": "enterprise-admin", - "subcategory": "billing" - }, - "x-octokit": {} - } - }, - "/enterprises/{enterprise}/settings/billing/packages": { - "get": { - "summary": "Get GitHub Packages billing for an enterprise", - "description": "Gets the free and paid storage used for GitHub Packages in gigabytes.\n\nPaid minutes only apply to packages stored for private repositories. For more information, see \"[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages).\"\n\nThe authenticated user must be an enterprise admin.", - "operationId": "billing/get-github-packages-billing-ghe", - "tags": ["billing"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/billing/#get-github-packages-billing-for-an-enterprise" - }, - "parameters": [{ "$ref": "#/components/parameters/enterprise" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/packages-billing-usage" - }, - "examples": { - "default": { - "$ref": "#/components/examples/packages-billing-usage" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": true, - "enabledForGitHubApps": false, - "previews": [], - "category": "enterprise-admin", - "subcategory": "billing" - }, - "x-octokit": {} - } - }, - "/enterprises/{enterprise}/settings/billing/shared-storage": { - "get": { - "summary": "Get shared storage billing for an enterprise", - "description": "Gets the estimated paid and estimated total storage used for GitHub Actions and Github Packages.\n\nPaid minutes only apply to packages stored for private repositories. For more information, see \"[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages).\"\n\nThe authenticated user must be an enterprise admin.", - "operationId": "billing/get-shared-storage-billing-ghe", - "tags": ["billing"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/billing/#get-shared-storage-billing-for-an-enterprise" - }, - "parameters": [{ "$ref": "#/components/parameters/enterprise" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/combined-billing-usage" - }, - "examples": { - "default": { - "$ref": "#/components/examples/combined-billing-usage" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": true, - "enabledForGitHubApps": false, - "previews": [], - "category": "enterprise-admin", - "subcategory": "billing" - }, - "x-octokit": {} - } - }, - "/events": { - "get": { - "summary": "List public events", - "description": "We delay the public events feed by five minutes, which means the most recent event returned by the public events API actually occurred at least five minutes ago.", - "tags": ["activity"], - "operationId": "activity/list-public-events", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/activity#list-public-events" - }, - "parameters": [ - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/event" } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "503": { "$ref": "#/components/responses/service_unavailable" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "activity", - "subcategory": "events" - }, - "x-octokit": {} - } - }, - "/feeds": { - "get": { - "summary": "Get feeds", - "description": "GitHub provides several timeline resources in [Atom](http://en.wikipedia.org/wiki/Atom_(standard)) format. The Feeds API lists all the feeds available to the authenticated user:\n\n* **Timeline**: The GitHub global public timeline\n* **User**: The public timeline for any user, using [URI template](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia)\n* **Current user public**: The public timeline for the authenticated user\n* **Current user**: The private timeline for the authenticated user\n* **Current user actor**: The private timeline for activity created by the authenticated user\n* **Current user organizations**: The private timeline for the organizations the authenticated user is a member of.\n* **Security advisories**: A collection of public announcements that provide information about security-related vulnerabilities in software on GitHub.\n\n**Note**: Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) since current feed URIs use the older, non revocable auth tokens.", - "tags": ["activity"], - "operationId": "activity/get-feeds", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/activity#get-feeds" - }, - "parameters": [], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/feed" }, - "examples": { - "default": { "$ref": "#/components/examples/feed" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "activity", - "subcategory": "feeds" - }, - "x-octokit": {} - } - }, - "/gists": { - "get": { - "summary": "List gists for the authenticated user", - "description": "Lists the authenticated user's gists or if called anonymously, this endpoint returns all public gists:", - "tags": ["gists"], - "operationId": "gists/list", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/gists/#list-gists-for-the-authenticated-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/since" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/base-gist" } - }, - "examples": { - "default": { "$ref": "#/components/examples/base-gist-items" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "403": { "$ref": "#/components/responses/forbidden" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "gists", - "subcategory": null - }, - "x-octokit": {} - }, - "post": { - "summary": "Create a gist", - "description": "Allows you to add a new gist with one or more files.\n\n**Note:** Don't name your files \"gistfile\" with a numerical suffix. This is the format of the automatic naming scheme that Gist uses internally.", - "operationId": "gists/create", - "tags": ["gists"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/gists/#create-a-gist" - }, - "parameters": [], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "description": { - "description": "Description of the gist", - "example": "Example Ruby script", - "type": "string" - }, - "files": { - "description": "Names and content for the files that make up the gist", - "example": { - "hello.rb": { "content": "puts \"Hello, World!\"" } - }, - "type": "object", - "additionalProperties": { - "type": "object", - "properties": { - "content": { - "description": "Content of the file", - "readOnly": false, - "type": "string" - } - }, - "required": ["content"] - } - }, - "public": { - "oneOf": [ - { - "description": "Flag indicating whether the gist is public", - "example": true, - "type": "boolean", - "default": false - }, - { - "type": "string", - "example": "true", - "default": "false", - "enum": ["true", "false"] - } - ] - } - }, - "required": ["files"], - "type": "object" - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/gist-simple" }, - "examples": { - "default": { "$ref": "#/components/examples/gist" } - } - } - }, - "headers": { - "Location": { - "example": "https://api.github.com/gists/aa5a315d61ae9438b18d", - "schema": { "type": "string" } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "gists", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/gists/public": { - "get": { - "summary": "List public gists", - "description": "List public gists sorted by most recently updated to least recently updated.\n\nNote: With [pagination](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination), you can fetch up to 3000 gists. For example, you can fetch 100 pages with 30 gists per page or 30 pages with 100 gists per page.", - "tags": ["gists"], - "operationId": "gists/list-public", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/gists/#list-public-gists" - }, - "parameters": [ - { "$ref": "#/components/parameters/since" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/base-gist" } - }, - "examples": { - "default": { "$ref": "#/components/examples/base-gist-items" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "gists", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/gists/starred": { - "get": { - "summary": "List starred gists", - "description": "List the authenticated user's starred gists:", - "tags": ["gists"], - "operationId": "gists/list-starred", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/gists/#list-starred-gists" - }, - "parameters": [ - { "$ref": "#/components/parameters/since" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/base-gist" } - }, - "examples": { - "default": { "$ref": "#/components/examples/base-gist-items" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "gists", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/gists/{gist_id}": { - "get": { - "summary": "Get a gist", - "description": "", - "tags": ["gists"], - "operationId": "gists/get", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/gists/#get-a-gist" - }, - "parameters": [{ "$ref": "#/components/parameters/gist_id" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/gist-simple" }, - "examples": { - "default": { "$ref": "#/components/examples/gist" } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "403": { "$ref": "#/components/responses/forbidden_gist" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "gists", - "subcategory": null - }, - "x-octokit": {} - }, - "patch": { - "summary": "Update a gist", - "description": "Allows you to update or delete a gist file and rename gist files. Files from the previous version of the gist that aren't explicitly changed during an edit are unchanged.", - "tags": ["gists"], - "operationId": "gists/update", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/gists/#update-a-gist" - }, - "parameters": [{ "$ref": "#/components/parameters/gist_id" }], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "description": { - "description": "Description of the gist", - "example": "Example Ruby script", - "type": "string" - }, - "files": { - "description": "Names of files to be updated", - "example": { - "hello.rb": { - "content": "blah", - "filename": "goodbye.rb" - } - }, - "type": "object", - "additionalProperties": { - "type": "object", - "nullable": true, - "properties": { - "content": { - "description": "The new content of the file", - "type": "string" - }, - "filename": { - "description": "The new filename for the file", - "type": "string", - "nullable": true - } - }, - "anyOf": [ - { "required": ["content"] }, - { "required": ["filename"] }, - { "type": "object", "maxProperties": 0 } - ] - } - } - }, - "anyOf": [ - { "required": ["description"] }, - { "required": ["files"] } - ], - "type": "object", - "nullable": true - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/gist-simple" }, - "examples": { - "default": { "$ref": "#/components/examples/gist" } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "gists", - "subcategory": null - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a gist", - "description": "", - "tags": ["gists"], - "operationId": "gists/delete", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/gists/#delete-a-gist" - }, - "parameters": [{ "$ref": "#/components/parameters/gist_id" }], - "responses": { - "204": { "description": "Empty response" }, - "304": { "$ref": "#/components/responses/not_modified" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "gists", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/gists/{gist_id}/comments": { - "get": { - "summary": "List gist comments", - "description": "", - "tags": ["gists"], - "operationId": "gists/list-comments", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/gists#list-gist-comments" - }, - "parameters": [ - { "$ref": "#/components/parameters/gist_id" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/gist-comment" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/gist-comment-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "gists", - "subcategory": "comments" - }, - "x-octokit": {} - }, - "post": { - "summary": "Create a gist comment", - "description": "", - "tags": ["gists"], - "operationId": "gists/create-comment", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/gists#create-a-gist-comment" - }, - "parameters": [{ "$ref": "#/components/parameters/gist_id" }], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "body": { - "description": "The comment text.", - "type": "string", - "maxLength": 65535, - "example": "Body of the attachment" - } - }, - "type": "object", - "required": ["body"] - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/gist-comment" }, - "examples": { - "default": { "$ref": "#/components/examples/gist-comment" } - } - } - }, - "headers": { - "Location": { - "example": "https://api.github.com/gists/a6db0bec360bb87e9418/comments/1", - "schema": { "type": "string" } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "gists", - "subcategory": "comments" - }, - "x-octokit": {} - } - }, - "/gists/{gist_id}/comments/{comment_id}": { - "get": { - "summary": "Get a gist comment", - "description": "", - "tags": ["gists"], - "operationId": "gists/get-comment", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/gists#get-a-gist-comment" - }, - "parameters": [ - { "$ref": "#/components/parameters/gist_id" }, - { "$ref": "#/components/parameters/comment_id" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/gist-comment" }, - "examples": { - "default": { "$ref": "#/components/examples/gist-comment" } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "403": { "$ref": "#/components/responses/forbidden_gist" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "gists", - "subcategory": "comments" - }, - "x-octokit": {} - }, - "patch": { - "summary": "Update a gist comment", - "description": "", - "tags": ["gists"], - "operationId": "gists/update-comment", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/gists#update-a-gist-comment" - }, - "parameters": [ - { "$ref": "#/components/parameters/gist_id" }, - { "$ref": "#/components/parameters/comment_id" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "body": { - "description": "The comment text.", - "type": "string", - "maxLength": 65535, - "example": "Body of the attachment" - } - }, - "type": "object", - "required": ["body"] - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/gist-comment" }, - "examples": { - "default": { "$ref": "#/components/examples/gist-comment" } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "gists", - "subcategory": "comments" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a gist comment", - "description": "", - "tags": ["gists"], - "operationId": "gists/delete-comment", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/gists#delete-a-gist-comment" - }, - "parameters": [ - { "$ref": "#/components/parameters/gist_id" }, - { "$ref": "#/components/parameters/comment_id" } - ], - "responses": { - "204": { "description": "Empty response" }, - "304": { "$ref": "#/components/responses/not_modified" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "gists", - "subcategory": "comments" - }, - "x-octokit": {} - } - }, - "/gists/{gist_id}/commits": { - "get": { - "summary": "List gist commits", - "description": "", - "tags": ["gists"], - "operationId": "gists/list-commits", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/gists/#list-gist-commits" - }, - "parameters": [ - { "$ref": "#/components/parameters/gist_id" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/gist-commit" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/gist-commit-items" - } - } - } - }, - "headers": { - "Link": { - "example": "; rel=\"next\"", - "schema": { "type": "string" } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "gists", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/gists/{gist_id}/forks": { - "get": { - "summary": "List gist forks", - "description": "", - "tags": ["gists"], - "operationId": "gists/list-forks", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/gists/#list-gist-forks" - }, - "parameters": [ - { "$ref": "#/components/parameters/gist_id" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/gist-simple" } - }, - "examples": { - "default": { "$ref": "#/components/examples/gist-fork-items" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "gists", - "subcategory": null - }, - "x-octokit": {} - }, - "post": { - "summary": "Fork a gist", - "description": "**Note**: This was previously `/gists/:gist_id/fork`.", - "tags": ["gists"], - "operationId": "gists/fork", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/gists/#fork-a-gist" - }, - "parameters": [{ "$ref": "#/components/parameters/gist_id" }], - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/base-gist" }, - "examples": { - "default": { "$ref": "#/components/examples/base-gist" } - } - } - }, - "headers": { - "Location": { - "example": "https://api.github.com/gists/aa5a315d61ae9438b18d", - "schema": { "type": "string" } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "gists", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/gists/{gist_id}/star": { - "get": { - "summary": "Check if a gist is starred", - "description": "", - "tags": ["gists"], - "operationId": "gists/check-is-starred", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/gists/#check-if-a-gist-is-starred" - }, - "parameters": [{ "$ref": "#/components/parameters/gist_id" }], - "responses": { - "204": { "description": "Response if gist is starred" }, - "304": { "$ref": "#/components/responses/not_modified" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { - "description": "Response if gist is not starred", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": {}, - "additionalProperties": false - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "gists", - "subcategory": null - }, - "x-octokit": {} - }, - "put": { - "summary": "Star a gist", - "description": "Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"", - "tags": ["gists"], - "operationId": "gists/star", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/gists/#star-a-gist" - }, - "parameters": [{ "$ref": "#/components/parameters/gist_id" }], - "responses": { - "204": { "description": "Empty response" }, - "304": { "$ref": "#/components/responses/not_modified" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "gists", - "subcategory": null - }, - "x-octokit": {} - }, - "delete": { - "summary": "Unstar a gist", - "description": "", - "tags": ["gists"], - "operationId": "gists/unstar", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/gists/#unstar-a-gist" - }, - "parameters": [{ "$ref": "#/components/parameters/gist_id" }], - "responses": { - "204": { "description": "Empty response" }, - "304": { "$ref": "#/components/responses/not_modified" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "gists", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/gists/{gist_id}/{sha}": { - "get": { - "summary": "Get a gist revision", - "description": "", - "tags": ["gists"], - "operationId": "gists/get-revision", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/gists/#get-a-gist-revision" - }, - "parameters": [ - { "$ref": "#/components/parameters/gist_id" }, - { - "name": "sha", - "in": "path", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/gist-simple" }, - "examples": { - "default": { "$ref": "#/components/examples/gist" } - } - } - } - }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "gists", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/gitignore/templates": { - "get": { - "summary": "Get all gitignore templates", - "description": "List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/reference/repos#create-a-repository-for-the-authenticated-user).", - "operationId": "gitignore/get-all-templates", - "tags": ["gitignore"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/gitignore/#get-all-gitignore-templates" - }, - "parameters": [], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "type": "array", "items": { "type": "string" } }, - "example": [ - "Actionscript", - "Android", - "AppceleratorTitanium", - "Autotools", - "Bancha", - "C", - "C++" - ] - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "gitignore", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/gitignore/templates/{name}": { - "get": { - "summary": "Get a gitignore template", - "description": "The API also allows fetching the source of a single template.\nUse the raw [media type](https://docs.github.com/rest/overview/media-types/) to get the raw contents.", - "operationId": "gitignore/get-template", - "tags": ["gitignore"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/gitignore/#get-a-gitignore-template" - }, - "parameters": [ - { - "name": "name", - "in": "path", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/gitignore-template" }, - "examples": { - "default": { - "$ref": "#/components/examples/gitignore-template" - } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "gitignore", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/installation/repositories": { - "get": { - "summary": "List repositories accessible to the app installation", - "description": "List repositories that an app installation can access.\n\nYou must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint.", - "tags": ["apps"], - "operationId": "apps/list-repos-accessible-to-installation", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/apps#list-repositories-accessible-to-the-app-installation" - }, - "parameters": [ - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["total_count", "repositories"], - "properties": { - "total_count": { "type": "integer" }, - "repositories": { - "type": "array", - "items": { "$ref": "#/components/schemas/repository" } - }, - "repository_selection": { - "type": "string", - "example": "selected" - } - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/repository-paginated-2" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "mercy", - "note": "The `topics` property for repositories on GitHub is currently available for developers to preview. To view the `topics` property in calls that return repository results, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.mercy-preview+json\n```" - } - ], - "category": "apps", - "subcategory": "installations" - }, - "x-octokit": {} - } - }, - "/installation/token": { - "delete": { - "summary": "Revoke an installation access token", - "description": "Revokes the installation token you're using to authenticate as an installation and access this endpoint.\n\nOnce an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the \"[Create an installation access token for an app](https://docs.github.com/rest/reference/apps#create-an-installation-access-token-for-an-app)\" endpoint.\n\nYou must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint.", - "tags": ["apps"], - "operationId": "apps/revoke-installation-access-token", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/apps#revoke-an-installation-access-token" - }, - "parameters": [], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "apps", - "subcategory": "installations" - }, - "x-octokit": {} - } - }, - "/issues": { - "get": { - "summary": "List issues assigned to the authenticated user", - "description": "List issues assigned to the authenticated user across all visible repositories including owned repositories, member\nrepositories, and organization repositories. You can use the `filter` query parameter to fetch issues that are not\nnecessarily assigned to you.\n\n\n**Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this\nreason, \"Issues\" endpoints may return both issues and pull requests in the response. You can identify pull requests by\nthe `pull_request` key. Be aware that the `id` of a pull request returned from \"Issues\" endpoints will be an _issue id_. To find out the pull\nrequest id, use the \"[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)\" endpoint.", - "tags": ["issues"], - "operationId": "issues/list", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/issues/#list-issues-assigned-to-the-authenticated-user" - }, - "parameters": [ - { - "name": "filter", - "description": "Indicates which sorts of issues to return. Can be one of: \n\\* `assigned`: Issues assigned to you \n\\* `created`: Issues created by you \n\\* `mentioned`: Issues mentioning you \n\\* `subscribed`: Issues you're subscribed to updates for \n\\* `all`: All issues the authenticated user can see, regardless of participation or creation", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["assigned", "created", "mentioned", "subscribed", "all"], - "default": "assigned" - } - }, - { - "name": "state", - "description": "Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["open", "closed", "all"], - "default": "open" - } - }, - { "$ref": "#/components/parameters/labels" }, - { - "name": "sort", - "description": "What to sort results by. Can be either `created`, `updated`, `comments`.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["created", "updated", "comments"], - "default": "created" - } - }, - { "$ref": "#/components/parameters/direction" }, - { "$ref": "#/components/parameters/since" }, - { - "name": "collab", - "in": "query", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "orgs", - "in": "query", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "owned", - "in": "query", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "pulls", - "in": "query", - "required": false, - "schema": { "type": "boolean" } - }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/issue" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/issue-with-repo-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [ - { - "required": false, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "category": "issues", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/licenses": { - "get": { - "summary": "Get all commonly used licenses", - "description": "", - "tags": ["licenses"], - "operationId": "licenses/get-all-commonly-used", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/licenses/#get-all-commonly-used-licenses" - }, - "parameters": [ - { - "name": "featured", - "in": "query", - "required": false, - "schema": { "type": "boolean" } - }, - { "$ref": "#/components/parameters/per_page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/license-simple" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/license-simple-items" - } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "licenses", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/licenses/{license}": { - "get": { - "summary": "Get a license", - "description": "", - "tags": ["licenses"], - "operationId": "licenses/get", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/licenses/#get-a-license" - }, - "parameters": [ - { - "name": "license", - "in": "path", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/license" }, - "examples": { - "default": { "$ref": "#/components/examples/license" } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "licenses", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/markdown": { - "post": { - "summary": "Render a Markdown document", - "description": "", - "operationId": "markdown/render", - "tags": ["markdown"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/markdown/#render-a-markdown-document" - }, - "parameters": [], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "text": { - "description": "The Markdown text to render in HTML.", - "type": "string" - }, - "mode": { - "description": "The rendering mode.", - "enum": ["markdown", "gfm"], - "default": "markdown", - "example": "markdown", - "type": "string" - }, - "context": { - "description": "The repository context to use when creating references in `gfm` mode.", - "type": "string" - } - }, - "required": ["text"], - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "response", - "headers": { - "Content-Type": { "$ref": "#/components/headers/content-type" }, - "Content-Length": { - "example": "279", - "schema": { "type": "string" } - }, - "X-CommonMarker-Version": { - "$ref": "#/components/headers/x-common-marker-version" - } - }, - "content": { "text/html": { "schema": { "type": "string" } } } - }, - "304": { "$ref": "#/components/responses/not_modified" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "markdown", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/markdown/raw": { - "post": { - "summary": "Render a Markdown document in raw mode", - "description": "You must send Markdown as plain text (using a `Content-Type` header of `text/plain` or `text/x-markdown`) to this endpoint, rather than using JSON format. In raw mode, [GitHub Flavored Markdown](https://github.github.com/gfm/) is not supported and Markdown will be rendered in plain format like a README.md file. Markdown content must be 400 KB or less.", - "operationId": "markdown/render-raw", - "tags": ["markdown"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/markdown/#render-a-markdown-document-in-raw-mode" - }, - "parameters": [], - "requestBody": { - "content": { - "text/plain": { "schema": { "type": "string" } }, - "text/x-markdown": { "schema": { "type": "string" } } - } - }, - "responses": { - "200": { - "description": "response", - "headers": { - "X-CommonMarker-Version": { - "$ref": "#/components/headers/x-common-marker-version" - } - }, - "content": { "text/html": { "schema": { "type": "string" } } } - }, - "304": { "$ref": "#/components/responses/not_modified" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "markdown", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/marketplace_listing/accounts/{account_id}": { - "get": { - "summary": "Get a subscription plan for an account", - "description": "Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change.\n\nGitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint.", - "tags": ["apps"], - "operationId": "apps/get-subscription-plan-for-account", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/apps#get-a-subscription-plan-for-an-account" - }, - "parameters": [{ "$ref": "#/components/parameters/account_id" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/marketplace-purchase" - }, - "examples": { - "default": { - "$ref": "#/components/examples/marketplace-purchase" - } - } - } - } - }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "404": { - "description": "Response when the account has not purchased the listing", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/basic-error" } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "apps", - "subcategory": "marketplace" - }, - "x-octokit": {} - } - }, - "/marketplace_listing/plans": { - "get": { - "summary": "List plans", - "description": "Lists all plans that are part of your GitHub Marketplace listing.\n\nGitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint.", - "tags": ["apps"], - "operationId": "apps/list-plans", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/apps#list-plans" - }, - "parameters": [ - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/marketplace-listing-plan" - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/marketplace-listing-plan-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "apps", - "subcategory": "marketplace" - }, - "x-octokit": {} - } - }, - "/marketplace_listing/plans/{plan_id}/accounts": { - "get": { - "summary": "List accounts for a plan", - "description": "Returns user and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change.\n\nGitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint.", - "tags": ["apps"], - "operationId": "apps/list-accounts-for-plan", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/apps#list-accounts-for-a-plan" - }, - "parameters": [ - { "$ref": "#/components/parameters/plan_id" }, - { "$ref": "#/components/parameters/sort" }, - { - "name": "direction", - "description": "To return the oldest accounts first, set to `asc`. Can be one of `asc` or `desc`. Ignored without the `sort` parameter.", - "in": "query", - "required": false, - "schema": { "type": "string", "enum": ["asc", "desc"] } - }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/marketplace-purchase" - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/marketplace-purchase-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "apps", - "subcategory": "marketplace" - }, - "x-octokit": {} - } - }, - "/marketplace_listing/stubbed/accounts/{account_id}": { - "get": { - "summary": "Get a subscription plan for an account (stubbed)", - "description": "Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change.\n\nGitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint.", - "tags": ["apps"], - "operationId": "apps/get-subscription-plan-for-account-stubbed", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/apps#get-a-subscription-plan-for-an-account-stubbed" - }, - "parameters": [{ "$ref": "#/components/parameters/account_id" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/marketplace-purchase" - }, - "examples": { - "default": { - "$ref": "#/components/examples/marketplace-purchase" - } - } - } - } - }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "404": { - "description": "Response when the account has not purchased the listing" - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "apps", - "subcategory": "marketplace" - }, - "x-octokit": {} - } - }, - "/marketplace_listing/stubbed/plans": { - "get": { - "summary": "List plans (stubbed)", - "description": "Lists all plans that are part of your GitHub Marketplace listing.\n\nGitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint.", - "tags": ["apps"], - "operationId": "apps/list-plans-stubbed", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/apps#list-plans-stubbed" - }, - "parameters": [ - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/marketplace-listing-plan" - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/marketplace-listing-plan-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "401": { "$ref": "#/components/responses/requires_authentication" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "apps", - "subcategory": "marketplace" - }, - "x-octokit": {} - } - }, - "/marketplace_listing/stubbed/plans/{plan_id}/accounts": { - "get": { - "summary": "List accounts for a plan (stubbed)", - "description": "Returns repository and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change.\n\nGitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint.", - "tags": ["apps"], - "operationId": "apps/list-accounts-for-plan-stubbed", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/apps#list-accounts-for-a-plan-stubbed" - }, - "parameters": [ - { "$ref": "#/components/parameters/plan_id" }, - { "$ref": "#/components/parameters/sort" }, - { - "name": "direction", - "description": "To return the oldest accounts first, set to `asc`. Can be one of `asc` or `desc`. Ignored without the `sort` parameter.", - "in": "query", - "required": false, - "schema": { "type": "string", "enum": ["asc", "desc"] } - }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/marketplace-purchase" - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/marketplace-purchase-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "401": { "$ref": "#/components/responses/requires_authentication" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "apps", - "subcategory": "marketplace" - }, - "x-octokit": {} - } - }, - "/meta": { - "get": { - "summary": "Get GitHub meta information", - "description": "Returns meta information about GitHub, including a list of GitHub's IP addresses. For more information, see \"[About GitHub's IP addresses](https://help.github.com/articles/about-github-s-ip-addresses/).\"\n\n**Note:** The IP addresses shown in the documentation's response are only example values. You must always query the API directly to get the latest list of IP addresses.", - "tags": ["meta"], - "operationId": "meta/get", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/meta/#get-github-meta-information" - }, - "parameters": [], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/api-overview" }, - "examples": { - "default": { "$ref": "#/components/examples/api-overview" } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "meta", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/networks/{owner}/{repo}/events": { - "get": { - "summary": "List public events for a network of repositories", - "description": "", - "tags": ["activity"], - "operationId": "activity/list-public-events-for-repo-network", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/activity#list-public-events-for-a-network-of-repositories" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/event" } - } - } - } - }, - "301": { "$ref": "#/components/responses/moved_permanently" }, - "304": { "$ref": "#/components/responses/not_modified" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "activity", - "subcategory": "events" - }, - "x-octokit": {} - } - }, - "/notifications": { - "get": { - "summary": "List notifications for the authenticated user", - "description": "List all notifications for the current user, sorted by most recently updated.", - "tags": ["activity"], - "operationId": "activity/list-notifications-for-authenticated-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/activity#list-notifications-for-the-authenticated-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/all" }, - { "$ref": "#/components/parameters/participating" }, - { "$ref": "#/components/parameters/since" }, - { "$ref": "#/components/parameters/before" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/thread" } - }, - "examples": { - "default": { "$ref": "#/components/examples/thread-items" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "activity", - "subcategory": "notifications" - }, - "x-octokit": {} - }, - "put": { - "summary": "Mark notifications as read", - "description": "Marks all notifications as \"read\" removes it from the [default view on GitHub](https://github.com/notifications). If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as \"read.\" To check whether any \"unread\" notifications remain, you can use the [List notifications for the authenticated user](https://docs.github.com/rest/reference/activity#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`.", - "tags": ["activity"], - "operationId": "activity/mark-notifications-as-read", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/activity#mark-notifications-as-read" - }, - "parameters": [], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "last_read_at": { - "description": "Describes the last point that notifications were checked.", - "type": "string", - "format": "date-time" - }, - "read": { - "description": "Whether the notification has been read.", - "type": "boolean" - } - } - } - } - } - }, - "responses": { - "202": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { "message": { "type": "string" } } - } - } - } - }, - "205": { "description": "response" }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "activity", - "subcategory": "notifications" - }, - "x-octokit": {} - } - }, - "/notifications/threads/{thread_id}": { - "get": { - "summary": "Get a thread", - "description": "", - "tags": ["activity"], - "operationId": "activity/get-thread", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/activity#get-a-thread" - }, - "parameters": [{ "$ref": "#/components/parameters/thread_id" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/thread" }, - "examples": { - "default": { "$ref": "#/components/examples/thread" } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "activity", - "subcategory": "notifications" - }, - "x-octokit": {} - }, - "patch": { - "summary": "Mark a thread as read", - "description": "", - "tags": ["activity"], - "operationId": "activity/mark-thread-as-read", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/activity#mark-a-thread-as-read" - }, - "parameters": [{ "$ref": "#/components/parameters/thread_id" }], - "responses": { - "205": { "description": "response" }, - "304": { "$ref": "#/components/responses/not_modified" }, - "403": { "$ref": "#/components/responses/forbidden" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "activity", - "subcategory": "notifications" - }, - "x-octokit": {} - } - }, - "/notifications/threads/{thread_id}/subscription": { - "get": { - "summary": "Get a thread subscription for the authenticated user", - "description": "This checks to see if the current user is subscribed to a thread. You can also [get a repository subscription](https://docs.github.com/rest/reference/activity#get-a-repository-subscription).\n\nNote that subscriptions are only generated if a user is participating in a conversation--for example, they've replied to the thread, were **@mentioned**, or manually subscribe to a thread.", - "tags": ["activity"], - "operationId": "activity/get-thread-subscription-for-authenticated-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/activity#get-a-thread-subscription-for-the-authenticated-user" - }, - "parameters": [{ "$ref": "#/components/parameters/thread_id" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/thread-subscription" - }, - "examples": { - "default": { - "$ref": "#/components/examples/thread-subscription" - } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "activity", - "subcategory": "notifications" - }, - "x-octokit": {} - }, - "put": { - "summary": "Set a thread subscription", - "description": "If you are watching a repository, you receive notifications for all threads by default. Use this endpoint to ignore future notifications for threads until you comment on the thread or get an **@mention**.\n\nYou can also use this endpoint to subscribe to threads that you are currently not receiving notifications for or to subscribed to threads that you have previously ignored.\n\nUnsubscribing from a conversation in a repository that you are not watching is functionally equivalent to the [Delete a thread subscription](https://docs.github.com/rest/reference/activity#delete-a-thread-subscription) endpoint.", - "tags": ["activity"], - "operationId": "activity/set-thread-subscription", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/activity#set-a-thread-subscription" - }, - "parameters": [{ "$ref": "#/components/parameters/thread_id" }], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "ignored": { - "description": "Whether to block all notifications from a thread.", - "default": false, - "type": "boolean" - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/thread-subscription" - }, - "examples": { - "default": { - "$ref": "#/components/examples/thread-subscription" - } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "activity", - "subcategory": "notifications" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a thread subscription", - "description": "Mutes all future notifications for a conversation until you comment on the thread or get an **@mention**. If you are watching the repository of the thread, you will still receive notifications. To ignore future notifications for a repository you are watching, use the [Set a thread subscription](https://docs.github.com/rest/reference/activity#set-a-thread-subscription) endpoint and set `ignore` to `true`.", - "tags": ["activity"], - "operationId": "activity/delete-thread-subscription", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/activity#delete-a-thread-subscription" - }, - "parameters": [{ "$ref": "#/components/parameters/thread_id" }], - "responses": { - "204": { "description": "Empty response" }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "activity", - "subcategory": "notifications" - }, - "x-octokit": {} - } - }, - "/octocat": { - "get": { - "summary": "Get Octocat", - "description": "Get the octocat as ASCII art", - "tags": ["meta"], - "operationId": "meta/get-octocat", - "parameters": [ - { - "name": "s", - "in": "query", - "description": "The words to show in Octocat's speech bubble", - "schema": { "type": "string" }, - "required": false - } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/octocat-stream": { "schema": { "type": "string" } } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "meta" - }, - "x-octokit": {} - } - }, - "/organizations": { - "get": { - "summary": "List organizations", - "description": "Lists all organizations, in the order that they were created on GitHub.\n\n**Note:** Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of organizations.", - "tags": ["orgs"], - "operationId": "orgs/list", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/orgs/#list-organizations" - }, - "parameters": [ - { "$ref": "#/components/parameters/since-org" }, - { "$ref": "#/components/parameters/per_page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/organization-simple" - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/organization-simple-items" - } - } - } - }, - "headers": { - "Link": { - "example": "; rel=\"next\"", - "schema": { "type": "string" } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "orgs", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/orgs/{org}": { - "get": { - "summary": "Get an organization", - "description": "To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://help.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/).\n\nGitHub Apps with the `Organization plan` permission can use this endpoint to retrieve information about an organization's GitHub plan. See \"[Authenticating with GitHub Apps](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/)\" for details. For an example response, see 'Response with GitHub plan information' below.\"", - "tags": ["orgs"], - "operationId": "orgs/get", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/orgs/#get-an-organization" - }, - "parameters": [{ "$ref": "#/components/parameters/org" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/organization-full" }, - "examples": { - "default-response": { - "$ref": "#/components/examples/organization-full-default-response" - }, - "response-with-git-hub-plan-information": { - "$ref": "#/components/examples/organization-full-response-with-git-hub-plan-information" - } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "surtur", - "note": "New repository creation permissions are available to preview. You can now use `members_can_create_public_repositories`, `members_can_create_private_repositories`, and `members_can_create_internal_repositories`. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. These parameters provide more granular permissions to configure the type of repositories organization members can create.\n\nTo access these new parameters during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.surtur-preview+json\n```" - } - ], - "category": "orgs", - "subcategory": null - }, - "x-octokit": {} - }, - "patch": { - "summary": "Update an organization", - "description": "**Parameter Deprecation Notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes).\n\nEnables an authenticated organization owner with the `admin:org` scope to update the organization's profile and member privileges.", - "tags": ["orgs"], - "operationId": "orgs/update", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/orgs/#update-an-organization" - }, - "parameters": [{ "$ref": "#/components/parameters/org" }], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "billing_email": { - "type": "string", - "description": "Billing email address. This address is not publicized." - }, - "company": { - "type": "string", - "description": "The company name." - }, - "email": { - "type": "string", - "description": "The publicly visible email address." - }, - "twitter_username": { - "type": "string", - "description": "The Twitter username of the company." - }, - "location": { - "type": "string", - "description": "The location." - }, - "name": { - "type": "string", - "description": "The shorthand name of the company." - }, - "description": { - "type": "string", - "description": "The description of the company." - }, - "has_organization_projects": { - "type": "boolean", - "description": "Toggles whether an organization can use organization projects." - }, - "has_repository_projects": { - "type": "boolean", - "description": "Toggles whether repositories that belong to the organization can use repository projects." - }, - "default_repository_permission": { - "type": "string", - "description": "Default permission level members have for organization repositories: \n\\* `read` - can pull, but not push to or administer this repository. \n\\* `write` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push, and administer this repository. \n\\* `none` - no permissions granted by default.", - "enum": ["read", "write", "admin", "none"], - "default": "read" - }, - "members_can_create_repositories": { - "type": "boolean", - "description": "Toggles the ability of non-admin organization members to create repositories. Can be one of: \n\\* `true` - all organization members can create repositories. \n\\* `false` - only organization owners can create repositories. \nDefault: `true` \n**Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details.", - "default": true - }, - "members_can_create_internal_repositories": { - "type": "boolean", - "description": "Toggles whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. Can be one of: \n\\* `true` - all organization members can create internal repositories. \n\\* `false` - only organization owners can create internal repositories. \nDefault: `true`. For more information, see \"[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)\" in the GitHub Help documentation." - }, - "members_can_create_private_repositories": { - "type": "boolean", - "description": "Toggles whether organization members can create private repositories, which are visible to organization members with permission. Can be one of: \n\\* `true` - all organization members can create private repositories. \n\\* `false` - only organization owners can create private repositories. \nDefault: `true`. For more information, see \"[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)\" in the GitHub Help documentation." - }, - "members_can_create_public_repositories": { - "type": "boolean", - "description": "Toggles whether organization members can create public repositories, which are visible to anyone. Can be one of: \n\\* `true` - all organization members can create public repositories. \n\\* `false` - only organization owners can create public repositories. \nDefault: `true`. For more information, see \"[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)\" in the GitHub Help documentation." - }, - "members_allowed_repository_creation_type": { - "type": "string", - "description": "Specifies which types of repositories non-admin organization members can create. Can be one of: \n\\* `all` - all organization members can create public and private repositories. \n\\* `private` - members can create private repositories. This option is only available to repositories that are part of an organization on GitHub Enterprise Cloud. \n\\* `none` - only admin members can create repositories. \n**Note:** This parameter is deprecated and will be removed in the future. Its return value ignores internal repositories. Using this parameter overrides values set in `members_can_create_repositories`. See the parameter deprecation notice in the operation description for details.", - "enum": ["all", "private", "none"] - }, - "members_can_create_pages": { - "type": "boolean", - "description": "Toggles whether organization members can create GitHub Pages sites. Can be one of: \n\\* `true` - all organization members can create GitHub Pages sites. \n\\* `false` - no organization members can create GitHub Pages sites. Existing published sites will not be impacted.", - "default": true - }, - "members_can_create_public_pages": { - "type": "boolean", - "description": "Toggles whether organization members can create public GitHub Pages sites. Can be one of: \n\\* `true` - all organization members can create public GitHub Pages sites. \n\\* `false` - no organization members can create public GitHub Pages sites. Existing published sites will not be impacted.", - "default": true - }, - "members_can_create_private_pages": { - "type": "boolean", - "description": "Toggles whether organization members can create private GitHub Pages sites. Can be one of: \n\\* `true` - all organization members can create private GitHub Pages sites. \n\\* `false` - no organization members can create private GitHub Pages sites. Existing published sites will not be impacted.", - "default": true - }, - "blog": { - "type": "string", - "example": "\"http://github.blog\"" - } - } - }, - "example": { - "billing_email": "mona@github.com", - "company": "GitHub", - "email": "mona@github.com", - "twitter_username": "github", - "location": "San Francisco", - "name": "github", - "description": "GitHub, the company.", - "default_repository_permission": "read", - "members_can_create_repositories": true, - "members_allowed_repository_creation_type": "all" - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/organization-full" }, - "examples": { - "default": { - "$ref": "#/components/examples/organization-full" - } - } - } - } - }, - "409": { "$ref": "#/components/responses/conflict" }, - "415": { "$ref": "#/components/responses/preview_header_missing" }, - "422": { - "description": "Validation Failed", - "content": { - "application/json": { - "schema": { - "oneOf": [ - { "$ref": "#/components/schemas/validation-error" }, - { "$ref": "#/components/schemas/validation-error-simple" } - ] - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "surtur", - "note": "New repository creation permissions are available to preview. You can now use `members_can_create_public_repositories`, `members_can_create_private_repositories`, and `members_can_create_internal_repositories`. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. These parameters provide more granular permissions to configure the type of repositories organization members can create.\n\nTo access these new parameters during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.surtur-preview+json\n```" - } - ], - "category": "orgs", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/orgs/{org}/actions/permissions": { - "get": { - "summary": "Get GitHub Actions permissions for an organization", - "description": "Gets the GitHub Actions permissions policy for repositories and allowed actions in an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", - "operationId": "actions/get-github-actions-permissions-organization", - "tags": ["actions"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#get-github-actions-permissions-for-an-organization" - }, - "parameters": [{ "$ref": "#/components/parameters/org" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/actions-organization-permissions" - }, - "examples": { - "default": { - "$ref": "#/components/examples/actions-organization-permissions" - } - } - } - } - } - }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": false, - "previews": [], - "category": "actions", - "subcategory": "permissions" - }, - "x-octokit": {} - }, - "put": { - "summary": "Set GitHub Actions permissions for an organization", - "description": "Sets the GitHub Actions permissions policy for repositories and allowed actions in an organization.\n\nIf the organization belongs to an enterprise that has set restrictive permissions at the enterprise level, such as `allowed_actions` to `selected` actions, then you cannot override them for the organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", - "operationId": "actions/set-github-actions-permissions-organization", - "tags": ["actions"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#set-github-actions-permissions-for-an-organization" - }, - "parameters": [{ "$ref": "#/components/parameters/org" }], - "responses": { "204": { "description": "Empty response" } }, - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "enabled_repositories": { - "$ref": "#/components/schemas/enabled-repositories" - }, - "allowed_actions": { - "$ref": "#/components/schemas/allowed-actions" - } - }, - "required": ["enabled_repositories"] - }, - "example": { - "enabled_repositories": "all", - "allowed_actions": "selected" - } - } - } - }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": false, - "previews": [], - "category": "actions", - "subcategory": "permissions" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/actions/permissions/repositories": { - "get": { - "summary": "List selected repositories enabled for GitHub Actions in an organization", - "description": "Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization).\"\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", - "operationId": "actions/list-selected-repositories-enabled-github-actions-organization", - "tags": ["actions"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#list-selected-repositories-enabled-for-github-actions-in-an-organization" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["total_count", "repositories"], - "properties": { - "total_count": { "type": "number" }, - "repositories": { - "type": "array", - "items": { "$ref": "#/components/schemas/repository" } - } - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/repository-paginated" - } - } - } - } - } - }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": false, - "previews": [], - "category": "actions", - "subcategory": "permissions" - }, - "x-octokit": {} - }, - "put": { - "summary": "Set selected repositories enabled for GitHub Actions in an organization", - "description": "Replaces the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization).\"\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", - "operationId": "actions/set-selected-repositories-enabled-github-actions-organization", - "tags": ["actions"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#set-selected-repositories-enabled-for-github-actions-in-an-organization" - }, - "parameters": [{ "$ref": "#/components/parameters/org" }], - "responses": { "204": { "description": "Empty response" } }, - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "selected_repository_ids": { - "description": "List of repository IDs to enable for GitHub Actions.", - "type": "array", - "items": { - "type": "integer", - "description": "Unique identifier of the repository." - } - } - }, - "required": ["selected_repository_ids"] - }, - "example": { "selected_repository_ids": [32, 42] } - } - } - }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": false, - "previews": [], - "category": "actions", - "subcategory": "permissions" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/actions/permissions/repositories/{repository_id}": { - "put": { - "summary": "Enable a selected repository for GitHub Actions in an organization", - "description": "Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization).\"\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", - "operationId": "actions/enable-selected-repository-github-actions-organization", - "tags": ["actions"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#enable-a-selected-repository-for-github-actions-in-an-organization" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/repository_id" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": false, - "previews": [], - "category": "actions", - "subcategory": "permissions" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Disable a selected repository for GitHub Actions in an organization", - "description": "Removes a repository from the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization).\"\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", - "operationId": "actions/disable-selected-repository-github-actions-organization", - "tags": ["actions"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#disable-a-selected-repository-for-github-actions-in-an-organization" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/repository_id" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": false, - "previews": [], - "category": "actions", - "subcategory": "permissions" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/actions/permissions/selected-actions": { - "get": { - "summary": "Get allowed actions for an organization", - "description": "Gets the selected actions that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization).\"\"\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", - "operationId": "actions/get-allowed-actions-organization", - "tags": ["actions"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#get-allowed-actions-for-an-organization" - }, - "parameters": [{ "$ref": "#/components/parameters/org" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/selected-actions" }, - "examples": { - "default": { - "$ref": "#/components/examples/selected-actions" - } - } - } - } - } - }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": false, - "previews": [], - "category": "actions", - "subcategory": "permissions" - }, - "x-octokit": {} - }, - "put": { - "summary": "Set allowed actions for an organization", - "description": "Sets the actions that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization).\"\n\nIf the organization belongs to an enterprise that has `selected` actions set at the enterprise level, then you cannot override any of the enterprise's allowed actions settings.\n\nTo use the `patterns_allowed` setting for private repositories, the organization must belong to an enterprise. If the organization does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories in the organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", - "operationId": "actions/set-allowed-actions-organization", - "tags": ["actions"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#set-allowed-actions-for-an-organization" - }, - "parameters": [{ "$ref": "#/components/parameters/org" }], - "responses": { "204": { "description": "Empty response" } }, - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/selected-actions" }, - "examples": { - "selected_actions": { - "$ref": "#/components/examples/selected-actions" - } - } - } - } - }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": false, - "previews": [], - "category": "actions", - "subcategory": "permissions" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/actions/runner-groups": { - "get": { - "summary": "List self-hosted runner groups for an organization", - "description": "The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n\nLists all self-hosted runner groups configured in an organization and inherited from an enterprise.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", - "operationId": "actions/list-self-hosted-runner-groups-for-org", - "tags": ["actions"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#list-self-hosted-runner-groups-for-an-organization" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["total_count", "runner_groups"], - "properties": { - "total_count": { "type": "number" }, - "runner_groups": { - "type": "array", - "items": { - "$ref": "#/components/schemas/runner-groups-org" - } - } - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/runner-groups-org" - } - } - } - } - } - }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": false, - "previews": [], - "category": "actions", - "subcategory": "self-hosted-runner-groups" - }, - "x-octokit": {} - }, - "post": { - "summary": "Create a self-hosted runner group for an organization", - "description": "The self-hosted runner groups REST API is available with GitHub Enterprise Cloud and GitHub Enterprise Server. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n\nCreates a new self-hosted runner group for an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", - "operationId": "actions/create-self-hosted-runner-group-for-org", - "tags": ["actions"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#create-a-self-hosted-runner-group-for-an-organization" - }, - "parameters": [{ "$ref": "#/components/parameters/org" }], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "description": "Name of the runner group.", - "type": "string" - }, - "visibility": { - "description": "Visibility of a runner group. You can select all repositories, select individual repositories, or limit access to private repositories. Can be one of: `all`, `selected`, or `private`.", - "type": "string", - "enum": ["selected", "all", "private"], - "default": "all" - }, - "selected_repository_ids": { - "description": "List of repository IDs that can access the runner group.", - "type": "array", - "items": { - "type": "integer", - "description": "Unique identifier of the repository." - } - }, - "runners": { - "description": "List of runner IDs to add to the runner group.", - "type": "array", - "items": { - "type": "integer", - "description": "Unique identifier of the runner." - } - } - }, - "required": ["name"] - }, - "example": { - "name": "Expensive hardware runners", - "visibility": "selected", - "selected_repository_ids": [32, 91], - "runners": [9, 2] - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/runner-groups-org" }, - "examples": { - "default": { "$ref": "#/components/examples/runner-group" } - } - } - } - } - }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": false, - "previews": [], - "category": "actions", - "subcategory": "self-hosted-runner-groups" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/actions/runner-groups/{runner_group_id}": { - "get": { - "summary": "Get a self-hosted runner group for an organization", - "description": "The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n\nGets a specific self-hosted runner group for an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", - "operationId": "actions/get-self-hosted-runner-group-for-org", - "tags": ["actions"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#get-a-self-hosted-runner-group-for-an-organization" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/runner_group_id" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/runner-groups-org" }, - "examples": { - "default": { - "$ref": "#/components/examples/runner-group-item" - } - } - } - } - } - }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": false, - "previews": [], - "category": "actions", - "subcategory": "self-hosted-runner-groups" - }, - "x-octokit": {} - }, - "patch": { - "summary": "Update a self-hosted runner group for an organization", - "description": "The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n\nUpdates the `name` and `visibility` of a self-hosted runner group in an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", - "operationId": "actions/update-self-hosted-runner-group-for-org", - "tags": ["actions"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#update-a-self-hosted-runner-group-for-an-organization" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/runner_group_id" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "description": "Name of the runner group.", - "type": "string" - }, - "visibility": { - "description": "Visibility of a runner group. You can select all repositories, select individual repositories, or all private repositories. Can be one of: `all`, `selected`, or `private`.", - "type": "string", - "enum": ["selected", "all", "private"] - } - } - }, - "example": { - "name": "Expensive hardware runners", - "visibility": "selected" - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/runner-groups-org" }, - "examples": { - "default": { "$ref": "#/components/examples/runner-group" } - } - } - } - } - }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": false, - "previews": [], - "category": "actions", - "subcategory": "self-hosted-runner-groups" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a self-hosted runner group from an organization", - "description": "The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n\nDeletes a self-hosted runner group for an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", - "operationId": "actions/delete-self-hosted-runner-group-from-org", - "tags": ["actions"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#delete-a-self-hosted-runner-group-from-an-organization" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/runner_group_id" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": false, - "previews": [], - "category": "actions", - "subcategory": "self-hosted-runner-groups" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories": { - "get": { - "summary": "List repository access to a self-hosted runner group in an organization", - "description": "The self-hosted runner groups REST API is available with GitHub Enterprise Cloud and GitHub Enterprise Server. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n\nLists the repositories with access to a self-hosted runner group configured in an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", - "operationId": "actions/list-repo-access-to-self-hosted-runner-group-in-org", - "tags": ["actions"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#list-repository-access-to-a-self-hosted-runner-group-in-an-organization" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/runner_group_id" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["total_count", "repositories"], - "properties": { - "total_count": { "type": "number" }, - "repositories": { - "type": "array", - "items": { "$ref": "#/components/schemas/repository" } - } - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/repository-paginated" - } - } - } - } - } - }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": false, - "previews": [], - "category": "actions", - "subcategory": "self-hosted-runner-groups" - }, - "x-octokit": {} - }, - "put": { - "summary": "Set repository access for a self-hosted runner group in an organization", - "description": "The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n\nReplaces the list of repositories that have access to a self-hosted runner group configured in an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", - "operationId": "actions/set-repo-access-to-self-hosted-runner-group-in-org", - "tags": ["actions"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#set-repository-access-to-a-self-hosted-runner-group-in-an-organization" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/runner_group_id" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "selected_repository_ids": { - "description": "List of repository IDs that can access the runner group.", - "type": "array", - "items": { - "type": "integer", - "description": "Unique identifier of the repository." - } - } - }, - "required": ["selected_repository_ids"] - }, - "example": { "selected_repository_ids": [32, 91] } - } - } - }, - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": false, - "previews": [], - "category": "actions", - "subcategory": "self-hosted-runner-groups" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}": { - "put": { - "summary": "Add repository access to a self-hosted runner group in an organization", - "description": "The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n\n\nAdds a repository to the list of selected repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see \"[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization).\"\n\nYou must authenticate using an access token with the `admin:org`\nscope to use this endpoint.", - "operationId": "actions/add-repo-access-to-self-hosted-runner-group-in-org", - "tags": ["actions"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#add-repository-acess-to-a-self-hosted-runner-group-in-an-organization" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/runner_group_id" }, - { "$ref": "#/components/parameters/repository_id" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": true, - "previews": [], - "category": "actions", - "subcategory": "self-hosted-runner-groups" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Remove repository access to a self-hosted runner group in an organization", - "description": "The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n\n\nRemoves a repository from the list of selected repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see \"[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization).\"\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", - "operationId": "actions/remove-repo-access-to-self-hosted-runner-group-in-org", - "tags": ["actions"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#remove-repository-access-to-a-self-hosted-runner-group-in-an-organization" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/runner_group_id" }, - { "$ref": "#/components/parameters/repository_id" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": false, - "previews": [], - "category": "actions", - "subcategory": "self-hosted-runner-groups" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/actions/runner-groups/{runner_group_id}/runners": { - "get": { - "summary": "List self-hosted runners in a group for an organization", - "description": "The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n\nLists self-hosted runners that are in a specific organization group.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", - "operationId": "actions/list-self-hosted-runners-in-group-for-org", - "tags": ["actions"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#list-self-hosted-runners-in-a-group-for-an-organization" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/runner_group_id" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["total_count", "runners"], - "properties": { - "total_count": { "type": "number" }, - "runners": { - "type": "array", - "items": { "$ref": "#/components/schemas/runner" } - } - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/runner-paginated" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": false, - "previews": [], - "category": "actions", - "subcategory": "self-hosted-runner-groups" - }, - "x-octokit": {} - }, - "put": { - "summary": "Set self-hosted runners in a group for an organization", - "description": "The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n\nReplaces the list of self-hosted runners that are part of an organization runner group.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", - "operationId": "actions/set-self-hosted-runners-in-group-for-org", - "tags": ["actions"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#set-self-hosted-runners-in-a-group-for-an-organization" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/runner_group_id" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "runners": { - "description": "List of runner IDs to add to the runner group.", - "type": "array", - "items": { - "type": "integer", - "description": "Unique identifier of the runner." - } - } - }, - "required": ["runners"] - }, - "example": { "runners": [9, 2] } - } - } - }, - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": false, - "previews": [], - "category": "actions", - "subcategory": "self-hosted-runner-groups" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": { - "put": { - "summary": "Add a self-hosted runner to a group for an organization", - "description": "The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n\n\nAdds a self-hosted runner to a runner group configured in an organization.\n\nYou must authenticate using an access token with the `admin:org`\nscope to use this endpoint.", - "operationId": "actions/add-self-hosted-runner-to-group-for-org", - "tags": ["actions"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#add-a-self-hosted-runner-to-a-group-for-an-organization" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/runner_group_id" }, - { "$ref": "#/components/parameters/runner_id" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": false, - "previews": [], - "category": "actions", - "subcategory": "self-hosted-runner-groups" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Remove a self-hosted runner from a group for an organization", - "description": "The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n\n\nRemoves a self-hosted runner from a group configured in an organization. The runner is then returned to the default group.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", - "operationId": "actions/remove-self-hosted-runner-from-group-for-org", - "tags": ["actions"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#remove-a-self-hosted-runner-from-a-group-for-an-organization" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/runner_group_id" }, - { "$ref": "#/components/parameters/runner_id" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": false, - "previews": [], - "category": "actions", - "subcategory": "self-hosted-runner-groups" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/actions/runners": { - "get": { - "summary": "List self-hosted runners for an organization", - "description": "Lists all self-hosted runners configured in an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", - "tags": ["actions"], - "operationId": "actions/list-self-hosted-runners-for-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#list-self-hosted-runners-for-an-organization" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["total_count", "runners"], - "properties": { - "total_count": { "type": "integer" }, - "runners": { - "type": "array", - "items": { "$ref": "#/components/schemas/runner" } - } - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/runner-paginated" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "self-hosted-runners" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/actions/runners/downloads": { - "get": { - "summary": "List runner applications for an organization", - "description": "Lists binaries for the runner application that you can download and run.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", - "tags": ["actions"], - "operationId": "actions/list-runner-applications-for-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#list-runner-applications-for-an-organization" - }, - "parameters": [{ "$ref": "#/components/parameters/org" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/runner-application" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/runner-application-items" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "self-hosted-runners" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/actions/runners/registration-token": { - "post": { - "summary": "Create a registration token for an organization", - "description": "Returns a token that you can pass to the `config` script. The token expires after one hour.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.\n\n#### Example using registration token\n\nConfigure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint.\n\n```\n./config.sh --url https://github.com/octo-org --token TOKEN\n```", - "tags": ["actions"], - "operationId": "actions/create-registration-token-for-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#create-a-registration-token-for-an-organization" - }, - "parameters": [{ "$ref": "#/components/parameters/org" }], - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/authentication-token" - }, - "examples": { - "default": { - "$ref": "#/components/examples/authentication-token" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "self-hosted-runners" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/actions/runners/remove-token": { - "post": { - "summary": "Create a remove token for an organization", - "description": "Returns a token that you can pass to the `config` script to remove a self-hosted runner from an organization. The token expires after one hour.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.\n\n#### Example using remove token\n\nTo remove your self-hosted runner from an organization, replace `TOKEN` with the remove token provided by this\nendpoint.\n\n```\n./config.sh remove --token TOKEN\n```", - "tags": ["actions"], - "operationId": "actions/create-remove-token-for-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#create-a-remove-token-for-an-organization" - }, - "parameters": [{ "$ref": "#/components/parameters/org" }], - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/authentication-token" - }, - "examples": { - "default": { - "$ref": "#/components/examples/authentication-token-2" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "self-hosted-runners" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/actions/runners/{runner_id}": { - "get": { - "summary": "Get a self-hosted runner for an organization", - "description": "Gets a specific self-hosted runner configured in an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", - "tags": ["actions"], - "operationId": "actions/get-self-hosted-runner-for-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#get-a-self-hosted-runner-for-an-organization" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/runner_id" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/runner" }, - "examples": { - "default": { "$ref": "#/components/examples/runner" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "self-hosted-runners" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a self-hosted runner from an organization", - "description": "Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", - "tags": ["actions"], - "operationId": "actions/delete-self-hosted-runner-from-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#delete-a-self-hosted-runner-from-an-organization" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/runner_id" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "self-hosted-runners" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/actions/secrets": { - "get": { - "summary": "List organization secrets", - "description": "Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.", - "tags": ["actions"], - "operationId": "actions/list-org-secrets", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#list-organization-secrets" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["total_count", "secrets"], - "properties": { - "total_count": { "type": "integer" }, - "secrets": { - "type": "array", - "items": { - "$ref": "#/components/schemas/organization-actions-secret" - } - } - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/organization-actions-secret-paginated" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "secrets" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/actions/secrets/public-key": { - "get": { - "summary": "Get an organization public key", - "description": "Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.", - "tags": ["actions"], - "operationId": "actions/get-org-public-key", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#get-an-organization-public-key" - }, - "parameters": [{ "$ref": "#/components/parameters/org" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/actions-public-key" }, - "examples": { - "default": { - "$ref": "#/components/examples/actions-public-key" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "secrets" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/actions/secrets/{secret_name}": { - "get": { - "summary": "Get an organization secret", - "description": "Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.", - "tags": ["actions"], - "operationId": "actions/get-org-secret", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#get-an-organization-secret" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/secret_name" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/organization-actions-secret" - }, - "examples": { - "default": { - "$ref": "#/components/examples/organization-actions-secret" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "secrets" - }, - "x-octokit": {} - }, - "put": { - "summary": "Create or update an organization secret", - "description": "Creates or updates an organization secret with an encrypted value. Encrypt your secret using\n[LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access\ntoken with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to\nuse this endpoint.\n\n#### Example encrypting a secret using Node.js\n\nEncrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library.\n\n```\nconst sodium = require('tweetsodium');\n\nconst key = \"base64-encoded-public-key\";\nconst value = \"plain-text-secret\";\n\n// Convert the message and key to Uint8Array's (Buffer implements that interface)\nconst messageBytes = Buffer.from(value);\nconst keyBytes = Buffer.from(key, 'base64');\n\n// Encrypt using LibSodium.\nconst encryptedBytes = sodium.seal(messageBytes, keyBytes);\n\n// Base64 the encrypted secret\nconst encrypted = Buffer.from(encryptedBytes).toString('base64');\n\nconsole.log(encrypted);\n```\n\n\n#### Example encrypting a secret using Python\n\nEncrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/stable/public/#nacl-public-sealedbox) with Python 3.\n\n```\nfrom base64 import b64encode\nfrom nacl import encoding, public\n\ndef encrypt(public_key: str, secret_value: str) -> str:\n \"\"\"Encrypt a Unicode string using the public key.\"\"\"\n public_key = public.PublicKey(public_key.encode(\"utf-8\"), encoding.Base64Encoder())\n sealed_box = public.SealedBox(public_key)\n encrypted = sealed_box.encrypt(secret_value.encode(\"utf-8\"))\n return b64encode(encrypted).decode(\"utf-8\")\n```\n\n#### Example encrypting a secret using C#\n\nEncrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package.\n\n```\nvar secretValue = System.Text.Encoding.UTF8.GetBytes(\"mySecret\");\nvar publicKey = Convert.FromBase64String(\"2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU=\");\n\nvar sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey);\n\nConsole.WriteLine(Convert.ToBase64String(sealedPublicKeyBox));\n```\n\n#### Example encrypting a secret using Ruby\n\nEncrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem.\n\n```ruby\nrequire \"rbnacl\"\nrequire \"base64\"\n\nkey = Base64.decode64(\"+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=\")\npublic_key = RbNaCl::PublicKey.new(key)\n\nbox = RbNaCl::Boxes::Sealed.from_public_key(public_key)\nencrypted_secret = box.encrypt(\"my_secret\")\n\n# Print the base64 encoded secret\nputs Base64.strict_encode64(encrypted_secret)\n```", - "tags": ["actions"], - "operationId": "actions/create-or-update-org-secret", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/secret_name" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "encrypted_value": { - "type": "string", - "description": "Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/reference/actions#get-an-organization-public-key) endpoint." - }, - "key_id": { - "type": "string", - "description": "ID of the key you used to encrypt the secret." - }, - "visibility": { - "type": "string", - "description": "Configures the access that repositories have to the organization secret. Can be one of: \n\\- `all` - All repositories in an organization can access the secret. \n\\- `private` - Private repositories in an organization can access the secret. \n\\- `selected` - Only specific repositories can access the secret.", - "enum": ["all", "private", "selected"] - }, - "selected_repository_ids": { - "type": "array", - "description": "An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/reference/actions#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/actions#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/actions#remove-selected-repository-from-an-organization-secret) endpoints.", - "items": { "type": "string" } - } - } - }, - "example": { - "encrypted_value": "****************************************************************************************", - "key_id": "012345678912345678", - "visibility": "selected", - "selected_repository_ids": ["1296269", "1296280"] - } - } - } - }, - "responses": { - "201": { "description": "Response when creating a secret" }, - "204": { "description": "Response when updating a secret" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "secrets" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete an organization secret", - "description": "Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.", - "tags": ["actions"], - "operationId": "actions/delete-org-secret", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#delete-an-organization-secret" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/secret_name" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "secrets" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/actions/secrets/{secret_name}/repositories": { - "get": { - "summary": "List selected repositories for an organization secret", - "description": "Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.", - "tags": ["actions"], - "operationId": "actions/list-selected-repos-for-org-secret", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#list-selected-repositories-for-an-organization-secret" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/secret_name" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["total_count", "repositories"], - "properties": { - "total_count": { "type": "integer" }, - "repositories": { - "type": "array", - "items": { - "$ref": "#/components/schemas/minimal-repository" - } - } - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/public-repository-paginated" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "secrets" - }, - "x-octokit": {} - }, - "put": { - "summary": "Set selected repositories for an organization secret", - "description": "Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.", - "tags": ["actions"], - "operationId": "actions/set-selected-repos-for-org-secret", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#set-selected-repositories-for-an-organization-secret" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/secret_name" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "selected_repository_ids": { - "type": "array", - "description": "An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/actions#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/actions#remove-selected-repository-from-an-organization-secret) endpoints.", - "items": { "type": "integer" } - } - } - }, - "example": { "selected_repository_ids": [64780797] } - } - } - }, - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "secrets" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}": { - "put": { - "summary": "Add selected repository to an organization secret", - "description": "Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.", - "tags": ["actions"], - "operationId": "actions/add-selected-repo-to-org-secret", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#add-selected-repository-to-an-organization-secret" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/secret_name" }, - { - "name": "repository_id", - "in": "path", - "required": true, - "schema": { "type": "integer" } - } - ], - "responses": { - "204": { - "description": "Response when repository was added to the selected list" - }, - "409": { - "description": "Response when visibility type is not set to selected" - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "secrets" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Remove selected repository from an organization secret", - "description": "Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.", - "tags": ["actions"], - "operationId": "actions/remove-selected-repo-from-org-secret", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#remove-selected-repository-from-an-organization-secret" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/secret_name" }, - { - "name": "repository_id", - "in": "path", - "required": true, - "schema": { "type": "integer" } - } - ], - "responses": { - "204": { - "description": "Response when repository was removed from the selected list" - }, - "409": { - "description": "Response when visibility type not set to selected" - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "secrets" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/audit-log": { - "get": { - "summary": "Get the audit log for an organization", - "description": "**Note:** The audit log REST API is currently in beta and is subject to change.\n\nGets the audit log for an organization. For more information, see \"[Reviewing the audit log for your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization).\"\n\nTo use this endpoint, you must be an organization owner, and you must use an access token with the `admin:org` scope. GitHub Apps must have the `organization_administration` read permission to use this endpoint.", - "operationId": "orgs/get-audit-log", - "tags": ["orgs"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/orgs#get-the-audit-log-for-an-organization" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/audit-log-phrase" }, - { "$ref": "#/components/parameters/audit-log-include" }, - { "$ref": "#/components/parameters/audit-log-after" }, - { "$ref": "#/components/parameters/audit-log-before" }, - { "$ref": "#/components/parameters/audit-log-order" }, - { "$ref": "#/components/parameters/per_page" } - ], - "responses": { - "200": { - "description": "Response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/audit-log-event" } - }, - "examples": { - "default": { "$ref": "#/components/examples/audit-log" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": true, - "enabledForGitHubApps": true, - "previews": [], - "category": "orgs", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/orgs/{org}/blocks": { - "get": { - "summary": "List users blocked by an organization", - "description": "List the users blocked by an organization.", - "tags": ["orgs"], - "operationId": "orgs/list-blocked-users", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/orgs#list-users-blocked-by-an-organization" - }, - "parameters": [{ "$ref": "#/components/parameters/org" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/simple-user" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/simple-user-items" - } - } - } - } - }, - "415": { "$ref": "#/components/responses/preview_header_missing" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "orgs", - "subcategory": "blocking" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/blocks/{username}": { - "get": { - "summary": "Check if a user is blocked by an organization", - "description": "", - "tags": ["orgs"], - "operationId": "orgs/check-blocked-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/orgs#check-if-a-user-is-blocked-by-an-organization" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/username" } - ], - "responses": { - "204": { "description": "If the user is blocked:" }, - "404": { - "description": "If the user is not blocked:", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/basic-error" } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "orgs", - "subcategory": "blocking" - }, - "x-octokit": {} - }, - "put": { - "summary": "Block a user from an organization", - "description": "", - "tags": ["orgs"], - "operationId": "orgs/block-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/orgs#block-a-user-from-an-organization" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/username" } - ], - "responses": { - "204": { "description": "Empty response" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "orgs", - "subcategory": "blocking" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Unblock a user from an organization", - "description": "", - "tags": ["orgs"], - "operationId": "orgs/unblock-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/orgs#unblock-a-user-from-an-organization" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/username" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "orgs", - "subcategory": "blocking" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/credential-authorizations": { - "get": { - "summary": "List SAML SSO authorizations for an organization", - "description": "Listing and deleting credential authorizations is available to organizations with GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products).\n\nAn authenticated organization owner with the `read:org` scope can list all credential authorizations for an organization that uses SAML single sign-on (SSO). The credentials are either personal access tokens or SSH keys that organization members have authorized for the organization. For more information, see [About authentication with SAML single sign-on](https://help.github.com/en/articles/about-authentication-with-saml-single-sign-on).", - "tags": ["orgs"], - "operationId": "orgs/list-saml-sso-authorizations", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/orgs/#list-saml-sso-authorizations-for-an-organization" - }, - "parameters": [{ "$ref": "#/components/parameters/org" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/credential-authorization" - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/credential-authorization-items" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": true, - "enabledForGitHubApps": true, - "previews": [], - "category": "orgs", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/orgs/{org}/credential-authorizations/{credential_id}": { - "delete": { - "summary": "Remove a SAML SSO authorization for an organization", - "description": "Listing and deleting credential authorizations is available to organizations with GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products).\n\nAn authenticated organization owner with the `admin:org` scope can remove a credential authorization for an organization that uses SAML SSO. Once you remove someone's credential authorization, they will need to create a new personal access token or SSH key and authorize it for the organization they want to access.", - "tags": ["orgs"], - "operationId": "orgs/remove-saml-sso-authorization", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/orgs/#remove-a-saml-sso-authorization-for-an-organization" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { - "name": "credential_id", - "in": "path", - "required": true, - "schema": { "type": "integer" } - } - ], - "responses": { - "204": { "description": "Empty response" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": true, - "enabledForGitHubApps": true, - "previews": [], - "category": "orgs", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/orgs/{org}/events": { - "get": { - "summary": "List public organization events", - "description": "", - "tags": ["activity"], - "operationId": "activity/list-public-org-events", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/activity#list-public-organization-events" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/event" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "activity", - "subcategory": "events" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/failed_invitations": { - "get": { - "summary": "List failed organization invitations", - "description": "The return hash contains `failed_at` and `failed_reason` fields which represent the time at which the invitation failed and the reason for the failure.", - "tags": ["orgs"], - "operationId": "orgs/list-failed-invitations", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/orgs#list-failed-organization-invitations" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/organization-invitation" - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/organization-invitation-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "orgs", - "subcategory": "members" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/hooks": { - "get": { - "summary": "List organization webhooks", - "description": "", - "tags": ["orgs"], - "operationId": "orgs/list-webhooks", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/orgs#list-organization-webhooks" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/org-hook" } - }, - "examples": { - "default": { "$ref": "#/components/examples/org-hook-items" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "orgs", - "subcategory": "webhooks" - }, - "x-octokit": {} - }, - "post": { - "summary": "Create an organization webhook", - "description": "Here's how you can create a hook that posts payloads in JSON format:", - "tags": ["orgs"], - "operationId": "orgs/create-webhook", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/orgs#create-an-organization-webhook" - }, - "parameters": [{ "$ref": "#/components/parameters/org" }], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Must be passed as \"web\"." - }, - "config": { - "type": "object", - "description": "Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/orgs#create-hook-config-params).", - "properties": { - "url": { - "$ref": "#/components/schemas/webhook-config-url" - }, - "content_type": { - "$ref": "#/components/schemas/webhook-config-content-type" - }, - "secret": { - "$ref": "#/components/schemas/webhook-config-secret" - }, - "insecure_ssl": { - "$ref": "#/components/schemas/webhook-config-insecure-ssl" - }, - "username": { - "type": "string", - "example": "\"kdaigle\"" - }, - "password": { - "type": "string", - "example": "\"password\"" - } - }, - "required": ["url"] - }, - "events": { - "type": "array", - "description": "Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for.", - "default": ["push"], - "items": { "type": "string" } - }, - "active": { - "type": "boolean", - "description": "Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications.", - "default": true - } - }, - "required": ["name", "config"] - }, - "example": { - "name": "web", - "active": true, - "events": ["push", "pull_request"], - "config": { - "url": "http://example.com/webhook", - "content_type": "json" - } - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/org-hook" }, - "examples": { - "default": { "$ref": "#/components/examples/org-hook" } - } - } - }, - "headers": { - "Location": { - "example": "https://api.github.com/orgs/octocat/hooks/1", - "schema": { "type": "string" } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "orgs", - "subcategory": "webhooks" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/hooks/{hook_id}": { - "get": { - "summary": "Get an organization webhook", - "description": "Returns a webhook configured in an organization. To get only the webhook `config` properties, see \"[Get a webhook configuration for an organization](/rest/reference/orgs#get-a-webhook-configuration-for-an-organization).\"", - "tags": ["orgs"], - "operationId": "orgs/get-webhook", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/orgs#get-an-organization-webhook" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/hook-id" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/org-hook" }, - "examples": { - "default": { "$ref": "#/components/examples/org-hook" } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "orgs", - "subcategory": "webhooks" - }, - "x-octokit": {} - }, - "patch": { - "summary": "Update an organization webhook", - "description": "Updates a webhook configured in an organization. When you update a webhook, the `secret` will be overwritten. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use \"[Update a webhook configuration for an organization](/rest/reference/orgs#update-a-webhook-configuration-for-an-organization).\"", - "tags": ["orgs"], - "operationId": "orgs/update-webhook", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/orgs#update-an-organization-webhook" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/hook-id" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "config": { - "type": "object", - "description": "Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/orgs#update-hook-config-params).", - "properties": { - "url": { - "$ref": "#/components/schemas/webhook-config-url" - }, - "content_type": { - "$ref": "#/components/schemas/webhook-config-content-type" - }, - "secret": { - "$ref": "#/components/schemas/webhook-config-secret" - }, - "insecure_ssl": { - "$ref": "#/components/schemas/webhook-config-insecure-ssl" - } - }, - "required": ["url"] - }, - "events": { - "type": "array", - "description": "Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for.", - "default": ["push"], - "items": { "type": "string" } - }, - "active": { - "type": "boolean", - "description": "Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications.", - "default": true - }, - "name": { "type": "string", "example": "\"web\"" } - } - }, - "example": { "active": true, "events": ["pull_request"] } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/org-hook" }, - "examples": { - "default": { "$ref": "#/components/examples/org-hook-2" } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "orgs", - "subcategory": "webhooks" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete an organization webhook", - "description": "", - "tags": ["orgs"], - "operationId": "orgs/delete-webhook", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/orgs#delete-an-organization-webhook" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/hook-id" } - ], - "responses": { - "204": { "description": "Empty response" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "orgs", - "subcategory": "webhooks" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/hooks/{hook_id}/config": { - "get": { - "summary": "Get a webhook configuration for an organization", - "description": "Returns the webhook configuration for an organization. To get more information about the webhook, including the `active` state and `events`, use \"[Get an organization webhook ](/rest/reference/orgs#get-an-organization-webhook).\"\n\nAccess tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:read` permission.", - "tags": ["orgs"], - "operationId": "orgs/get-webhook-config-for-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/orgs#get-a-webhook-configuration-for-an-organization" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/hook-id" } - ], - "responses": { - "200": { - "description": "Default response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/webhook-config" }, - "examples": { - "default": { "$ref": "#/components/examples/webhook-config" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "orgs", - "subcategory": "webhooks" - }, - "x-octokit": {} - }, - "patch": { - "summary": "Update a webhook configuration for an organization", - "description": "Updates the webhook configuration for an organization. To update more information about the webhook, including the `active` state and `events`, use \"[Update an organization webhook ](/rest/reference/orgs#update-an-organization-webhook).\"\n\nAccess tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:write` permission.", - "tags": ["orgs"], - "operationId": "orgs/update-webhook-config-for-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/orgs#update-a-webhook-configuration-for-an-organization" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/hook-id" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "url": { "$ref": "#/components/schemas/webhook-config-url" }, - "content_type": { - "$ref": "#/components/schemas/webhook-config-content-type" - }, - "secret": { - "$ref": "#/components/schemas/webhook-config-secret" - }, - "insecure_ssl": { - "$ref": "#/components/schemas/webhook-config-insecure-ssl" - } - }, - "example": { - "content_type": "json", - "insecure_ssl": "0", - "secret": "********", - "url": "https://example.com/webhook" - } - } - } - } - }, - "responses": { - "200": { - "description": "Default response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/webhook-config" }, - "examples": { - "default": { "$ref": "#/components/examples/webhook-config" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "orgs", - "subcategory": "webhooks" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/hooks/{hook_id}/pings": { - "post": { - "summary": "Ping an organization webhook", - "description": "This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook.", - "tags": ["orgs"], - "operationId": "orgs/ping-webhook", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/orgs#ping-an-organization-webhook" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/hook-id" } - ], - "responses": { - "204": { "description": "Empty response" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "orgs", - "subcategory": "webhooks" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/installation": { - "get": { - "summary": "Get an organization installation for the authenticated app", - "description": "Enables an authenticated GitHub App to find the organization's installation information.\n\nYou must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.", - "tags": ["apps"], - "operationId": "apps/get-org-installation", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/apps/#get-an-organization-installation-for-the-authenticated-app" - }, - "parameters": [{ "$ref": "#/components/parameters/org" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/installation" }, - "examples": { - "default": { "$ref": "#/components/examples/installation" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "apps", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/orgs/{org}/installations": { - "get": { - "summary": "List app installations for an organization", - "description": "Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint.", - "tags": ["orgs"], - "operationId": "orgs/list-app-installations", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/orgs/#list-app-installations-for-an-organization" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["total_count", "installations"], - "properties": { - "total_count": { "type": "integer" }, - "installations": { - "type": "array", - "items": { "$ref": "#/components/schemas/installation" } - } - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/installation-paginated" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "orgs", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/orgs/{org}/interaction-limits": { - "get": { - "summary": "Get interaction restrictions for an organization", - "description": "Shows which type of GitHub user can interact with this organization and when the restriction expires. If there is no restrictions, you will see an empty response.", - "tags": ["interactions"], - "operationId": "interactions/get-restrictions-for-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/interactions#get-interaction-restrictions-for-an-organization" - }, - "parameters": [{ "$ref": "#/components/parameters/org" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/interaction-limit-response" - }, - "examples": { - "default": { - "$ref": "#/components/examples/interaction-limit-response" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "interactions", - "subcategory": "orgs" - }, - "x-octokit": {} - }, - "put": { - "summary": "Set interaction restrictions for an organization", - "description": "Temporarily restricts interactions to a certain type of GitHub user in any public repository in the given organization. You must be an organization owner to set these restrictions. Setting the interaction limit at the organization level will overwrite any interaction limits that are set for individual repositories owned by the organization.", - "tags": ["interactions"], - "operationId": "interactions/set-restrictions-for-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/interactions#set-interaction-restrictions-for-an-organization" - }, - "parameters": [{ "$ref": "#/components/parameters/org" }], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/interaction-limit" } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/interaction-limit-response" - }, - "examples": { - "default": { - "$ref": "#/components/examples/interaction-limit-response" - } - } - } - } - }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "interactions", - "subcategory": "orgs" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Remove interaction restrictions for an organization", - "description": "Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions.", - "tags": ["interactions"], - "operationId": "interactions/remove-restrictions-for-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/interactions#remove-interaction-restrictions-for-an-organization" - }, - "parameters": [{ "$ref": "#/components/parameters/org" }], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "interactions", - "subcategory": "orgs" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/invitations": { - "get": { - "summary": "List pending organization invitations", - "description": "The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`.", - "tags": ["orgs"], - "operationId": "orgs/list-pending-invitations", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/orgs#list-pending-organization-invitations" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/organization-invitation" - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/organization-invitation-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "orgs", - "subcategory": "members" - }, - "x-octokit": {} - }, - "post": { - "summary": "Create an organization invitation", - "description": "Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner.\n\nThis endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.", - "tags": ["orgs"], - "operationId": "orgs/create-invitation", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/orgs#create-an-organization-invitation" - }, - "parameters": [{ "$ref": "#/components/parameters/org" }], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "invitee_id": { - "type": "integer", - "description": "**Required unless you provide `email`**. GitHub user ID for the person you are inviting." - }, - "email": { - "type": "string", - "description": "**Required unless you provide `invitee_id`**. Email address of the person you are inviting, which can be an existing GitHub user." - }, - "role": { - "type": "string", - "description": "Specify role for new member. Can be one of: \n\\* `admin` - Organization owners with full administrative rights to the organization and complete access to all repositories and teams. \n\\* `direct_member` - Non-owner organization members with ability to see other members and join teams by invitation. \n\\* `billing_manager` - Non-owner organization members with ability to manage the billing settings of your organization.", - "enum": ["admin", "direct_member", "billing_manager"], - "default": "direct_member" - }, - "team_ids": { - "type": "array", - "description": "Specify IDs for the teams you want to invite new members to.", - "items": { "type": "integer" } - } - } - }, - "example": { - "email": "octocat@github.com", - "role": "direct_member", - "team_ids": [12, 26] - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/organization-invitation" - }, - "examples": { - "default": { - "$ref": "#/components/examples/organization-invitation" - } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "triggersNotification": true, - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "orgs", - "subcategory": "members" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/invitations/{invitation_id}": { - "delete": { - "summary": "Cancel an organization invitation", - "description": "Cancel an organization invitation. In order to cancel an organization invitation, the authenticated user must be an organization owner.\n\nThis endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications).", - "tags": ["orgs"], - "operationId": "orgs/cancel-invitation", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/orgs#cancel-an-organization-invitation" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/invitation_id" } - ], - "responses": { - "204": { "description": "Empty response" }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "triggersNotification": true, - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "orgs", - "subcategory": "members" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/invitations/{invitation_id}/teams": { - "get": { - "summary": "List organization invitation teams", - "description": "List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner.", - "tags": ["orgs"], - "operationId": "orgs/list-invitation-teams", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/orgs#list-organization-invitation-teams" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/invitation_id" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/team" } - }, - "examples": { - "default": { "$ref": "#/components/examples/team-items" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "orgs", - "subcategory": "members" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/issues": { - "get": { - "summary": "List organization issues assigned to the authenticated user", - "description": "List issues in an organization assigned to the authenticated user.\n\n**Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this\nreason, \"Issues\" endpoints may return both issues and pull requests in the response. You can identify pull requests by\nthe `pull_request` key. Be aware that the `id` of a pull request returned from \"Issues\" endpoints will be an _issue id_. To find out the pull\nrequest id, use the \"[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)\" endpoint.", - "tags": ["issues"], - "operationId": "issues/list-for-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/issues/#list-organization-issues-assigned-to-the-authenticated-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { - "name": "filter", - "description": "Indicates which sorts of issues to return. Can be one of: \n\\* `assigned`: Issues assigned to you \n\\* `created`: Issues created by you \n\\* `mentioned`: Issues mentioning you \n\\* `subscribed`: Issues you're subscribed to updates for \n\\* `all`: All issues the authenticated user can see, regardless of participation or creation", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["assigned", "created", "mentioned", "subscribed", "all"], - "default": "assigned" - } - }, - { - "name": "state", - "description": "Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["open", "closed", "all"], - "default": "open" - } - }, - { "$ref": "#/components/parameters/labels" }, - { - "name": "sort", - "description": "What to sort results by. Can be either `created`, `updated`, `comments`.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["created", "updated", "comments"], - "default": "created" - } - }, - { "$ref": "#/components/parameters/direction" }, - { "$ref": "#/components/parameters/since" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/issue" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/issue-with-repo-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [ - { - "required": false, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "category": "issues", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/orgs/{org}/members": { - "get": { - "summary": "List organization members", - "description": "List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned.", - "tags": ["orgs"], - "operationId": "orgs/list-members", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/orgs#list-organization-members" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { - "name": "filter", - "description": "Filter members returned in the list. Can be one of: \n\\* `2fa_disabled` - Members without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled. Available for organization owners. \n\\* `all` - All members the authenticated user can see.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["2fa_disabled", "all"], - "default": "all" - } - }, - { - "name": "role", - "description": "Filter members returned by their role. Can be one of: \n\\* `all` - All members of the organization, regardless of role. \n\\* `admin` - Organization owners. \n\\* `member` - Non-owner organization members.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["all", "admin", "member"], - "default": "all" - } - }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/simple-user" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/simple-user-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "302": { - "description": "Response if requester is not an organization member", - "headers": { - "Location": { - "example": "https://api.github.com/orgs/github/public_members", - "schema": { "type": "string" } - } - } - }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "orgs", - "subcategory": "members" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/members/{username}": { - "get": { - "summary": "Check organization membership for a user", - "description": "Check if a user is, publicly or privately, a member of the organization.", - "tags": ["orgs"], - "operationId": "orgs/check-membership-for-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/orgs#check-organization-membership-for-a-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/username" } - ], - "responses": { - "204": { - "description": "Response if requester is an organization member and user is a member" - }, - "302": { - "description": "Response if requester is not an organization member", - "headers": { - "Location": { - "example": "https://api.github.com/orgs/github/public_members/pezra", - "schema": { "type": "string" } - } - } - }, - "404": { - "description": "Response if requester is an organization member and user is not a member" - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "orgs", - "subcategory": "members" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Remove an organization member", - "description": "Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories.", - "tags": ["orgs"], - "operationId": "orgs/remove-member", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/orgs#remove-an-organization-member" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/username" } - ], - "responses": { - "204": { "description": "Empty response" }, - "403": { "$ref": "#/components/responses/forbidden" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "orgs", - "subcategory": "members" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/memberships/{username}": { - "get": { - "summary": "Get organization membership for a user", - "description": "In order to get a user's membership with an organization, the authenticated user must be an organization member.", - "tags": ["orgs"], - "operationId": "orgs/get-membership-for-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/orgs#get-organization-membership-for-a-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/username" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/org-membership" }, - "examples": { - "response-if-user-has-an-active-admin-membership-with-organization": { - "$ref": "#/components/examples/org-membership-response-if-user-has-an-active-admin-membership-with-organization" - }, - "response-if-user-has-an-active-membership-with-organization": { - "$ref": "#/components/examples/org-membership-response-if-user-has-an-active-membership-with-organization" - }, - "response-if-user-has-a-pending-membership-with-organization": { - "$ref": "#/components/examples/org-membership-response-if-user-has-a-pending-membership-with-organization" - } - } - } - } - }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "orgs", - "subcategory": "members" - }, - "x-octokit": {} - }, - "put": { - "summary": "Set organization membership for a user", - "description": "Only authenticated organization owners can add a member to the organization or update the member's role.\n\n* If the authenticated user is _adding_ a member to the organization, the invited user will receive an email inviting them to the organization. The user's [membership status](https://docs.github.com/rest/reference/orgs#get-organization-membership-for-a-user) will be `pending` until they accept the invitation.\n \n* Authenticated users can _update_ a user's membership by passing the `role` parameter. If the authenticated user changes a member's role to `admin`, the affected user will receive an email notifying them that they've been made an organization owner. If the authenticated user changes an owner's role to `member`, no email will be sent.\n\n**Rate limits**\n\nTo prevent abuse, the authenticated user is limited to 50 organization invitations per 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period.", - "tags": ["orgs"], - "operationId": "orgs/set-membership-for-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/orgs#set-organization-membership-for-a-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/username" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "role": { - "type": "string", - "description": "The role to give the user in the organization. Can be one of: \n\\* `admin` - The user will become an owner of the organization. \n\\* `member` - The user will become a non-owner member of the organization.", - "enum": ["admin", "member"], - "default": "member" - } - } - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/org-membership" }, - "examples": { - "response-if-user-was-previously-unaffiliated-with-organization": { - "$ref": "#/components/examples/org-membership-response-if-user-was-previously-unaffiliated-with-organization" - }, - "response-if-user-already-had-membership-with-organization": { - "$ref": "#/components/examples/org-membership-response-if-user-already-had-membership-with-organization" - } - } - } - } - }, - "403": { "$ref": "#/components/responses/forbidden" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "orgs", - "subcategory": "members" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Remove organization membership for a user", - "description": "In order to remove a user's membership with an organization, the authenticated user must be an organization owner.\n\nIf the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases.", - "tags": ["orgs"], - "operationId": "orgs/remove-membership-for-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/orgs#remove-organization-membership-for-a-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/username" } - ], - "responses": { - "204": { "description": "Empty response" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "orgs", - "subcategory": "members" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/migrations": { - "get": { - "summary": "List organization migrations", - "description": "Lists the most recent migrations.", - "tags": ["migrations"], - "operationId": "migrations/list-for-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/migrations#list-organization-migrations" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/migration" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/migration-with-short-org-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [ - { - "required": true, - "name": "wyandotte", - "note": "To access the Migrations API, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.wyandotte-preview+json\n```" - } - ], - "category": "migrations", - "subcategory": "orgs" - }, - "x-octokit": {} - }, - "post": { - "summary": "Start an organization migration", - "description": "Initiates the generation of a migration archive.", - "tags": ["migrations"], - "operationId": "migrations/start-for-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/migrations#start-an-organization-migration" - }, - "parameters": [{ "$ref": "#/components/parameters/org" }], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "repositories": { - "type": "array", - "description": "A list of arrays indicating which repositories should be migrated.", - "items": { "type": "string" } - }, - "lock_repositories": { - "type": "boolean", - "description": "Indicates whether repositories should be locked (to prevent manipulation) while migrating data.", - "default": false - }, - "exclude_attachments": { - "type": "boolean", - "description": "Indicates whether attachments should be excluded from the migration (to reduce migration archive file size).", - "default": false - }, - "exclude": { "type": "array", "items": { "type": "string" } } - }, - "required": ["repositories"] - }, - "example": { - "repositories": ["github/Hello-World"], - "lock_repositories": true - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/migration" }, - "examples": { - "default": { - "$ref": "#/components/examples/migration-with-short-org-2" - } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "migrations", - "subcategory": "orgs" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/migrations/{migration_id}": { - "get": { - "summary": "Get an organization migration status", - "description": "Fetches the status of a migration.\n\nThe `state` of a migration can be one of the following values:\n\n* `pending`, which means the migration hasn't started yet.\n* `exporting`, which means the migration is in progress.\n* `exported`, which means the migration finished successfully.\n* `failed`, which means the migration failed.", - "tags": ["migrations"], - "operationId": "migrations/get-status-for-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/migrations#get-an-organization-migration-status" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/migration_id" } - ], - "responses": { - "200": { - "description": "* `pending`, which means the migration hasn't started yet.\n* `exporting`, which means the migration is in progress.\n* `exported`, which means the migration finished successfully.\n* `failed`, which means the migration failed.", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/migration" }, - "examples": { - "default": { - "$ref": "#/components/examples/migration-with-short-org" - } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [ - { - "required": true, - "name": "wyandotte", - "note": "To access the Migrations API, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.wyandotte-preview+json\n```" - } - ], - "category": "migrations", - "subcategory": "orgs" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/migrations/{migration_id}/archive": { - "get": { - "summary": "Download an organization migration archive", - "description": "Fetches the URL to a migration archive.", - "tags": ["migrations"], - "operationId": "migrations/download-archive-for-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/migrations#download-an-organization-migration-archive" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/migration_id" } - ], - "responses": { - "302": { "description": "response" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [ - { - "required": true, - "name": "wyandotte", - "note": "To access the Migrations API, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.wyandotte-preview+json\n```" - } - ], - "category": "migrations", - "subcategory": "orgs" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete an organization migration archive", - "description": "Deletes a previous migration archive. Migration archives are automatically deleted after seven days.", - "tags": ["migrations"], - "operationId": "migrations/delete-archive-for-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/migrations#delete-an-organization-migration-archive" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/migration_id" } - ], - "responses": { - "204": { "description": "Empty response" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [ - { - "required": true, - "name": "wyandotte", - "note": "To access the Migrations API, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.wyandotte-preview+json\n```" - } - ], - "category": "migrations", - "subcategory": "orgs" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock": { - "delete": { - "summary": "Unlock an organization repository", - "description": "Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://docs.github.com/rest/reference/repos#delete-a-repository) when the migration is complete and you no longer need the source data.", - "tags": ["migrations"], - "operationId": "migrations/unlock-repo-for-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/migrations#unlock-an-organization-repository" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/migration_id" }, - { "$ref": "#/components/parameters/repo_name" } - ], - "responses": { - "204": { "description": "Empty response" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [ - { - "required": true, - "name": "wyandotte", - "note": "To access the Migrations API, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.wyandotte-preview+json\n```" - } - ], - "category": "migrations", - "subcategory": "orgs" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/migrations/{migration_id}/repositories": { - "get": { - "summary": "List repositories in an organization migration", - "description": "List all the repositories for this organization migration.", - "tags": ["migrations"], - "operationId": "migrations/list-repos-for-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/migrations#list-repositories-in-an-organization-migration" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/migration_id" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/minimal-repository" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/minimal-repository-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [ - { - "required": true, - "name": "wyandotte", - "note": "To access the Migrations API, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.wyandotte-preview+json\n```" - } - ], - "category": "migrations", - "subcategory": "orgs" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/outside_collaborators": { - "get": { - "summary": "List outside collaborators for an organization", - "description": "List all users who are outside collaborators of an organization.", - "tags": ["orgs"], - "operationId": "orgs/list-outside-collaborators", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/orgs#list-outside-collaborators-for-an-organization" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { - "name": "filter", - "description": "Filter the list of outside collaborators. Can be one of: \n\\* `2fa_disabled`: Outside collaborators without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled. \n\\* `all`: All outside collaborators.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["2fa_disabled", "all"], - "default": "all" - } - }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/simple-user" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/simple-user-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "orgs", - "subcategory": "outside-collaborators" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/outside_collaborators/{username}": { - "put": { - "summary": "Convert an organization member to outside collaborator", - "description": "When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see \"[Converting an organization member to an outside collaborator](https://help.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)\".", - "tags": ["orgs"], - "operationId": "orgs/convert-member-to-outside-collaborator", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/orgs#convert-an-organization-member-to-outside-collaborator" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/username" } - ], - "responses": { - "202": { "description": "User is getting converted asynchronously" }, - "204": { "description": "User was converted" }, - "403": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { "type": "string" }, - "documentation_url": { "type": "string" } - } - }, - "examples": { - "response-if-user-is-the-last-owner-of-the-organization": { - "summary": "Response if user is the last owner of the organization", - "value": { - "message": "Cannot convert the last owner to an outside collaborator", - "documentation_url": "https://docs.github.com/rest/reference/orgs#convert-member-to-outside-collaborator" - } - }, - "response-if-user-is-not-a-member-of-the-organization": { - "summary": "Response if user is not a member of the organization", - "value": { - "message": " is not a member of the organization.", - "documentation_url": "https://docs.github.com/rest/reference/orgs#convert-member-to-outside-collaborator" - } - } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "orgs", - "subcategory": "outside-collaborators" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Remove outside collaborator from an organization", - "description": "Removing a user from this list will remove them from all the organization's repositories.", - "tags": ["orgs"], - "operationId": "orgs/remove-outside-collaborator", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/orgs#remove-outside-collaborator-from-an-organization" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/username" } - ], - "responses": { - "204": { "description": "Empty response" }, - "422": { - "description": "Response if user is a member of the organization", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { "type": "string" }, - "documentation_url": { "type": "string" } - } - }, - "examples": { - "response-if-user-is-a-member-of-the-organization": { - "value": { - "message": "You cannot specify an organization member to remove as an outside collaborator.", - "documentation_url": "https://docs.github.com/rest/reference/orgs#remove-outside-collaborator" - } - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "orgs", - "subcategory": "outside-collaborators" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/projects": { - "get": { - "summary": "List organization projects", - "description": "Lists the projects in an organization. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned.", - "tags": ["projects"], - "operationId": "projects/list-for-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/projects/#list-organization-projects" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { - "name": "state", - "description": "Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["open", "closed", "all"], - "default": "open" - } - }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/project" } - }, - "examples": { - "default": { "$ref": "#/components/examples/project-items" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "422": { "$ref": "#/components/responses/validation_failed_simple" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "inertia", - "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" - } - ], - "category": "projects", - "subcategory": null - }, - "x-octokit": {} - }, - "post": { - "summary": "Create an organization project", - "description": "Creates an organization project board. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned.", - "tags": ["projects"], - "operationId": "projects/create-for-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/projects/#create-an-organization-project" - }, - "parameters": [{ "$ref": "#/components/parameters/org" }], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The name of the project." - }, - "body": { - "type": "string", - "description": "The description of the project." - } - }, - "required": ["name"] - }, - "example": { - "name": "Organization Roadmap", - "body": "High-level roadmap for the upcoming year." - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/project" }, - "examples": { - "default": { "$ref": "#/components/examples/project-2" } - } - } - } - }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "410": { "$ref": "#/components/responses/gone" }, - "422": { "$ref": "#/components/responses/validation_failed_simple" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "inertia", - "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" - } - ], - "category": "projects", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/orgs/{org}/public_members": { - "get": { - "summary": "List public organization members", - "description": "Members of an organization can choose to have their membership publicized or not.", - "tags": ["orgs"], - "operationId": "orgs/list-public-members", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/orgs#list-public-organization-members" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/simple-user" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/simple-user-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "orgs", - "subcategory": "members" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/public_members/{username}": { - "get": { - "summary": "Check public organization membership for a user", - "description": "", - "tags": ["orgs"], - "operationId": "orgs/check-public-membership-for-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/orgs#check-public-organization-membership-for-a-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/username" } - ], - "responses": { - "204": { "description": "Response if user is a public member" }, - "404": { "description": "Response if user is not a public member" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "orgs", - "subcategory": "members" - }, - "x-octokit": {} - }, - "put": { - "summary": "Set public organization membership for the authenticated user", - "description": "The user can publicize their own membership. (A user cannot publicize the membership for another user.)\n\nNote that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"", - "tags": ["orgs"], - "operationId": "orgs/set-public-membership-for-authenticated-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/orgs#set-public-organization-membership-for-the-authenticated-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/username" } - ], - "responses": { - "204": { "description": "Empty response" }, - "403": { "$ref": "#/components/responses/forbidden" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "orgs", - "subcategory": "members" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Remove public organization membership for the authenticated user", - "description": "", - "tags": ["orgs"], - "operationId": "orgs/remove-public-membership-for-authenticated-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/orgs#remove-public-organization-membership-for-the-authenticated-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/username" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "orgs", - "subcategory": "members" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/repos": { - "get": { - "summary": "List organization repositories", - "description": "Lists repositories for the specified organization.", - "tags": ["repos"], - "operationId": "repos/list-for-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/repos/#list-organization-repositories" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { - "name": "type", - "description": "Specifies the types of repositories you want returned. Can be one of `all`, `public`, `private`, `forks`, `sources`, `member`, `internal`. Default: `all`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `type` can also be `internal`.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": [ - "all", - "public", - "private", - "forks", - "sources", - "member", - "internal" - ] - } - }, - { - "name": "sort", - "description": "Can be one of `created`, `updated`, `pushed`, `full_name`.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["created", "updated", "pushed", "full_name"], - "default": "created" - } - }, - { - "name": "direction", - "description": "Can be one of `asc` or `desc`. Default: when using `full_name`: `asc`, otherwise `desc`", - "in": "query", - "required": false, - "schema": { "type": "string", "enum": ["asc", "desc"] } - }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/minimal-repository" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/minimal-repository-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "nebula", - "note": "You can set the visibility of a repository using the new `visibility` parameter in the [Repositories API](https://docs.github.com/rest/reference/repos/), and get a repository's visibility with a new response key. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes/).\n\nTo access repository visibility during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.nebula-preview+json\n```" - }, - { - "required": false, - "name": "baptiste", - "note": "The `is_template` and `template_repository` keys are currently available for developer to preview. See [Create a repository using a template](https://docs.github.com/rest/reference/repos#create-a-repository-using-a-template) to learn how to create template repositories. To access these new response keys during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n\n```shell\napplication/vnd.github.baptiste-preview+json\n```" - } - ], - "category": "repos", - "subcategory": null - }, - "x-octokit": {} - }, - "post": { - "summary": "Create an organization repository", - "description": "Creates a new repository in the specified organization. The authenticated user must be a member of the organization.\n\n**OAuth scope requirements**\n\nWhen using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include:\n\n* `public_repo` scope or `repo` scope to create a public repository\n* `repo` scope to create a private repository", - "tags": ["repos"], - "operationId": "repos/create-in-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/repos/#create-an-organization-repository" - }, - "parameters": [{ "$ref": "#/components/parameters/org" }], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The name of the repository." - }, - "description": { - "type": "string", - "description": "A short description of the repository." - }, - "homepage": { - "type": "string", - "description": "A URL with more information about the repository." - }, - "private": { - "type": "boolean", - "description": "Either `true` to create a private repository or `false` to create a public one.", - "default": false - }, - "visibility": { - "type": "string", - "description": "Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`. For more information, see \"[Creating an internal repository](https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-repository-visibility#about-internal-repositories)\" in the GitHub Help documentation. \nThe `visibility` parameter overrides the `private` parameter when you use both parameters with the `nebula-preview` preview header.", - "enum": ["public", "private", "visibility", "internal"] - }, - "has_issues": { - "type": "boolean", - "description": "Either `true` to enable issues for this repository or `false` to disable them.", - "default": true - }, - "has_projects": { - "type": "boolean", - "description": "Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error.", - "default": true - }, - "has_wiki": { - "type": "boolean", - "description": "Either `true` to enable the wiki for this repository or `false` to disable it.", - "default": true - }, - "is_template": { - "type": "boolean", - "description": "Either `true` to make this repo available as a template repository or `false` to prevent it.", - "default": false - }, - "team_id": { - "type": "integer", - "description": "The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization." - }, - "auto_init": { - "type": "boolean", - "description": "Pass `true` to create an initial commit with empty README.", - "default": false - }, - "gitignore_template": { - "type": "string", - "description": "Desired language or platform [.gitignore template](https://github.com/github/gitignore) to apply. Use the name of the template without the extension. For example, \"Haskell\"." - }, - "license_template": { - "type": "string", - "description": "Choose an [open source license template](https://choosealicense.com/) that best suits your needs, and then use the [license keyword](https://help.github.com/articles/licensing-a-repository/#searching-github-by-license-type) as the `license_template` string. For example, \"mit\" or \"mpl-2.0\"." - }, - "allow_squash_merge": { - "type": "boolean", - "description": "Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging.", - "default": true - }, - "allow_merge_commit": { - "type": "boolean", - "description": "Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits.", - "default": true - }, - "allow_rebase_merge": { - "type": "boolean", - "description": "Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging.", - "default": true - }, - "delete_branch_on_merge": { - "type": "boolean", - "description": "Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion.", - "default": false - } - }, - "required": ["name"] - }, - "example": { - "name": "Hello-World", - "description": "This is your first repository", - "homepage": "https://github.com", - "private": false, - "has_issues": true, - "has_projects": true, - "has_wiki": true - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/repository" }, - "examples": { - "default": { "$ref": "#/components/examples/repository" } - } - } - }, - "headers": { - "Location": { - "example": "https://api.github.com/repos/octocat/Hello-World", - "schema": { "type": "string" } - } - } - }, - "403": { "$ref": "#/components/responses/forbidden" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "nebula", - "note": "You can set the visibility of a repository using the new `visibility` parameter in the [Repositories API](https://docs.github.com/rest/reference/repos/), and get a repository's visibility with a new response key. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes/).\n\nTo access repository visibility during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.nebula-preview+json\n```" - }, - { - "required": false, - "name": "baptiste", - "note": "The `is_template` and `template_repository` keys are currently available for developer to preview. See [Create a repository using a template](https://docs.github.com/rest/reference/repos#create-a-repository-using-a-template) to learn how to create template repositories. To access these new response keys during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n\n```shell\napplication/vnd.github.baptiste-preview+json\n```" - } - ], - "category": "repos", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/orgs/{org}/settings/billing/actions": { - "get": { - "summary": "Get GitHub Actions billing for an organization", - "description": "Gets the summary of the free and paid GitHub Actions minutes used.\n\nPaid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see \"[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)\".\n\nAccess tokens must have the `repo` or `admin:org` scope.", - "operationId": "billing/get-github-actions-billing-org", - "tags": ["billing"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/billing/#get-github-actions-billing-for-an-organization" - }, - "parameters": [{ "$ref": "#/components/parameters/org" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/actions-billing-usage" - }, - "examples": { - "default": { - "$ref": "#/components/examples/actions-billing-usage" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "billing", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/orgs/{org}/settings/billing/packages": { - "get": { - "summary": "Get GitHub Packages billing for an organization", - "description": "Gets the free and paid storage usued for GitHub Packages in gigabytes.\n\nPaid minutes only apply to packages stored for private repositories. For more information, see \"[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages).\"\n\nAccess tokens must have the `repo` or `admin:org` scope.", - "operationId": "billing/get-github-packages-billing-org", - "tags": ["billing"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/billing/#get-github-packages-billing-for-an-organization" - }, - "parameters": [{ "$ref": "#/components/parameters/org" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/packages-billing-usage" - }, - "examples": { - "default": { - "$ref": "#/components/examples/packages-billing-usage" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "billing", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/orgs/{org}/settings/billing/shared-storage": { - "get": { - "summary": "Get shared storage billing for an organization", - "description": "Gets the estimated paid and estimated total storage used for GitHub Actions and Github Packages.\n\nPaid minutes only apply to packages stored for private repositories. For more information, see \"[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages).\"\n\nAccess tokens must have the `repo` or `admin:org` scope.", - "operationId": "billing/get-shared-storage-billing-org", - "tags": ["billing"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/billing/#get-shared-storage-billing-for-an-organization" - }, - "parameters": [{ "$ref": "#/components/parameters/org" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/combined-billing-usage" - }, - "examples": { - "default": { - "$ref": "#/components/examples/combined-billing-usage" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "billing", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/orgs/{org}/team-sync/groups": { - "get": { - "summary": "List IdP groups for an organization", - "description": "Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nList IdP groups available in an organization. You can limit your page results using the `per_page` parameter. GitHub generates a url-encoded `page` token using a cursor value for where the next page begins. For more information on cursor pagination, see \"[Offset and Cursor Pagination explained](https://dev.to/jackmarchant/offset-and-cursor-pagination-explained-b89).\"\n\nThe `per_page` parameter provides pagination for a list of IdP groups the authenticated user can access in an organization. For example, if the user `octocat` wants to see two groups per page in `octo-org` via cURL, it would look like this:", - "tags": ["teams"], - "operationId": "teams/list-idp-groups-for-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/teams#list-idp-groups-for-an-organization" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/group-mapping" }, - "examples": { - "default": { "$ref": "#/components/examples/group-mapping-3" } - } - } - }, - "headers": { - "Link": { - "example": "; rel=\"next\"", - "schema": { "type": "string" } - } - } - } - }, - "x-github": { - "githubCloudOnly": true, - "enabledForGitHubApps": true, - "previews": [], - "category": "teams", - "subcategory": "team-sync" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/teams": { - "get": { - "summary": "List teams", - "description": "Lists all teams in an organization that are visible to the authenticated user.", - "tags": ["teams"], - "operationId": "teams/list", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/teams/#list-teams" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/team" } - }, - "examples": { - "default": { "$ref": "#/components/examples/team-items" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "403": { "$ref": "#/components/responses/forbidden" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "teams", - "subcategory": null - }, - "x-octokit": {} - }, - "post": { - "summary": "Create a team", - "description": "To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see \"[Setting team creation permissions](https://help.github.com/en/articles/setting-team-creation-permissions-in-your-organization).\"\n\nWhen you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see \"[About teams](https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/about-teams)\".", - "tags": ["teams"], - "operationId": "teams/create", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/teams/#create-a-team" - }, - "parameters": [{ "$ref": "#/components/parameters/org" }], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The name of the team." - }, - "description": { - "type": "string", - "description": "The description of the team." - }, - "maintainers": { - "type": "array", - "description": "List GitHub IDs for organization members who will become team maintainers.", - "items": { "type": "string" } - }, - "repo_names": { - "type": "array", - "description": "The full name (e.g., \"organization-name/repository-name\") of repositories to add the team to.", - "items": { "type": "string" } - }, - "privacy": { - "type": "string", - "description": "The level of privacy this team should have. The options are: \n**For a non-nested team:** \n\\* `secret` - only visible to organization owners and members of this team. \n\\* `closed` - visible to all members of this organization. \nDefault: `secret` \n**For a parent or child team:** \n\\* `closed` - visible to all members of this organization. \nDefault for child team: `closed`", - "enum": ["secret", "closed"] - }, - "permission": { - "type": "string", - "description": "**Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of: \n\\* `pull` - team members can pull, but not push to or administer newly-added repositories. \n\\* `push` - team members can pull and push, but not administer newly-added repositories. \n\\* `admin` - team members can pull, push and administer newly-added repositories.", - "enum": ["pull", "push", "admin"], - "default": "pull" - }, - "parent_team_id": { - "type": "integer", - "description": "The ID of a team to set as the parent team." - } - }, - "required": ["name"] - }, - "example": { - "name": "Justice League", - "description": "A great team", - "permission": "admin", - "privacy": "closed" - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/team-full" }, - "examples": { - "default": { "$ref": "#/components/examples/team-full" } - } - } - } - }, - "403": { "$ref": "#/components/responses/forbidden" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "teams", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/orgs/{org}/teams/{team_slug}": { - "get": { - "summary": "Get a team by name", - "description": "Gets a team using the team's `slug`. GitHub generates the `slug` from the team `name`.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}`.", - "tags": ["teams"], - "operationId": "teams/get-by-name", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/teams/#get-a-team-by-name" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/team_slug" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/team-full" }, - "examples": { - "default": { "$ref": "#/components/examples/team-full" } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "teams", - "subcategory": null - }, - "x-octokit": {} - }, - "patch": { - "summary": "Update a team", - "description": "To edit a team, the authenticated user must either be an organization owner or a team maintainer.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}`.", - "tags": ["teams"], - "operationId": "teams/update-in-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/teams/#update-a-team" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/team_slug" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The name of the team." - }, - "description": { - "type": "string", - "description": "The description of the team." - }, - "privacy": { - "type": "string", - "description": "The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. When a team is nested, the `privacy` for parent teams cannot be `secret`. The options are: \n**For a non-nested team:** \n\\* `secret` - only visible to organization owners and members of this team. \n\\* `closed` - visible to all members of this organization. \n**For a parent or child team:** \n\\* `closed` - visible to all members of this organization.", - "enum": ["secret", "closed"] - }, - "permission": { - "type": "string", - "description": "**Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of: \n\\* `pull` - team members can pull, but not push to or administer newly-added repositories. \n\\* `push` - team members can pull and push, but not administer newly-added repositories. \n\\* `admin` - team members can pull, push and administer newly-added repositories.", - "enum": ["pull", "push", "admin"], - "default": "pull" - }, - "parent_team_id": { - "type": "integer", - "description": "The ID of a team to set as the parent team." - } - }, - "required": ["name"] - }, - "example": { - "name": "new team name", - "description": "new team description", - "privacy": "closed" - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/team-full" }, - "examples": { - "default": { "$ref": "#/components/examples/team-full" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "teams", - "subcategory": null - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a team", - "description": "To delete a team, the authenticated user must be an organization owner or team maintainer.\n\nIf you are an organization owner, deleting a parent team will delete all of its child teams as well.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}`.", - "tags": ["teams"], - "operationId": "teams/delete-in-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/teams/#delete-a-team" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/team_slug" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "teams", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/orgs/{org}/teams/{team_slug}/discussions": { - "get": { - "summary": "List discussions", - "description": "List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions`.", - "tags": ["teams"], - "operationId": "teams/list-discussions-in-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/teams#list-discussions" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/team_slug" }, - { "$ref": "#/components/parameters/direction" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/team-discussion" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/team-discussion-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "category": "teams", - "subcategory": "discussions" - }, - "x-octokit": {} - }, - "post": { - "summary": "Create a discussion", - "description": "Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\nThis endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`.", - "tags": ["teams"], - "operationId": "teams/create-discussion-in-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/teams#create-a-discussion" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/team_slug" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "title": { - "type": "string", - "description": "The discussion post's title." - }, - "body": { - "type": "string", - "description": "The discussion post's body text." - }, - "private": { - "type": "boolean", - "description": "Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post.", - "default": false - } - }, - "required": ["title", "body"] - }, - "example": { - "title": "Our first team post", - "body": "Hi! This is an area for us to collaborate as a team." - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/team-discussion" }, - "examples": { - "default": { "$ref": "#/components/examples/team-discussion" } - } - } - } - } - }, - "x-github": { - "triggersNotification": true, - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "category": "teams", - "subcategory": "discussions" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": { - "get": { - "summary": "Get a discussion", - "description": "Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`.", - "tags": ["teams"], - "operationId": "teams/get-discussion-in-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/teams#get-a-discussion" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/team_slug" }, - { "$ref": "#/components/parameters/discussion-number" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/team-discussion" }, - "examples": { - "default": { "$ref": "#/components/examples/team-discussion" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "category": "teams", - "subcategory": "discussions" - }, - "x-octokit": {} - }, - "patch": { - "summary": "Update a discussion", - "description": "Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`.", - "tags": ["teams"], - "operationId": "teams/update-discussion-in-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/teams#update-a-discussion" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/team_slug" }, - { "$ref": "#/components/parameters/discussion-number" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "title": { - "type": "string", - "description": "The discussion post's title." - }, - "body": { - "type": "string", - "description": "The discussion post's body text." - } - } - }, - "example": { "title": "Welcome to our first team post" } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/team-discussion" }, - "examples": { - "default": { - "$ref": "#/components/examples/team-discussion-2" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "category": "teams", - "subcategory": "discussions" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a discussion", - "description": "Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`.", - "tags": ["teams"], - "operationId": "teams/delete-discussion-in-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/teams#delete-a-discussion" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/team_slug" }, - { "$ref": "#/components/parameters/discussion-number" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "teams", - "subcategory": "discussions" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": { - "get": { - "summary": "List discussion comments", - "description": "List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`.", - "tags": ["teams"], - "operationId": "teams/list-discussion-comments-in-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/teams#list-discussion-comments" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/team_slug" }, - { "$ref": "#/components/parameters/discussion-number" }, - { "$ref": "#/components/parameters/direction" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/team-discussion-comment" - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/team-discussion-comment-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "category": "teams", - "subcategory": "discussion-comments" - }, - "x-octokit": {} - }, - "post": { - "summary": "Create a discussion comment", - "description": "Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\nThis endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`.", - "tags": ["teams"], - "operationId": "teams/create-discussion-comment-in-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/teams#create-a-discussion-comment" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/team_slug" }, - { "$ref": "#/components/parameters/discussion-number" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "body": { - "type": "string", - "description": "The discussion comment's body text." - } - }, - "required": ["body"] - }, - "example": { "body": "Do you like apples?" } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/team-discussion-comment" - }, - "examples": { - "default": { - "$ref": "#/components/examples/team-discussion-comment" - } - } - } - } - } - }, - "x-github": { - "triggersNotification": true, - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "category": "teams", - "subcategory": "discussion-comments" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": { - "get": { - "summary": "Get a discussion comment", - "description": "Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`.", - "tags": ["teams"], - "operationId": "teams/get-discussion-comment-in-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/teams#get-a-discussion-comment" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/team_slug" }, - { "$ref": "#/components/parameters/discussion-number" }, - { "$ref": "#/components/parameters/comment-number" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/team-discussion-comment" - }, - "examples": { - "default": { - "$ref": "#/components/examples/team-discussion-comment" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "category": "teams", - "subcategory": "discussion-comments" - }, - "x-octokit": {} - }, - "patch": { - "summary": "Update a discussion comment", - "description": "Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`.", - "tags": ["teams"], - "operationId": "teams/update-discussion-comment-in-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/teams#update-a-discussion-comment" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/team_slug" }, - { "$ref": "#/components/parameters/discussion-number" }, - { "$ref": "#/components/parameters/comment-number" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "body": { - "type": "string", - "description": "The discussion comment's body text." - } - }, - "required": ["body"] - }, - "example": { "body": "Do you like pineapples?" } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/team-discussion-comment" - }, - "examples": { - "default": { - "$ref": "#/components/examples/team-discussion-comment-2" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "category": "teams", - "subcategory": "discussion-comments" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a discussion comment", - "description": "Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`.", - "tags": ["teams"], - "operationId": "teams/delete-discussion-comment-in-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/teams#delete-a-discussion-comment" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/team_slug" }, - { "$ref": "#/components/parameters/discussion-number" }, - { "$ref": "#/components/parameters/comment-number" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "teams", - "subcategory": "discussion-comments" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": { - "get": { - "summary": "List reactions for a team discussion comment", - "description": "List the reactions to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments/). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`.", - "tags": ["reactions"], - "operationId": "reactions/list-for-team-discussion-comment-in-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/team_slug" }, - { "$ref": "#/components/parameters/discussion-number" }, - { "$ref": "#/components/parameters/comment-number" }, - { - "name": "content", - "description": "Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion comment.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": [ - "+1", - "-1", - "laugh", - "confused", - "heart", - "hooray", - "rocket", - "eyes" - ] - } - }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/reaction" } - }, - "examples": { - "default": { "$ref": "#/components/examples/reaction-items" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "category": "reactions", - "subcategory": null - }, - "x-octokit": {} - }, - "post": { - "summary": "Create reaction for a team discussion comment", - "description": "Create a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion comment.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`.", - "tags": ["reactions"], - "operationId": "reactions/create-for-team-discussion-comment-in-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/team_slug" }, - { "$ref": "#/components/parameters/discussion-number" }, - { "$ref": "#/components/parameters/comment-number" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "content": { - "type": "string", - "description": "The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion comment.", - "enum": [ - "+1", - "-1", - "laugh", - "confused", - "heart", - "hooray", - "rocket", - "eyes" - ] - } - }, - "required": ["content"] - }, - "example": { "content": "heart" } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/reaction" }, - "examples": { - "default": { "$ref": "#/components/examples/reaction" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "category": "reactions", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}": { - "delete": { - "summary": "Delete team discussion comment reaction", - "description": "**Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`.\n\nDelete a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", - "tags": ["reactions"], - "operationId": "reactions/delete-for-team-discussion-comment", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/reactions/#delete-team-discussion-comment-reaction" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/team_slug" }, - { "$ref": "#/components/parameters/discussion-number" }, - { "$ref": "#/components/parameters/comment-number" }, - { "$ref": "#/components/parameters/reaction-id" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "category": "reactions", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": { - "get": { - "summary": "List reactions for a team discussion", - "description": "List the reactions to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`.", - "tags": ["reactions"], - "operationId": "reactions/list-for-team-discussion-in-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/reactions/#list-reactions-for-a-team-discussion" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/team_slug" }, - { "$ref": "#/components/parameters/discussion-number" }, - { - "name": "content", - "description": "Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": [ - "+1", - "-1", - "laugh", - "confused", - "heart", - "hooray", - "rocket", - "eyes" - ] - } - }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/reaction" } - }, - "examples": { - "default": { "$ref": "#/components/examples/reaction-items" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "category": "reactions", - "subcategory": null - }, - "x-octokit": {} - }, - "post": { - "summary": "Create reaction for a team discussion", - "description": "Create a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`.", - "tags": ["reactions"], - "operationId": "reactions/create-for-team-discussion-in-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/reactions/#create-reaction-for-a-team-discussion" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/team_slug" }, - { "$ref": "#/components/parameters/discussion-number" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "content": { - "type": "string", - "description": "The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion.", - "enum": [ - "+1", - "-1", - "laugh", - "confused", - "heart", - "hooray", - "rocket", - "eyes" - ] - } - }, - "required": ["content"] - }, - "example": { "content": "heart" } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/reaction" }, - "examples": { - "default": { "$ref": "#/components/examples/reaction" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [ - { - "required": true, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "category": "reactions", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}": { - "delete": { - "summary": "Delete team discussion reaction", - "description": "**Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions/:reaction_id`.\n\nDelete a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", - "tags": ["reactions"], - "operationId": "reactions/delete-for-team-discussion", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/reactions/#delete-team-discussion-reaction" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/team_slug" }, - { "$ref": "#/components/parameters/discussion-number" }, - { "$ref": "#/components/parameters/reaction-id" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "category": "reactions", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/orgs/{org}/teams/{team_slug}/invitations": { - "get": { - "summary": "List pending team invitations", - "description": "The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/invitations`.", - "tags": ["teams"], - "operationId": "teams/list-pending-invitations-in-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/teams#list-pending-team-invitations" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/team_slug" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/organization-invitation" - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/organization-invitation-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "teams", - "subcategory": "members" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/teams/{team_slug}/members": { - "get": { - "summary": "List team members", - "description": "Team members will include the members of child teams.\n\nTo list members in a team, the team must be visible to the authenticated user.", - "tags": ["teams"], - "operationId": "teams/list-members-in-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/teams#list-team-members" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/team_slug" }, - { - "name": "role", - "description": "Filters members returned by their role in the team. Can be one of: \n\\* `member` - normal members of the team. \n\\* `maintainer` - team maintainers. \n\\* `all` - all members of the team.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["member", "maintainer", "all"], - "default": "all" - } - }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/simple-user" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/simple-user-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "teams", - "subcategory": "members" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/teams/{team_slug}/memberships/{username}": { - "get": { - "summary": "Get team membership for a user", - "description": "Team members will include the members of child teams.\n\nTo get a user's membership with a team, the team must be visible to the authenticated user.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/memberships/{username}`.\n\n**Note:** The `role` for organization owners returns as `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/reference/teams#create-a-team).", - "tags": ["teams"], - "operationId": "teams/get-membership-for-user-in-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/team_slug" }, - { "$ref": "#/components/parameters/username" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/team-membership" }, - "examples": { - "response-if-user-has-an-active-membership-with-team": { - "$ref": "#/components/examples/team-membership-response-if-user-has-an-active-membership-with-team" - }, - "response-if-user-is-a-team-maintainer": { - "$ref": "#/components/examples/team-membership-response-if-user-is-a-team-maintainer" - }, - "response-if-user-has-a-pending-membership-with-team": { - "$ref": "#/components/examples/team-membership-response-if-user-has-a-pending-membership-with-team" - } - } - } - } - }, - "404": { "description": "Response if user has no team membership" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "teams", - "subcategory": "members" - }, - "x-octokit": {} - }, - "put": { - "summary": "Add or update team membership for a user", - "description": "Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nAdds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a team.\n\n**Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see \"[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/).\"\n\nAn organization owner can add someone who is not part of the team's organization to a team. When an organization owner adds someone to a team who is not an organization member, this endpoint will send an invitation to the person via email. This newly-created membership will be in the \"pending\" state until the person accepts the invitation, at which point the membership will transition to the \"active\" state and the user will be added as a member of the team.\n\nIf the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/memberships/{username}`.", - "tags": ["teams"], - "operationId": "teams/add-or-update-membership-for-user-in-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/team_slug" }, - { "$ref": "#/components/parameters/username" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "role": { - "type": "string", - "description": "The role that this user should have in the team. Can be one of: \n\\* `member` - a normal member of the team. \n\\* `maintainer` - a team maintainer. Able to add/remove other team members, promote other team members to team maintainer, and edit the team's name and description.", - "enum": ["member", "maintainer"], - "default": "member" - } - } - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/team-membership" }, - "examples": { - "response-if-users-membership-with-team-is-now-active": { - "$ref": "#/components/examples/team-membership-response-if-users-membership-with-team-is-now-active" - }, - "response-if-users-membership-with-team-is-now-pending": { - "$ref": "#/components/examples/team-membership-response-if-users-membership-with-team-is-now-pending" - } - } - } - } - }, - "403": { - "description": "Response if team synchronization is set up" - }, - "422": { - "description": "Response if you attempt to add an organization to a team", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { "type": "string" }, - "errors": { - "type": "array", - "items": { - "type": "object", - "properties": { - "code": { "type": "string" }, - "field": { "type": "string" }, - "resource": { "type": "string" } - } - } - } - } - }, - "examples": { - "response-if-you-attempt-to-add-an-organization-to-a-team": { - "value": { - "message": "Cannot add an organization as a member.", - "errors": [ - { - "code": "org", - "field": "user", - "resource": "TeamMember" - } - ] - } - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "teams", - "subcategory": "members" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Remove team membership for a user", - "description": "Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nTo remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team.\n\n**Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see \"[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/).\"\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/memberships/{username}`.", - "tags": ["teams"], - "operationId": "teams/remove-membership-for-user-in-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/team_slug" }, - { "$ref": "#/components/parameters/username" } - ], - "responses": { - "204": { "description": "Empty response" }, - "403": { "description": "Response if team synchronization is set up" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "teams", - "subcategory": "members" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/teams/{team_slug}/projects": { - "get": { - "summary": "List team projects", - "description": "Lists the organization projects for a team.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects`.", - "tags": ["teams"], - "operationId": "teams/list-projects-in-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/teams/#list-team-projects" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/team_slug" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/team-project" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/team-project-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "inertia", - "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" - } - ], - "category": "teams", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/orgs/{org}/teams/{team_slug}/projects/{project_id}": { - "get": { - "summary": "Check team permissions for a project", - "description": "Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects/{project_id}`.", - "tags": ["teams"], - "operationId": "teams/check-permissions-for-project-in-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/teams/#check-team-permissions-for-a-project" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/team_slug" }, - { "$ref": "#/components/parameters/project-id" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/team-project" }, - "examples": { - "default": { "$ref": "#/components/examples/team-project" } - } - } - } - }, - "404": { - "description": "Response if project is not managed by this team" - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "inertia", - "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" - } - ], - "category": "teams", - "subcategory": null - }, - "x-octokit": {} - }, - "put": { - "summary": "Add or update team project permissions", - "description": "Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/projects/{project_id}`.", - "tags": ["teams"], - "operationId": "teams/add-or-update-project-permissions-in-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/teams/#add-or-update-team-project-permissions" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/team_slug" }, - { "$ref": "#/components/parameters/project-id" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "permission": { - "type": "string", - "description": "The permission to grant to the team for this project. Can be one of: \n\\* `read` - team members can read, but not write to or administer this project. \n\\* `write` - team members can read and write, but not administer this project. \n\\* `admin` - team members can read, write and administer this project. \nDefault: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"", - "enum": ["read", "write", "admin"] - } - } - } - } - } - }, - "responses": { - "204": { "description": "Empty response" }, - "403": { - "description": "Response if the project is not owned by the organization", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { "type": "string" }, - "documentation_url": { "type": "string" } - } - }, - "examples": { - "response-if-the-project-is-not-owned-by-the-organization": { - "value": { - "message": "Must have admin rights to Repository.", - "documentation_url": "https://docs.github.com/rest/reference/teams#add-or-update-team-project-permissions" - } - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "inertia", - "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" - } - ], - "category": "teams", - "subcategory": null - }, - "x-octokit": {} - }, - "delete": { - "summary": "Remove a project from a team", - "description": "Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. This endpoint removes the project from the team, but does not delete the project.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/projects/{project_id}`.", - "tags": ["teams"], - "operationId": "teams/remove-project-in-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/teams/#remove-a-project-from-a-team" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/team_slug" }, - { "$ref": "#/components/parameters/project-id" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "teams", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/orgs/{org}/teams/{team_slug}/repos": { - "get": { - "summary": "List team repositories", - "description": "Lists a team's repositories visible to the authenticated user.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos`.", - "tags": ["teams"], - "operationId": "teams/list-repos-in-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/teams/#list-team-repositories" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/team_slug" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/minimal-repository" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/minimal-repository-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "teams", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": { - "get": { - "summary": "Check team permissions for a repository", - "description": "Checks whether a team has `admin`, `push`, `maintain`, `triage`, or `pull` permission for a repository. Repositories inherited through a parent team will also be checked.\n\nYou can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `application/vnd.github.v3.repository+json` accept header.\n\nIf a team doesn't have permission for the repository, you will receive a `404 Not Found` response status.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`.", - "tags": ["teams"], - "operationId": "teams/check-permissions-for-repo-in-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/teams/#check-team-permissions-for-a-repository" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/team_slug" }, - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { - "200": { - "description": "Alternative response with repository permissions", - "content": { - "application/vnd.github.v3.repository+json": { - "schema": { "$ref": "#/components/schemas/team-repository" }, - "examples": { - "alternative-response-with-repository-permissions": { - "$ref": "#/components/examples/team-repository-alternative-response-with-repository-permissions" - } - } - } - } - }, - "204": { - "description": "Response if team has permission for the repository" - }, - "404": { - "description": "Response if team does not have permission for the repository" - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "teams", - "subcategory": null - }, - "x-octokit": {} - }, - "put": { - "summary": "Add or update team repository permissions", - "description": "To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`.\n\nFor more information about the permission levels, see \"[Repository permission levels for an organization](https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)\".", - "tags": ["teams"], - "operationId": "teams/add-or-update-repo-permissions-in-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/teams/#add-or-update-team-repository-permissions" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/team_slug" }, - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "permission": { - "type": "string", - "description": "The permission to grant the team on this repository. Can be one of: \n\\* `pull` - team members can pull, but not push to or administer this repository. \n\\* `push` - team members can pull and push, but not administer this repository. \n\\* `admin` - team members can pull, push and administer this repository. \n\\* `maintain` - team members can manage the repository without access to sensitive or destructive actions. Recommended for project managers. Only applies to repositories owned by organizations. \n\\* `triage` - team members can proactively manage issues and pull requests without write access. Recommended for contributors who triage a repository. Only applies to repositories owned by organizations. \n \nIf no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository.", - "enum": ["pull", "push", "admin", "maintain", "triage"] - } - } - } - } - } - }, - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "teams", - "subcategory": null - }, - "x-octokit": {} - }, - "delete": { - "summary": "Remove a repository from a team", - "description": "If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`.", - "tags": ["teams"], - "operationId": "teams/remove-repo-in-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/teams/#remove-a-repository-from-a-team" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/team_slug" }, - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "teams", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/orgs/{org}/teams/{team_slug}/team-sync/group-mappings": { - "get": { - "summary": "List IdP groups for a team", - "description": "Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nList IdP groups connected to a team on GitHub.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/team-sync/group-mappings`.", - "tags": ["teams"], - "operationId": "teams/list-idp-groups-in-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/teams#list-idp-groups-for-a-team" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/team_slug" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/group-mapping" }, - "examples": { - "default": { "$ref": "#/components/examples/group-mapping-3" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": true, - "enabledForGitHubApps": false, - "previews": [], - "category": "teams", - "subcategory": "team-sync" - }, - "x-octokit": {} - }, - "patch": { - "summary": "Create or update IdP group connections", - "description": "Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nCreates, updates, or removes a connection between a team and an IdP group. When adding groups to a team, you must include all new and existing groups to avoid replacing existing groups with the new ones. Specifying an empty `groups` array will remove all connections for a team.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/team-sync/group-mappings`.", - "tags": ["teams"], - "operationId": "teams/create-or-update-idp-group-connections-in-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/teams#create-or-update-idp-group-connections" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/team_slug" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "groups": { - "type": "array", - "description": "The IdP groups you want to connect to a GitHub team. When updating, the new `groups` object will replace the original one. You must include any existing groups that you don't want to remove.", - "items": { - "type": "object", - "properties": { - "group_id": { - "type": "string", - "description": "ID of the IdP group." - }, - "group_name": { - "type": "string", - "description": "Name of the IdP group." - }, - "group_description": { - "type": "string", - "description": "Description of the IdP group." - } - }, - "required": [ - "group_id", - "group_name", - "group_description" - ] - } - } - }, - "required": ["groups"] - }, - "example": { - "groups": [ - { - "group_id": "123", - "group_name": "Octocat admins", - "group_description": "string" - } - ] - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/group-mapping" }, - "examples": { - "default": { "$ref": "#/components/examples/group-mapping" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": true, - "enabledForGitHubApps": false, - "previews": [], - "category": "teams", - "subcategory": "team-sync" - }, - "x-octokit": {} - } - }, - "/orgs/{org}/teams/{team_slug}/teams": { - "get": { - "summary": "List child teams", - "description": "Lists the child teams of the team specified by `{team_slug}`.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`.", - "tags": ["teams"], - "operationId": "teams/list-child-in-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/teams/#list-child-teams" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/team_slug" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "Response if child teams exist", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/team" } - }, - "examples": { - "response-if-child-teams-exist": { - "$ref": "#/components/examples/team-items-response-if-child-teams-exist" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "teams", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/projects/columns/cards/{card_id}": { - "get": { - "summary": "Get a project card", - "description": "", - "tags": ["projects"], - "operationId": "projects/get-card", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/projects#get-a-project-card" - }, - "parameters": [{ "$ref": "#/components/parameters/card_id" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/project-card" }, - "examples": { - "default": { "$ref": "#/components/examples/project-card" } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "inertia", - "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" - } - ], - "category": "projects", - "subcategory": "cards" - }, - "x-octokit": {} - }, - "patch": { - "summary": "Update an existing project card", - "description": "", - "tags": ["projects"], - "operationId": "projects/update-card", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/projects#update-a-project-card" - }, - "parameters": [{ "$ref": "#/components/parameters/card_id" }], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "note": { - "description": "The project card's note", - "example": "Update all gems", - "type": "string", - "nullable": true - }, - "archived": { - "description": "Whether or not the card is archived", - "example": false, - "type": "boolean" - } - } - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/project-card" }, - "examples": { - "default": { "$ref": "#/components/examples/project-card" } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed_simple" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "inertia", - "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" - } - ], - "category": "projects", - "subcategory": "cards" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a project card", - "description": "", - "tags": ["projects"], - "operationId": "projects/delete-card", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/projects#delete-a-project-card" - }, - "parameters": [{ "$ref": "#/components/parameters/card_id" }], - "responses": { - "204": { "description": "Empty response" }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { "type": "string" }, - "documentation_url": { "type": "string" }, - "errors": { "type": "array", "items": { "type": "string" } } - } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "inertia", - "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" - } - ], - "category": "projects", - "subcategory": "cards" - }, - "x-octokit": {} - } - }, - "/projects/columns/cards/{card_id}/moves": { - "post": { - "summary": "Move a project card", - "description": "", - "tags": ["projects"], - "operationId": "projects/move-card", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/projects#move-a-project-card" - }, - "parameters": [{ "$ref": "#/components/parameters/card_id" }], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "position": { - "description": "The position of the card in a column", - "example": "bottom", - "type": "string", - "pattern": "^(?:top|bottom|after:\\d+)$" - }, - "column_id": { - "description": "The unique identifier of the column the card should be moved to", - "example": 42, - "type": "integer" - } - }, - "required": ["position"], - "type": "object" - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": {}, - "additionalProperties": false - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { "type": "string" }, - "documentation_url": { "type": "string" }, - "errors": { - "type": "array", - "items": { - "type": "object", - "properties": { - "code": { "type": "string" }, - "message": { "type": "string" }, - "resource": { "type": "string" }, - "field": { "type": "string" } - } - } - } - } - } - } - } - }, - "422": { "$ref": "#/components/responses/validation_failed" }, - "503": { - "description": "Service Unavailable", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "code": { "type": "string" }, - "message": { "type": "string" }, - "documentation_url": { "type": "string" }, - "errors": { - "type": "array", - "items": { - "type": "object", - "properties": { - "code": { "type": "string" }, - "message": { "type": "string" } - } - } - } - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "inertia", - "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" - } - ], - "category": "projects", - "subcategory": "cards" - }, - "x-octokit": {} - } - }, - "/projects/columns/{column_id}": { - "get": { - "summary": "Get a project column", - "description": "", - "tags": ["projects"], - "operationId": "projects/get-column", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/projects#get-a-project-column" - }, - "parameters": [{ "$ref": "#/components/parameters/column_id" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/project-column" }, - "examples": { - "default": { "$ref": "#/components/examples/project-column" } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "inertia", - "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" - } - ], - "category": "projects", - "subcategory": "columns" - }, - "x-octokit": {} - }, - "patch": { - "summary": "Update an existing project column", - "description": "", - "tags": ["projects"], - "operationId": "projects/update-column", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/projects#update-a-project-column" - }, - "parameters": [{ "$ref": "#/components/parameters/column_id" }], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "name": { - "description": "Name of the project column", - "example": "Remaining tasks", - "type": "string" - } - }, - "required": ["name"], - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/project-column" }, - "examples": { - "default": { "$ref": "#/components/examples/project-column" } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "inertia", - "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" - } - ], - "category": "projects", - "subcategory": "columns" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a project column", - "description": "", - "tags": ["projects"], - "operationId": "projects/delete-column", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/projects#delete-a-project-column" - }, - "parameters": [{ "$ref": "#/components/parameters/column_id" }], - "responses": { - "204": { "description": "Empty response" }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "inertia", - "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" - } - ], - "category": "projects", - "subcategory": "columns" - }, - "x-octokit": {} - } - }, - "/projects/columns/{column_id}/cards": { - "get": { - "summary": "List project cards", - "description": "", - "tags": ["projects"], - "operationId": "projects/list-cards", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/projects#list-project-cards" - }, - "parameters": [ - { "$ref": "#/components/parameters/column_id" }, - { - "name": "archived_state", - "description": "Filters the project cards that are returned by the card's state. Can be one of `all`,`archived`, or `not_archived`.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["all", "archived", "not_archived"], - "default": "not_archived" - } - }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/project-card" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/project-card-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "inertia", - "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" - } - ], - "category": "projects", - "subcategory": "cards" - }, - "x-octokit": {} - }, - "post": { - "summary": "Create a project card", - "description": "**Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this reason, \"Issues\" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key.\n\nBe aware that the `id` of a pull request returned from \"Issues\" endpoints will be an _issue id_. To find out the pull request id, use the \"[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)\" endpoint.", - "tags": ["projects"], - "operationId": "projects/create-card", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/projects#create-a-project-card" - }, - "parameters": [{ "$ref": "#/components/parameters/column_id" }], - "requestBody": { - "content": { - "application/json": { - "schema": { - "oneOf": [ - { - "type": "object", - "properties": { - "note": { - "description": "The project card's note", - "example": "Update all gems", - "type": "string", - "nullable": true - } - }, - "required": ["note"] - }, - { - "type": "object", - "properties": { - "content_id": { - "description": "The unique identifier of the content associated with the card", - "example": 42, - "type": "integer" - }, - "content_type": { - "description": "The piece of content associated with the card", - "example": "PullRequest", - "type": "string" - } - }, - "required": ["content_id", "content_type"] - } - ] - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/project-card" }, - "examples": { - "default": { "$ref": "#/components/examples/project-card" } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "422": { - "description": "Validation Failed", - "content": { - "application/json": { - "schema": { - "oneOf": [ - { "$ref": "#/components/schemas/validation-error" }, - { "$ref": "#/components/schemas/validation-error-simple" } - ] - } - } - } - }, - "503": { - "description": "Service Unavailable", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "code": { "type": "string" }, - "message": { "type": "string" }, - "documentation_url": { "type": "string" }, - "errors": { - "type": "array", - "items": { - "type": "object", - "properties": { - "code": { "type": "string" }, - "message": { "type": "string" } - } - } - } - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "inertia", - "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" - } - ], - "category": "projects", - "subcategory": "cards" - }, - "x-octokit": {} - } - }, - "/projects/columns/{column_id}/moves": { - "post": { - "summary": "Move a project column", - "description": "", - "tags": ["projects"], - "operationId": "projects/move-column", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/projects#move-a-project-column" - }, - "parameters": [{ "$ref": "#/components/parameters/column_id" }], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "position": { - "description": "The position of the column in a project", - "example": "last", - "type": "string", - "pattern": "^(?:first|last|after:\\d+)$" - } - }, - "required": ["position"], - "type": "object" - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": {}, - "additionalProperties": false - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "422": { "$ref": "#/components/responses/validation_failed_simple" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "inertia", - "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" - } - ], - "category": "projects", - "subcategory": "columns" - }, - "x-octokit": {} - } - }, - "/projects/{project_id}": { - "get": { - "summary": "Get a project", - "description": "Gets a project by its `id`. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned.", - "tags": ["projects"], - "operationId": "projects/get", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/projects/#get-a-project" - }, - "parameters": [{ "$ref": "#/components/parameters/project-id" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/project" }, - "examples": { - "default": { "$ref": "#/components/examples/project-3" } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "inertia", - "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" - } - ], - "category": "projects", - "subcategory": null - }, - "x-octokit": {} - }, - "patch": { - "summary": "Update a project", - "description": "Updates a project board's information. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned.", - "operationId": "projects/update", - "tags": ["projects"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/projects/#update-a-project" - }, - "parameters": [{ "$ref": "#/components/parameters/project-id" }], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "name": { - "description": "Name of the project", - "example": "Week One Sprint", - "type": "string" - }, - "body": { - "description": "Body of the project", - "example": "This project represents the sprint of the first week in January", - "type": "string", - "nullable": true - }, - "state": { - "description": "State of the project; either 'open' or 'closed'", - "example": "open", - "type": "string" - }, - "organization_permission": { - "description": "The baseline permission that all organization members have on this project", - "type": "string", - "enum": ["read", "write", "admin", "none"] - }, - "private": { - "description": "Whether or not this project can be seen by everyone.", - "type": "boolean" - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/project" }, - "examples": { - "default": { "$ref": "#/components/examples/project-3" } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { "type": "string" }, - "documentation_url": { "type": "string" }, - "errors": { "type": "array", "items": { "type": "string" } } - } - } - } - } - }, - "404": { - "description": "Response if the authenticated user does not have access to the project" - }, - "410": { "$ref": "#/components/responses/gone" }, - "422": { "$ref": "#/components/responses/validation_failed_simple" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "inertia", - "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" - } - ], - "category": "projects", - "subcategory": null - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a project", - "description": "Deletes a project board. Returns a `404 Not Found` status if projects are disabled.", - "operationId": "projects/delete", - "tags": ["projects"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/projects/#delete-a-project" - }, - "parameters": [{ "$ref": "#/components/parameters/project-id" }], - "responses": { - "204": { "description": "Delete Success" }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { "type": "string" }, - "documentation_url": { "type": "string" }, - "errors": { "type": "array", "items": { "type": "string" } } - } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "410": { "$ref": "#/components/responses/gone" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "inertia", - "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" - } - ], - "category": "projects", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/projects/{project_id}/collaborators": { - "get": { - "summary": "List project collaborators", - "description": "Lists the collaborators for an organization project. For a project, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. You must be an organization owner or a project `admin` to list collaborators.", - "tags": ["projects"], - "operationId": "projects/list-collaborators", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/projects#list-project-collaborators" - }, - "parameters": [ - { "$ref": "#/components/parameters/project-id" }, - { - "name": "affiliation", - "description": "Filters the collaborators by their affiliation. Can be one of: \n\\* `outside`: Outside collaborators of a project that are not a member of the project's organization. \n\\* `direct`: Collaborators with permissions to a project, regardless of organization membership status. \n\\* `all`: All collaborators the authenticated user can see.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["outside", "direct", "all"], - "default": "all" - } - }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/simple-user" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/simple-user-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "415": { "$ref": "#/components/responses/preview_header_missing" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "inertia", - "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" - } - ], - "category": "projects", - "subcategory": "collaborators" - }, - "x-octokit": {} - } - }, - "/projects/{project_id}/collaborators/{username}": { - "put": { - "summary": "Add project collaborator", - "description": "Adds a collaborator to an organization project and sets their permission level. You must be an organization owner or a project `admin` to add a collaborator.", - "tags": ["projects"], - "operationId": "projects/add-collaborator", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/projects#add-project-collaborator" - }, - "parameters": [ - { "$ref": "#/components/parameters/project-id" }, - { "$ref": "#/components/parameters/username" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "permission": { - "description": "The permission to grant the collaborator.", - "enum": ["read", "write", "admin"], - "default": "write", - "example": "write", - "type": "string" - } - } - } - } - } - }, - "responses": { - "204": { "description": "Empty response" }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "415": { "$ref": "#/components/responses/preview_header_missing" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "inertia", - "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" - } - ], - "category": "projects", - "subcategory": "collaborators" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Remove user as a collaborator", - "description": "Removes a collaborator from an organization project. You must be an organization owner or a project `admin` to remove a collaborator.", - "tags": ["projects"], - "operationId": "projects/remove-collaborator", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/projects#remove-project-collaborator" - }, - "parameters": [ - { "$ref": "#/components/parameters/project-id" }, - { "$ref": "#/components/parameters/username" } - ], - "responses": { - "204": { "description": "Empty response" }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "415": { "$ref": "#/components/responses/preview_header_missing" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "inertia", - "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" - } - ], - "category": "projects", - "subcategory": "collaborators" - }, - "x-octokit": {} - } - }, - "/projects/{project_id}/collaborators/{username}/permission": { - "get": { - "summary": "Get project permission for a user", - "description": "Returns the collaborator's permission level for an organization project. Possible values for the `permission` key: `admin`, `write`, `read`, `none`. You must be an organization owner or a project `admin` to review a user's permission level.", - "tags": ["projects"], - "operationId": "projects/get-permission-for-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/projects#get-project-permission-for-a-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/project-id" }, - { "$ref": "#/components/parameters/username" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/repository-collaborator-permission" - }, - "examples": { - "default": { - "$ref": "#/components/examples/repository-collaborator-permission" - } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "415": { "$ref": "#/components/responses/preview_header_missing" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "inertia", - "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" - } - ], - "category": "projects", - "subcategory": "collaborators" - }, - "x-octokit": {} - } - }, - "/projects/{project_id}/columns": { - "get": { - "summary": "List project columns", - "description": "", - "tags": ["projects"], - "operationId": "projects/list-columns", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/projects#list-project-columns" - }, - "parameters": [ - { "$ref": "#/components/parameters/project-id" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/project-column" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/project-column-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "inertia", - "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" - } - ], - "category": "projects", - "subcategory": "columns" - }, - "x-octokit": {} - }, - "post": { - "summary": "Create a project column", - "description": "", - "tags": ["projects"], - "operationId": "projects/create-column", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/projects#create-a-project-column" - }, - "parameters": [{ "$ref": "#/components/parameters/project-id" }], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "name": { - "description": "Name of the project column", - "example": "Remaining tasks", - "type": "string" - } - }, - "required": ["name"], - "type": "object" - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/project-column" }, - "example": { - "url": "https://api.github.com/projects/columns/367", - "project_url": "https://api.github.com/projects/120", - "cards_url": "https://api.github.com/projects/columns/367/cards", - "id": 367, - "node_id": "MDEzOlByb2plY3RDb2x1bW4zNjc=", - "name": "To Do", - "created_at": "2016-09-05T14:18:44Z", - "updated_at": "2016-09-05T14:22:28Z" - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "422": { "$ref": "#/components/responses/validation_failed_simple" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "inertia", - "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" - } - ], - "category": "projects", - "subcategory": "columns" - }, - "x-octokit": {} - } - }, - "/rate_limit": { - "get": { - "summary": "Get rate limit status for the authenticated user", - "description": "**Note:** Accessing this endpoint does not count against your REST API rate limit.\n\n**Note:** The `rate` object is deprecated. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object.", - "tags": ["rate-limit"], - "operationId": "rate-limit/get", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/rate_limit/#get-rate-limit-status-for-the-authenticated-user" - }, - "parameters": [], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/rate-limit-overview" - }, - "examples": { - "default": { - "$ref": "#/components/examples/rate-limit-overview" - } - } - } - }, - "headers": { - "X-RateLimit-Limit": { - "$ref": "#/components/headers/x-rate-limit-limit" - }, - "X-RateLimit-Remaining": { - "$ref": "#/components/headers/x-rate-limit-remaining" - }, - "X-RateLimit-Reset": { - "$ref": "#/components/headers/x-rate-limit-reset" - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "rate-limit", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/reactions/{reaction_id}": { - "delete": { - "summary": "Delete a reaction (Legacy)", - "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Reactions API. We recommend migrating your existing code to use the new delete reactions endpoints. For more information, see this [blog post](https://developer.github.com/changes/2020-02-26-new-delete-reactions-endpoints/).\n\nOAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), when deleting a [team discussion](https://docs.github.com/rest/reference/teams#discussions) or [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments).", - "tags": ["reactions"], - "operationId": "reactions/delete-legacy", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/reactions/#delete-a-reaction-legacy" - }, - "parameters": [{ "$ref": "#/components/parameters/reaction-id" }], - "responses": { - "204": { "description": "Empty response" }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "410": { "$ref": "#/components/responses/gone" }, - "415": { "$ref": "#/components/responses/preview_header_missing" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "removalDate": "2021-02-21", - "deprecationDate": "2020-02-26", - "category": "reactions", - "subcategory": null - }, - "deprecated": true, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}": { - "get": { - "summary": "Get a repository", - "description": "When you pass the `scarlet-witch-preview` media type, requests to get a repository will also return the repository's code of conduct if it can be detected from the repository's code of conduct file.\n\nThe `parent` and `source` objects are present when the repository is a fork. `parent` is the repository this repository was forked from, `source` is the ultimate source for the network.", - "tags": ["repos"], - "operationId": "repos/get", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/repos/#get-a-repository" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/full-repository" }, - "examples": { - "default-response": { - "$ref": "#/components/examples/full-repository-default-response" - }, - "response-with-scarlet-witch-preview-media-type": { - "$ref": "#/components/examples/full-repository-response-with-scarlet-witch-preview-media-type" - } - } - } - } - }, - "301": { "$ref": "#/components/responses/moved_permanently" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "nebula", - "note": "You can set the visibility of a repository using the new `visibility` parameter in the [Repositories API](https://docs.github.com/rest/reference/repos/), and get a repository's visibility with a new response key. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes/).\n\nTo access repository visibility during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.nebula-preview+json\n```" - }, - { - "required": false, - "name": "scarlet-witch", - "note": "The Codes of Conduct API is currently available for developers to preview.\n\nTo access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.scarlet-witch-preview+json\n```" - } - ], - "category": "repos", - "subcategory": null - }, - "x-octokit": {} - }, - "patch": { - "summary": "Update a repository", - "description": "**Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/reference/repos#replace-all-repository-topics) endpoint.", - "tags": ["repos"], - "operationId": "repos/update", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/repos/#update-a-repository" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The name of the repository." - }, - "description": { - "type": "string", - "description": "A short description of the repository." - }, - "homepage": { - "type": "string", - "description": "A URL with more information about the repository." - }, - "private": { - "type": "boolean", - "description": "Either `true` to make the repository private or `false` to make it public. Default: `false`. \n**Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://help.github.com/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private. **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://help.github.com/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private.", - "default": false - }, - "visibility": { - "type": "string", - "description": "Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`. The `visibility` parameter overrides the `private` parameter when you use both along with the `nebula-preview` preview header.", - "enum": ["public", "private", "visibility", "internal"] - }, - "has_issues": { - "type": "boolean", - "description": "Either `true` to enable issues for this repository or `false` to disable them.", - "default": true - }, - "has_projects": { - "type": "boolean", - "description": "Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error.", - "default": true - }, - "has_wiki": { - "type": "boolean", - "description": "Either `true` to enable the wiki for this repository or `false` to disable it.", - "default": true - }, - "is_template": { - "type": "boolean", - "description": "Either `true` to make this repo available as a template repository or `false` to prevent it.", - "default": false - }, - "default_branch": { - "type": "string", - "description": "Updates the default branch for this repository." - }, - "allow_squash_merge": { - "type": "boolean", - "description": "Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging.", - "default": true - }, - "allow_merge_commit": { - "type": "boolean", - "description": "Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits.", - "default": true - }, - "allow_rebase_merge": { - "type": "boolean", - "description": "Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging.", - "default": true - }, - "delete_branch_on_merge": { - "type": "boolean", - "description": "Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion.", - "default": false - }, - "archived": { - "type": "boolean", - "description": "`true` to archive this repository. **Note**: You cannot unarchive repositories through the API.", - "default": false - } - } - }, - "example": { - "name": "Hello-World", - "description": "This is your first repository", - "homepage": "https://github.com", - "private": true, - "has_issues": true, - "has_projects": true, - "has_wiki": true - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/full-repository" }, - "examples": { - "default": { "$ref": "#/components/examples/full-repository" } - } - } - } - }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "nebula", - "note": "You can set the visibility of a repository using the new `visibility` parameter in the [Repositories API](https://docs.github.com/rest/reference/repos/), and get a repository's visibility with a new response key. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes/).\n\nTo access repository visibility during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.nebula-preview+json\n```" - }, - { - "required": false, - "name": "baptiste", - "note": "The `is_template` and `template_repository` keys are currently available for developer to preview. See [Create a repository using a template](https://docs.github.com/rest/reference/repos#create-a-repository-using-a-template) to learn how to create template repositories. To access these new response keys during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n\n```shell\napplication/vnd.github.baptiste-preview+json\n```" - } - ], - "category": "repos", - "subcategory": null - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a repository", - "description": "Deleting a repository requires admin access. If OAuth is used, the `delete_repo` scope is required.\n\nIf an organization owner has configured the organization to prevent members from deleting organization-owned\nrepositories, you will get a `403 Forbidden` response.", - "tags": ["repos"], - "operationId": "repos/delete", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/repos/#delete-a-repository" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { - "204": { "description": "Empty response" }, - "403": { - "description": "If an organization owner has configured the organization to prevent members from deleting organization-owned repositories, a member will get this response:", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { "type": "string" }, - "documentation_url": { "type": "string" } - } - }, - "example": { - "message": "Organization members cannot delete repositories.", - "documentation_url": "https://docs.github.com/rest/reference/repos#delete-a-repository" - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/actions/artifacts": { - "get": { - "summary": "List artifacts for a repository", - "description": "Lists all artifacts for a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", - "tags": ["actions"], - "operationId": "actions/list-artifacts-for-repo", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#list-artifacts-for-a-repository" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["total_count", "artifacts"], - "properties": { - "total_count": { "type": "integer" }, - "artifacts": { - "type": "array", - "items": { "$ref": "#/components/schemas/artifact" } - } - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/artifact-paginated" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "artifacts" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}": { - "get": { - "summary": "Get an artifact", - "description": "Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", - "tags": ["actions"], - "operationId": "actions/get-artifact", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#get-an-artifact" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/artifact_id" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/artifact" }, - "examples": { - "default": { "$ref": "#/components/examples/artifact" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "artifacts" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete an artifact", - "description": "Deletes an artifact for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.", - "tags": ["actions"], - "operationId": "actions/delete-artifact", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#delete-an-artifact" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/artifact_id" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "artifacts" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}": { - "get": { - "summary": "Download an artifact", - "description": "Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in\nthe response header to find the URL for the download. The `:archive_format` must be `zip`. Anyone with read access to\nthe repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope.\nGitHub Apps must have the `actions:read` permission to use this endpoint.", - "tags": ["actions"], - "operationId": "actions/download-artifact", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#download-an-artifact" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/artifact_id" }, - { - "name": "archive_format", - "in": "path", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "302": { - "description": "response", - "headers": { - "Location": { "$ref": "#/components/headers/location" } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "artifacts" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/actions/jobs/{job_id}": { - "get": { - "summary": "Get a job for a workflow run", - "description": "Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", - "tags": ["actions"], - "operationId": "actions/get-job-for-workflow-run", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#get-a-job-for-a-workflow-run" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/job_id" } - ], - "responses": { - "202": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/job" }, - "examples": { - "default": { "$ref": "#/components/examples/job" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "workflow-jobs" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/actions/jobs/{job_id}/logs": { - "get": { - "summary": "Download job logs for a workflow run", - "description": "Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look\nfor `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can\nuse this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must\nhave the `actions:read` permission to use this endpoint.", - "tags": ["actions"], - "operationId": "actions/download-job-logs-for-workflow-run", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#download-job-logs-for-a-workflow-run" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/job_id" } - ], - "responses": { - "302": { - "description": "response", - "headers": { - "Location": { - "example": "https://pipelines.actions.githubusercontent.com/ab1f3cCFPB34Nd6imvFxpGZH5hNlDp2wijMwl2gDoO0bcrrlJj/_apis/pipelines/1/jobs/19/signedlogcontent?urlExpires=2020-01-22T22%3A44%3A54.1389777Z&urlSigningMethod=HMACV1&urlSignature=2TUDfIg4fm36OJmfPy6km5QD5DLCOkBVzvhWZM8B%2BUY%3D", - "schema": { "type": "string" } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "workflow-jobs" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/actions/permissions": { - "get": { - "summary": "Get GitHub Actions permissions for a repository", - "description": "Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions allowed to run in the repository.\n\nYou must authenticate using an access token with the `repo` scope to use this\nendpoint. GitHub Apps must have the `administration` repository permission to use this API.", - "operationId": "actions/get-github-actions-permissions-repository", - "tags": ["actions"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#get-github-actions-permissions-for-a-repository" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/actions-repository-permissions" - }, - "examples": { - "default": { - "$ref": "#/components/examples/actions-repository-permissions" - } - } - } - } - } - }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": false, - "previews": [], - "category": "actions", - "subcategory": "permissions" - }, - "x-octokit": { - "changes": [ - { - "type": "OPERATION", - "date": "2020-11-10", - "before": { "operationId": "actions/get-repo-permissions" } - } - ] - } - }, - "put": { - "summary": "Set GitHub Actions permissions for a repository", - "description": "Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions in the repository.\n\nIf the repository belongs to an organization or enterprise that has set restrictive permissions at the organization or enterprise levels, such as `allowed_actions` to `selected` actions, then you cannot override them for the repository.\n\nYou must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API.", - "operationId": "actions/set-github-actions-permissions-repository", - "tags": ["actions"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#set-github-actions-permissions-for-a-repository" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { "204": { "description": "Empty response" } }, - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "enabled": { "$ref": "#/components/schemas/actions-enabled" }, - "allowed_actions": { - "$ref": "#/components/schemas/allowed-actions" - } - }, - "required": ["enabled"] - }, - "example": { "enabled": true, "allowed_actions": "selected" } - } - } - }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": false, - "previews": [], - "category": "actions", - "subcategory": "permissions" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/actions/permissions/selected-actions": { - "get": { - "summary": "Get allowed actions for a repository", - "description": "Gets the settings for selected actions that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository).\"\n\nYou must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API.", - "operationId": "actions/get-allowed-actions-repository", - "tags": ["actions"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#get-allowed-actions-for-a-repository" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/selected-actions" }, - "examples": { - "default": { - "$ref": "#/components/examples/selected-actions" - } - } - } - } - } - }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": false, - "previews": [], - "category": "actions", - "subcategory": "permissions" - }, - "x-octokit": {} - }, - "put": { - "summary": "Set allowed actions for a repository", - "description": "Sets the actions that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository).\"\n\nIf the repository belongs to an organization or enterprise that has `selected` actions set at the organization or enterprise levels, then you cannot override any of the allowed actions settings.\n\nTo use the `patterns_allowed` setting for private repositories, the repository must belong to an enterprise. If the repository does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories.\n\nYou must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API.", - "operationId": "actions/set-allowed-actions-repository", - "tags": ["actions"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#set-allowed-actions-for-a-repository" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { "204": { "description": "Empty response" } }, - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/selected-actions" }, - "examples": { - "selected_actions": { - "$ref": "#/components/examples/selected-actions" - } - } - } - } - }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": false, - "previews": [], - "category": "actions", - "subcategory": "permissions" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/actions/runners": { - "get": { - "summary": "List self-hosted runners for a repository", - "description": "Lists all self-hosted runners configured in a repository. You must authenticate using an access token with the `repo` scope to use this endpoint.", - "tags": ["actions"], - "operationId": "actions/list-self-hosted-runners-for-repo", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#list-self-hosted-runners-for-a-repository" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["total_count", "runners"], - "properties": { - "total_count": { "type": "integer" }, - "runners": { - "type": "array", - "items": { "$ref": "#/components/schemas/runner" } - } - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/runner-paginated" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "self-hosted-runners" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/actions/runners/downloads": { - "get": { - "summary": "List runner applications for a repository", - "description": "Lists binaries for the runner application that you can download and run.\n\nYou must authenticate using an access token with the `repo` scope to use this endpoint.", - "tags": ["actions"], - "operationId": "actions/list-runner-applications-for-repo", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#list-runner-applications-for-a-repository" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/runner-application" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/runner-application-items" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "self-hosted-runners" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/actions/runners/registration-token": { - "post": { - "summary": "Create a registration token for a repository", - "description": "Returns a token that you can pass to the `config` script. The token expires after one hour. You must authenticate\nusing an access token with the `repo` scope to use this endpoint.\n\n#### Example using registration token\n \nConfigure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint.\n\n```\n./config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN\n```", - "tags": ["actions"], - "operationId": "actions/create-registration-token-for-repo", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#create-a-registration-token-for-a-repository" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/authentication-token" - }, - "examples": { - "default": { - "$ref": "#/components/examples/authentication-token" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "self-hosted-runners" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/actions/runners/remove-token": { - "post": { - "summary": "Create a remove token for a repository", - "description": "Returns a token that you can pass to remove a self-hosted runner from a repository. The token expires after one hour.\nYou must authenticate using an access token with the `repo` scope to use this endpoint.\n\n#### Example using remove token\n \nTo remove your self-hosted runner from a repository, replace TOKEN with the remove token provided by this endpoint.\n\n```\n./config.sh remove --token TOKEN\n```", - "tags": ["actions"], - "operationId": "actions/create-remove-token-for-repo", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#create-a-remove-token-for-a-repository" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/authentication-token" - }, - "examples": { - "default": { - "$ref": "#/components/examples/authentication-token-2" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "self-hosted-runners" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/actions/runners/{runner_id}": { - "get": { - "summary": "Get a self-hosted runner for a repository", - "description": "Gets a specific self-hosted runner configured in a repository.\n\nYou must authenticate using an access token with the `repo` scope to use this\nendpoint.", - "tags": ["actions"], - "operationId": "actions/get-self-hosted-runner-for-repo", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#get-a-self-hosted-runner-for-a-repository" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/runner_id" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/runner" }, - "examples": { - "default": { "$ref": "#/components/examples/runner" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "self-hosted-runners" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a self-hosted runner from a repository", - "description": "Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists.\n\nYou must authenticate using an access token with the `repo`\nscope to use this endpoint.", - "tags": ["actions"], - "operationId": "actions/delete-self-hosted-runner-from-repo", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#delete-a-self-hosted-runner-from-a-repository" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/runner_id" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "self-hosted-runners" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/actions/runs": { - "get": { - "summary": "List workflow runs for a repository", - "description": "Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters).\n\nAnyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", - "tags": ["actions"], - "operationId": "actions/list-workflow-runs-for-repo", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#list-workflow-runs-for-a-repository" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/actor" }, - { "$ref": "#/components/parameters/workflow-run-branch" }, - { "$ref": "#/components/parameters/event" }, - { "$ref": "#/components/parameters/workflow-run-status" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["total_count", "workflow_runs"], - "properties": { - "total_count": { "type": "integer" }, - "workflow_runs": { - "type": "array", - "items": { "$ref": "#/components/schemas/workflow-run" } - } - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/workflow-run-paginated" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "workflow-runs" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/actions/runs/{run_id}": { - "get": { - "summary": "Get a workflow run", - "description": "Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", - "tags": ["actions"], - "operationId": "actions/get-workflow-run", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#get-a-workflow-run" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/run-id" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/workflow-run" }, - "examples": { - "default": { "$ref": "#/components/examples/workflow-run" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "workflow-runs" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a workflow run", - "description": "Delete a specific workflow run. Anyone with write access to the repository can use this endpoint. If the repository is\nprivate you must use an access token with the `repo` scope. GitHub Apps must have the `actions:write` permission to use\nthis endpoint.", - "operationId": "actions/delete-workflow-run", - "tags": ["actions"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#delete-a-workflow-run" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/run-id" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "workflow-runs" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts": { - "get": { - "summary": "List workflow run artifacts", - "description": "Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", - "tags": ["actions"], - "operationId": "actions/list-workflow-run-artifacts", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#list-workflow-run-artifacts" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/run-id" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["total_count", "artifacts"], - "properties": { - "total_count": { "type": "integer" }, - "artifacts": { - "type": "array", - "items": { "$ref": "#/components/schemas/artifact" } - } - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/artifact-paginated" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "artifacts" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/actions/runs/{run_id}/cancel": { - "post": { - "summary": "Cancel a workflow run", - "description": "Cancels a workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.", - "tags": ["actions"], - "operationId": "actions/cancel-workflow-run", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#cancel-a-workflow-run" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/run-id" } - ], - "responses": { "202": { "description": "response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "workflow-runs" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/actions/runs/{run_id}/jobs": { - "get": { - "summary": "List jobs for a workflow run", - "description": "Lists jobs for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters).", - "tags": ["actions"], - "operationId": "actions/list-jobs-for-workflow-run", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#list-jobs-for-a-workflow-run" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/run-id" }, - { - "name": "filter", - "description": "Filters jobs by their `completed_at` timestamp. Can be one of: \n\\* `latest`: Returns jobs from the most recent execution of the workflow run. \n\\* `all`: Returns all jobs for a workflow run, including from old executions of the workflow run.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["latest", "all"], - "default": "latest" - } - }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["total_count", "jobs"], - "properties": { - "total_count": { "type": "integer" }, - "jobs": { - "type": "array", - "items": { "$ref": "#/components/schemas/job" } - } - } - }, - "examples": { - "default": { "$ref": "#/components/examples/job-paginated" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "workflow-jobs" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/actions/runs/{run_id}/logs": { - "get": { - "summary": "Download workflow run logs", - "description": "Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for\n`Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use\nthis endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have\nthe `actions:read` permission to use this endpoint.", - "tags": ["actions"], - "operationId": "actions/download-workflow-run-logs", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#download-workflow-run-logs" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/run-id" } - ], - "responses": { - "302": { - "description": "response", - "headers": { - "Location": { - "example": "https://pipelines.actions.githubusercontent.com/ab1f3cCFPB34Nd6imvFxpGZH5hNlDp2wijMwl2gDoO0bcrrlJj/_apis/pipelines/1/runs/19/signedlogcontent?urlExpires=2020-01-22T22%3A44%3A54.1389777Z&urlSigningMethod=HMACV1&urlSignature=2TUDfIg4fm36OJmfPy6km5QD5DLCOkBVzvhWZM8B%2BUY%3D", - "schema": { "type": "string" } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "workflow-runs" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete workflow run logs", - "description": "Deletes all logs for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.", - "tags": ["actions"], - "operationId": "actions/delete-workflow-run-logs", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#delete-workflow-run-logs" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/run-id" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "workflow-runs" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/actions/runs/{run_id}/rerun": { - "post": { - "summary": "Re-run a workflow", - "description": "Re-runs your workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.", - "tags": ["actions"], - "operationId": "actions/re-run-workflow", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#re-run-a-workflow" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/run-id" } - ], - "responses": { "201": { "description": "response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "actions", - "subcategory": "workflow-runs" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/actions/runs/{run_id}/timing": { - "get": { - "summary": "Get workflow run usage", - "description": "Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see \"[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)\".\n\nAnyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", - "tags": ["actions"], - "operationId": "actions/get-workflow-run-usage", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#get-workflow-run-usage" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/run-id" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/workflow-run-usage" }, - "examples": { - "default": { - "$ref": "#/components/examples/workflow-run-usage" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "actions", - "subcategory": "workflow-runs" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/actions/secrets": { - "get": { - "summary": "List repository secrets", - "description": "Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint.", - "tags": ["actions"], - "operationId": "actions/list-repo-secrets", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#list-repository-secrets" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["total_count", "secrets"], - "properties": { - "total_count": { "type": "integer" }, - "secrets": { - "type": "array", - "items": { "$ref": "#/components/schemas/actions-secret" } - } - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/actions-secret-paginated" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "secrets" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/actions/secrets/public-key": { - "get": { - "summary": "Get a repository public key", - "description": "Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint.", - "tags": ["actions"], - "operationId": "actions/get-repo-public-key", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#get-a-repository-public-key" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/actions-public-key" }, - "examples": { - "default": { - "$ref": "#/components/examples/actions-public-key" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "secrets" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/actions/secrets/{secret_name}": { - "get": { - "summary": "Get a repository secret", - "description": "Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint.", - "tags": ["actions"], - "operationId": "actions/get-repo-secret", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#get-a-repository-secret" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/secret_name" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/actions-secret" }, - "examples": { - "default": { "$ref": "#/components/examples/actions-secret" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "secrets" - }, - "x-octokit": {} - }, - "put": { - "summary": "Create or update a repository secret", - "description": "Creates or updates a repository secret with an encrypted value. Encrypt your secret using\n[LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access\ntoken with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use\nthis endpoint.\n\n#### Example encrypting a secret using Node.js\n\nEncrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library.\n\n```\nconst sodium = require('tweetsodium');\n\nconst key = \"base64-encoded-public-key\";\nconst value = \"plain-text-secret\";\n\n// Convert the message and key to Uint8Array's (Buffer implements that interface)\nconst messageBytes = Buffer.from(value);\nconst keyBytes = Buffer.from(key, 'base64');\n\n// Encrypt using LibSodium.\nconst encryptedBytes = sodium.seal(messageBytes, keyBytes);\n\n// Base64 the encrypted secret\nconst encrypted = Buffer.from(encryptedBytes).toString('base64');\n\nconsole.log(encrypted);\n```\n\n\n#### Example encrypting a secret using Python\n\nEncrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/stable/public/#nacl-public-sealedbox) with Python 3.\n\n```\nfrom base64 import b64encode\nfrom nacl import encoding, public\n\ndef encrypt(public_key: str, secret_value: str) -> str:\n \"\"\"Encrypt a Unicode string using the public key.\"\"\"\n public_key = public.PublicKey(public_key.encode(\"utf-8\"), encoding.Base64Encoder())\n sealed_box = public.SealedBox(public_key)\n encrypted = sealed_box.encrypt(secret_value.encode(\"utf-8\"))\n return b64encode(encrypted).decode(\"utf-8\")\n```\n\n#### Example encrypting a secret using C#\n\nEncrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package.\n\n```\nvar secretValue = System.Text.Encoding.UTF8.GetBytes(\"mySecret\");\nvar publicKey = Convert.FromBase64String(\"2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU=\");\n\nvar sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey);\n\nConsole.WriteLine(Convert.ToBase64String(sealedPublicKeyBox));\n```\n\n#### Example encrypting a secret using Ruby\n\nEncrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem.\n\n```ruby\nrequire \"rbnacl\"\nrequire \"base64\"\n\nkey = Base64.decode64(\"+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=\")\npublic_key = RbNaCl::PublicKey.new(key)\n\nbox = RbNaCl::Boxes::Sealed.from_public_key(public_key)\nencrypted_secret = box.encrypt(\"my_secret\")\n\n# Print the base64 encoded secret\nputs Base64.strict_encode64(encrypted_secret)\n```", - "tags": ["actions"], - "operationId": "actions/create-or-update-repo-secret", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#create-or-update-a-repository-secret" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/secret_name" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "encrypted_value": { - "type": "string", - "description": "Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/reference/actions#get-a-repository-public-key) endpoint." - }, - "key_id": { - "type": "string", - "description": "ID of the key you used to encrypt the secret." - } - } - }, - "example": { - "encrypted_value": "****************************************************************************************", - "key_id": "012345678912345678" - } - } - } - }, - "responses": { - "201": { "description": "Response when creating a secret" }, - "204": { "description": "Response when updating a secret" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "secrets" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a repository secret", - "description": "Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint.", - "tags": ["actions"], - "operationId": "actions/delete-repo-secret", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#delete-a-repository-secret" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/secret_name" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "secrets" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/actions/workflows": { - "get": { - "summary": "List repository workflows", - "description": "Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", - "tags": ["actions"], - "operationId": "actions/list-repo-workflows", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#list-repository-workflows" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["total_count", "workflows"], - "properties": { - "total_count": { "type": "integer" }, - "workflows": { - "type": "array", - "items": { "$ref": "#/components/schemas/workflow" } - } - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/workflow-paginated" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "workflows" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/actions/workflows/{workflow_id}": { - "get": { - "summary": "Get a workflow", - "description": "Gets a specific workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", - "tags": ["actions"], - "operationId": "actions/get-workflow", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#get-a-workflow" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/workflow-id" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/workflow" }, - "examples": { - "default": { "$ref": "#/components/examples/workflow" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "workflows" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable": { - "put": { - "summary": "Disable a workflow", - "description": "Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`.\n\nYou must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.", - "tags": ["actions"], - "operationId": "actions/disable-workflow", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#disable-a-workflow" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/workflow-id" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "workflows" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches": { - "post": { - "summary": "Create a workflow dispatch event", - "description": "You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`.\n\nYou must configure your GitHub Actions workflow to run when the [`workflow_dispatch` webhook](/developers/webhooks-and-events/webhook-events-and-payloads#workflow_dispatch) event occurs. The `inputs` are configured in the workflow file. For more information about how to configure the `workflow_dispatch` event in the workflow file, see \"[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_dispatch).\"\n\nYou must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see \"[Creating a personal access token for the command line](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line).\"", - "operationId": "actions/create-workflow-dispatch", - "tags": ["actions"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#create-a-workflow-dispatch-event" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/workflow-id" } - ], - "responses": { "204": { "description": "Empty response" } }, - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "ref": { - "type": "string", - "description": "The git reference for the workflow. The reference can be a branch or tag name." - }, - "inputs": { - "type": "object", - "description": "Input keys and values configured in the workflow file. The maximum number of properties is 10. Any default properties configured in the workflow file will be used when `inputs` are omitted.", - "additionalProperties": { "type": "string" }, - "maxProperties": 10 - } - }, - "required": ["ref"] - }, - "example": { - "ref": "topic-branch", - "inputs": { - "name": "Mona the Octocat", - "home": "San Francisco, CA" - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "workflows" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable": { - "put": { - "summary": "Enable a workflow", - "description": "Enables a workflow and sets the `state` of the workflow to `active`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`.\n\nYou must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.", - "tags": ["actions"], - "operationId": "actions/enable-workflow", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#enable-a-workflow" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/workflow-id" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "workflows" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs": { - "get": { - "summary": "List workflow runs", - "description": "List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters).\n\nAnyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope.", - "tags": ["actions"], - "operationId": "actions/list-workflow-runs", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#list-workflow-runs" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/workflow-id" }, - { "$ref": "#/components/parameters/actor" }, - { "$ref": "#/components/parameters/workflow-run-branch" }, - { "$ref": "#/components/parameters/event" }, - { "$ref": "#/components/parameters/workflow-run-status" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["total_count", "workflow_runs"], - "properties": { - "total_count": { "type": "integer" }, - "workflow_runs": { - "type": "array", - "items": { "$ref": "#/components/schemas/workflow-run" } - } - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/workflow-run-paginated" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "actions", - "subcategory": "workflow-runs" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing": { - "get": { - "summary": "Get workflow usage", - "description": "Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see \"[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)\".\n\nYou can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", - "tags": ["actions"], - "operationId": "actions/get-workflow-usage", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/actions#get-workflow-usage" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/workflow-id" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/workflow-usage" }, - "examples": { - "default": { "$ref": "#/components/examples/workflow-usage" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "actions", - "subcategory": "workflows" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/assignees": { - "get": { - "summary": "List assignees", - "description": "Lists the [available assignees](https://help.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository.", - "tags": ["issues"], - "operationId": "issues/list-assignees", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/issues#list-assignees" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/simple-user" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/simple-user-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "issues", - "subcategory": "assignees" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/assignees/{assignee}": { - "get": { - "summary": "Check if a user can be assigned", - "description": "Checks if a user has permission to be assigned to an issue in this repository.\n\nIf the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned.\n\nOtherwise a `404` status code is returned.", - "tags": ["issues"], - "operationId": "issues/check-user-can-be-assigned", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/issues#check-if-a-user-can-be-assigned" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "assignee", - "in": "path", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "204": { - "description": "If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned." - }, - "404": { - "description": "Otherwise a `404` status code is returned.", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/basic-error" } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "issues", - "subcategory": "assignees" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/automated-security-fixes": { - "put": { - "summary": "Enable automated security fixes", - "description": "Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see \"[Configuring automated security fixes](https://help.github.com/en/articles/configuring-automated-security-fixes)\".", - "tags": ["repos"], - "operationId": "repos/enable-automated-security-fixes", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/repos/#enable-automated-security-fixes" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "london", - "note": "Enabling or disabling automated security fixes is currently available for developers to preview. To access this new endpoint during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.london-preview+json\n```" - } - ], - "category": "repos", - "subcategory": null - }, - "x-octokit": {} - }, - "delete": { - "summary": "Disable automated security fixes", - "description": "Disables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see \"[Configuring automated security fixes](https://help.github.com/en/articles/configuring-automated-security-fixes)\".", - "tags": ["repos"], - "operationId": "repos/disable-automated-security-fixes", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/repos/#disable-automated-security-fixes" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "london", - "note": "Enabling or disabling automated security fixes is currently available for developers to preview. To access this new endpoint during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.london-preview+json\n```" - } - ], - "category": "repos", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/branches": { - "get": { - "summary": "List branches", - "description": "", - "tags": ["repos"], - "operationId": "repos/list-branches", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#list-branches" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "protected", - "description": "Setting to `true` returns only protected branches. When set to `false`, only unprotected branches are returned. Omitting this parameter returns all branches.", - "in": "query", - "required": false, - "schema": { "type": "boolean" } - }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/short-branch" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/short-branch-items" - }, - "with-protection": { - "$ref": "#/components/examples/short-branch-with-protection-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "branches" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/branches/{branch}": { - "get": { - "summary": "Get a branch", - "description": "", - "tags": ["repos"], - "operationId": "repos/get-branch", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#get-a-branch" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/branch" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/branch-with-protection" - }, - "examples": { - "default": { - "$ref": "#/components/examples/branch-with-protection" - } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "415": { "$ref": "#/components/responses/preview_header_missing" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "branches" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/branches/{branch}/protection": { - "get": { - "summary": "Get branch protection", - "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.", - "tags": ["repos"], - "operationId": "repos/get-branch-protection", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#get-branch-protection" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/branch" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/branch-protection" }, - "examples": { - "default": { - "$ref": "#/components/examples/branch-protection" - } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "luke-cage", - "note": "The Protected Branches API now has a setting for requiring a specified number of approving pull request reviews before merging. This feature is currently available for developers to preview. See the [blog post](https://developer.github.com/changes/2018-03-16-protected-branches-required-approving-reviews) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.luke-cage-preview+json\n```" - } - ], - "category": "repos", - "subcategory": "branches" - }, - "x-octokit": {} - }, - "put": { - "summary": "Update branch protection", - "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nProtecting a branch requires admin or owner permissions to the repository.\n\n**Note**: Passing new arrays of `users` and `teams` replaces their previous values.\n\n**Note**: The list of users, apps, and teams in total is limited to 100 items.", - "tags": ["repos"], - "operationId": "repos/update-branch-protection", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#update-branch-protection" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/branch" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "required_status_checks": { - "type": "object", - "description": "Require status checks to pass before merging. Set to `null` to disable.", - "nullable": true, - "properties": { - "strict": { - "type": "boolean", - "description": "Require branches to be up to date before merging." - }, - "contexts": { - "type": "array", - "description": "The list of status checks to require in order to merge into this branch", - "items": { "type": "string" } - } - }, - "required": ["strict", "contexts"] - }, - "enforce_admins": { - "type": "boolean", - "description": "Enforce all configured restrictions for administrators. Set to `true` to enforce required status checks for repository administrators. Set to `null` to disable.", - "nullable": true - }, - "required_pull_request_reviews": { - "type": "object", - "description": "Require at least one approving review on a pull request, before merging. Set to `null` to disable.", - "nullable": true, - "properties": { - "dismissal_restrictions": { - "type": "object", - "description": "Specify which users and teams can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories.", - "properties": { - "users": { - "type": "array", - "description": "The list of user `login`s with dismissal access", - "items": { "type": "string" } - }, - "teams": { - "type": "array", - "description": "The list of team `slug`s with dismissal access", - "items": { "type": "string" } - } - } - }, - "dismiss_stale_reviews": { - "type": "boolean", - "description": "Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit." - }, - "require_code_owner_reviews": { - "type": "boolean", - "description": "Blocks merging pull requests until [code owners](https://help.github.com/articles/about-code-owners/) review them." - }, - "required_approving_review_count": { - "type": "integer", - "description": "Specify the number of reviewers required to approve pull requests. Use a number between 1 and 6." - } - } - }, - "restrictions": { - "type": "object", - "description": "Restrict who can push to the protected branch. User, app, and team `restrictions` are only available for organization-owned repositories. Set to `null` to disable.", - "nullable": true, - "properties": { - "users": { - "type": "array", - "description": "The list of user `login`s with push access", - "items": { "type": "string" } - }, - "teams": { - "type": "array", - "description": "The list of team `slug`s with push access", - "items": { "type": "string" } - }, - "apps": { - "type": "array", - "description": "The list of app `slug`s with push access", - "items": { "type": "string" } - } - }, - "required": ["users", "teams"] - }, - "required_linear_history": { - "type": "boolean", - "description": "Enforces a linear commit Git history, which prevents anyone from pushing merge commits to a branch. Set to `true` to enforce a linear commit history. Set to `false` to disable a linear commit Git history. Your repository must allow squash merging or rebase merging before you can enable a linear commit history. Default: `false`. For more information, see \"[Requiring a linear commit history](https://help.github.com/github/administering-a-repository/requiring-a-linear-commit-history)\" in the GitHub Help documentation." - }, - "allow_force_pushes": { - "type": "boolean", - "description": "Permits force pushes to the protected branch by anyone with write access to the repository. Set to `true` to allow force pushes. Set to `false` or `null` to block force pushes. Default: `false`. For more information, see \"[Enabling force pushes to a protected branch](https://help.github.com/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)\" in the GitHub Help documentation.\"", - "nullable": true - }, - "allow_deletions": { - "type": "boolean", - "description": "Allows deletion of the protected branch by anyone with write access to the repository. Set to `false` to prevent deletion of the protected branch. Default: `false`. For more information, see \"[Enabling force pushes to a protected branch](https://help.github.com/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)\" in the GitHub Help documentation." - } - }, - "required": [ - "required_status_checks", - "enforce_admins", - "required_pull_request_reviews", - "restrictions" - ] - }, - "example": { - "required_status_checks": { - "strict": true, - "contexts": ["continuous-integration/travis-ci"] - }, - "enforce_admins": true, - "required_pull_request_reviews": { - "dismissal_restrictions": { - "users": ["octocat"], - "teams": ["justice-league"] - }, - "dismiss_stale_reviews": true, - "require_code_owner_reviews": true, - "required_approving_review_count": 2 - }, - "restrictions": { - "users": ["octocat"], - "teams": ["justice-league"], - "apps": ["super-ci"] - }, - "required_linear_history": true, - "allow_force_pushes": true, - "allow_deletions": true - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/protected-branch" } - } - } - }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "415": { "$ref": "#/components/responses/preview_header_missing" }, - "422": { "$ref": "#/components/responses/validation_failed_simple" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "luke-cage", - "note": "The Protected Branches API now has a setting for requiring a specified number of approving pull request reviews before merging. This feature is currently available for developers to preview. See the [blog post](https://developer.github.com/changes/2018-03-16-protected-branches-required-approving-reviews) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.luke-cage-preview+json\n```" - } - ], - "category": "repos", - "subcategory": "branches" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete branch protection", - "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.", - "tags": ["repos"], - "operationId": "repos/delete-branch-protection", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#delete-branch-protection" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/branch" } - ], - "responses": { - "204": { "description": "Empty response" }, - "403": { "$ref": "#/components/responses/forbidden" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "branches" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": { - "get": { - "summary": "Get admin branch protection", - "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.", - "tags": ["repos"], - "operationId": "repos/get-admin-branch-protection", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#get-admin-branch-protection" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/branch" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/protected-branch-admin-enforced" - }, - "examples": { - "default": { - "$ref": "#/components/examples/protected-branch-admin-enforced-2" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "branches" - }, - "x-octokit": {} - }, - "post": { - "summary": "Set admin branch protection", - "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nAdding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled.", - "tags": ["repos"], - "operationId": "repos/set-admin-branch-protection", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#set-admin-branch-protection" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/branch" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/protected-branch-admin-enforced" - }, - "examples": { - "default": { - "$ref": "#/components/examples/protected-branch-admin-enforced-2" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "branches" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete admin branch protection", - "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nRemoving admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled.", - "tags": ["repos"], - "operationId": "repos/delete-admin-branch-protection", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#delete-admin-branch-protection" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/branch" } - ], - "responses": { - "204": { "description": "No Content" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "branches" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": { - "get": { - "summary": "Get pull request review protection", - "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.", - "tags": ["repos"], - "operationId": "repos/get-pull-request-review-protection", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#get-pull-request-review-protection" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/branch" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/vnd.github.luke-cage-preview+json": { - "schema": { - "$ref": "#/components/schemas/protected-branch-pull-request-review" - }, - "examples": { - "default": { - "$ref": "#/components/examples/protected-branch-pull-request-review" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "luke-cage", - "note": "The Protected Branches API now has a setting for requiring a specified number of approving pull request reviews before merging. This feature is currently available for developers to preview. See the [blog post](https://developer.github.com/changes/2018-03-16-protected-branches-required-approving-reviews) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.luke-cage-preview+json\n```" - } - ], - "category": "repos", - "subcategory": "branches" - }, - "x-octokit": {} - }, - "patch": { - "summary": "Update pull request review protection", - "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nUpdating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled.\n\n**Note**: Passing new arrays of `users` and `teams` replaces their previous values.", - "tags": ["repos"], - "operationId": "repos/update-pull-request-review-protection", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#update-pull-request-review-protection" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/branch" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "dismissal_restrictions": { - "type": "object", - "description": "Specify which users and teams can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories.", - "properties": { - "users": { - "type": "array", - "description": "The list of user `login`s with dismissal access", - "items": { "type": "string" } - }, - "teams": { - "type": "array", - "description": "The list of team `slug`s with dismissal access", - "items": { "type": "string" } - } - } - }, - "dismiss_stale_reviews": { - "type": "boolean", - "description": "Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit." - }, - "require_code_owner_reviews": { - "type": "boolean", - "description": "Blocks merging pull requests until [code owners](https://help.github.com/articles/about-code-owners/) have reviewed." - }, - "required_approving_review_count": { - "type": "integer", - "description": "Specifies the number of reviewers required to approve pull requests. Use a number between 1 and 6." - } - } - }, - "example": { - "dismissal_restrictions": { - "users": ["octocat"], - "teams": ["justice-league"] - }, - "dismiss_stale_reviews": true, - "require_code_owner_reviews": true, - "required_approving_review_count": 2 - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/protected-branch-pull-request-review" - }, - "examples": { - "default": { - "$ref": "#/components/examples/protected-branch-pull-request-review" - } - } - } - } - }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "luke-cage", - "note": "The Protected Branches API now has a setting for requiring a specified number of approving pull request reviews before merging. This feature is currently available for developers to preview. See the [blog post](https://developer.github.com/changes/2018-03-16-protected-branches-required-approving-reviews) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.luke-cage-preview+json\n```" - } - ], - "category": "repos", - "subcategory": "branches" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete pull request review protection", - "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.", - "tags": ["repos"], - "operationId": "repos/delete-pull-request-review-protection", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#delete-pull-request-review-protection" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/branch" } - ], - "responses": { - "204": { "description": "No Content" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "branches" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": { - "get": { - "summary": "Get commit signature protection", - "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nWhen authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of `true` indicates you must sign commits on this branch. For more information, see [Signing commits with GPG](https://help.github.com/articles/signing-commits-with-gpg) in GitHub Help.\n\n**Note**: You must enable branch protection to require signed commits.", - "tags": ["repos"], - "operationId": "repos/get-commit-signature-protection", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#get-commit-signature-protection" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/branch" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/protected-branch-admin-enforced" - }, - "examples": { - "default": { - "$ref": "#/components/examples/protected-branch-admin-enforced" - } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "zzzax", - "note": "Protected Branches API can now manage a setting for requiring signed commits. This feature is currently available for developers to preview. See the [blog post](https://developer.github.com/changes/2018-02-22-protected-branches-required-signatures) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.zzzax-preview+json\n```" - } - ], - "category": "repos", - "subcategory": "branches" - }, - "x-octokit": {} - }, - "post": { - "summary": "Create commit signature protection", - "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nWhen authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits.", - "tags": ["repos"], - "operationId": "repos/create-commit-signature-protection", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#create-commit-signature-protection" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/branch" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/protected-branch-admin-enforced" - }, - "examples": { - "default": { - "$ref": "#/components/examples/protected-branch-admin-enforced" - } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "zzzax", - "note": "Protected Branches API can now manage a setting for requiring signed commits. This feature is currently available for developers to preview. See the [blog post](https://developer.github.com/changes/2018-02-22-protected-branches-required-signatures) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.zzzax-preview+json\n```" - } - ], - "category": "repos", - "subcategory": "branches" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete commit signature protection", - "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nWhen authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits.", - "tags": ["repos"], - "operationId": "repos/delete-commit-signature-protection", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#delete-commit-signature-protection" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/branch" } - ], - "responses": { - "204": { "description": "No Content" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "zzzax", - "note": "Protected Branches API can now manage a setting for requiring signed commits. This feature is currently available for developers to preview. See the [blog post](https://developer.github.com/changes/2018-02-22-protected-branches-required-signatures) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.zzzax-preview+json\n```" - } - ], - "category": "repos", - "subcategory": "branches" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": { - "get": { - "summary": "Get status checks protection", - "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.", - "tags": ["repos"], - "operationId": "repos/get-status-checks-protection", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#get-status-checks-protection" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/branch" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/status-check-policy" - }, - "examples": { - "default": { - "$ref": "#/components/examples/status-check-policy" - } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "branches" - }, - "x-octokit": {} - }, - "patch": { - "summary": "Update status check protection", - "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nUpdating required status checks requires admin or owner permissions to the repository and branch protection to be enabled.", - "tags": ["repos"], - "operationId": "repos/update-status-check-protection", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#update-status-check-potection" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/branch" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "strict": { - "type": "boolean", - "description": "Require branches to be up to date before merging." - }, - "contexts": { - "type": "array", - "description": "The list of status checks to require in order to merge into this branch", - "items": { "type": "string" } - } - } - }, - "example": { - "strict": true, - "contexts": ["continuous-integration/travis-ci"] - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/status-check-policy" - }, - "examples": { - "default": { - "$ref": "#/components/examples/status-check-policy" - } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "branches" - }, - "x-octokit": { - "changes": [ - { - "type": "OPERATION", - "date": "2020-09-17", - "before": { "operationId": "repos/update-status-check-potection" } - } - ] - } - }, - "delete": { - "summary": "Remove status check protection", - "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.", - "tags": ["repos"], - "operationId": "repos/remove-status-check-protection", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#remove-status-check-protection" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/branch" } - ], - "responses": { "204": { "description": "No Content" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "branches" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": { - "get": { - "summary": "Get all status check contexts", - "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.", - "tags": ["repos"], - "operationId": "repos/get-all-status-check-contexts", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#get-all-status-check-contexts" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/branch" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "type": "array", "items": { "type": "string" } }, - "example": ["continuous-integration/travis-ci"] - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "branches" - }, - "x-octokit": {} - }, - "post": { - "summary": "Add status check contexts", - "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.", - "tags": ["repos"], - "operationId": "repos/add-status-check-contexts", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#add-status-check-contexts" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/branch" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "contexts": { - "type": "array", - "description": "contexts parameter", - "items": { "type": "string" } - } - }, - "required": ["contexts"], - "example": { "contexts": ["contexts"] } - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "type": "array", "items": { "type": "string" } }, - "example": [ - "continuous-integration/travis-ci", - "continuous-integration/jenkins" - ] - } - } - }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "requestBodyParameterName": "contexts", - "category": "repos", - "subcategory": "branches" - }, - "x-octokit": {} - }, - "put": { - "summary": "Set status check contexts", - "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.", - "tags": ["repos"], - "operationId": "repos/set-status-check-contexts", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#set-status-check-contexts" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/branch" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "contexts": { - "type": "array", - "description": "contexts parameter", - "items": { "type": "string" } - } - }, - "required": ["contexts"], - "example": { "contexts": ["contexts"] } - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "type": "array", "items": { "type": "string" } }, - "example": ["continuous-integration/travis-ci"] - } - } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "requestBodyParameterName": "contexts", - "category": "repos", - "subcategory": "branches" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Remove status check contexts", - "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.", - "tags": ["repos"], - "operationId": "repos/remove-status-check-contexts", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#remove-status-check-contexts" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/branch" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "contexts": { - "type": "array", - "description": "contexts parameter", - "items": { "type": "string" } - } - }, - "required": ["contexts"], - "example": { "contexts": ["contexts"] } - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "type": "array", "items": { "type": "string" } }, - "example": ["continuous-integration/travis-ci"] - } - } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "requestBodyParameterName": "contexts", - "category": "repos", - "subcategory": "branches" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions": { - "get": { - "summary": "Get access restrictions", - "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nLists who has access to this protected branch.\n\n**Note**: Users, apps, and teams `restrictions` are only available for organization-owned repositories.", - "tags": ["repos"], - "operationId": "repos/get-access-restrictions", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#get-access-restrictions" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/branch" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/branch-restriction-policy" - }, - "examples": { - "default": { - "$ref": "#/components/examples/branch-restriction-policy" - } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "branches" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete access restrictions", - "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nDisables the ability to restrict who can push to this branch.", - "tags": ["repos"], - "operationId": "repos/delete-access-restrictions", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#delete-access-restrictions" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/branch" } - ], - "responses": { "204": { "description": "No Content" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "branches" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": { - "get": { - "summary": "Get apps with access to the protected branch", - "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nLists the GitHub Apps that have push access to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch.", - "tags": ["repos"], - "operationId": "repos/get-apps-with-access-to-protected-branch", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#list-apps-with-access-to-the-protected-branch" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/branch" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/integration" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/integration-items" - } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "branches" - }, - "x-octokit": {} - }, - "post": { - "summary": "Add app access restrictions", - "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nGrants the specified apps push access for this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch.\n\n| Type | Description |\n| ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. |", - "tags": ["repos"], - "operationId": "repos/add-app-access-restrictions", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#add-app-access-restrictions" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/branch" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "apps": { - "type": "array", - "description": "apps parameter", - "items": { "type": "string" } - } - }, - "required": ["apps"], - "example": { "apps": ["my-app"] } - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/integration" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/integration-items" - } - } - } - } - }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "requestBodyParameterName": "apps", - "category": "repos", - "subcategory": "branches" - }, - "x-octokit": {} - }, - "put": { - "summary": "Set app access restrictions", - "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nReplaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch.\n\n| Type | Description |\n| ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. |", - "tags": ["repos"], - "operationId": "repos/set-app-access-restrictions", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#set-app-access-restrictions" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/branch" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "apps": { - "type": "array", - "description": "apps parameter", - "items": { "type": "string" } - } - }, - "required": ["apps"], - "example": { "apps": ["my-app"] } - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/integration" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/integration-items" - } - } - } - } - }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "requestBodyParameterName": "apps", - "category": "repos", - "subcategory": "branches" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Remove app access restrictions", - "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nRemoves the ability of an app to push to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch.\n\n| Type | Description |\n| ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. |", - "tags": ["repos"], - "operationId": "repos/remove-app-access-restrictions", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#remove-app-access-restrictions" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/branch" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "apps": { - "type": "array", - "description": "apps parameter", - "items": { "type": "string" } - } - }, - "required": ["apps"], - "example": { "apps": ["my-app"] } - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/integration" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/integration-items" - } - } - } - } - }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "requestBodyParameterName": "apps", - "category": "repos", - "subcategory": "branches" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": { - "get": { - "summary": "Get teams with access to the protected branch", - "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nLists the teams who have push access to this branch. The list includes child teams.", - "tags": ["repos"], - "operationId": "repos/get-teams-with-access-to-protected-branch", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#list-teams-with-access-to-the-protected-branch" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/branch" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/team" } - }, - "examples": { - "default": { "$ref": "#/components/examples/team-items" } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "branches" - }, - "x-octokit": {} - }, - "post": { - "summary": "Add team access restrictions", - "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nGrants the specified teams push access for this branch. You can also give push access to child teams.\n\n| Type | Description |\n| ------- | ------------------------------------------------------------------------------------------------------------------------------------------ |\n| `array` | The teams that can have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. |", - "tags": ["repos"], - "operationId": "repos/add-team-access-restrictions", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#add-team-access-restrictions" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/branch" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "teams": { - "type": "array", - "description": "teams parameter", - "items": { "type": "string" } - } - }, - "required": ["teams"], - "example": { "teams": ["my-team"] } - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/team" } - }, - "examples": { - "default": { "$ref": "#/components/examples/team-items" } - } - } - } - }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "requestBodyParameterName": "teams", - "category": "repos", - "subcategory": "branches" - }, - "x-octokit": {} - }, - "put": { - "summary": "Set team access restrictions", - "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nReplaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams.\n\n| Type | Description |\n| ------- | ------------------------------------------------------------------------------------------------------------------------------------------ |\n| `array` | The teams that can have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. |", - "tags": ["repos"], - "operationId": "repos/set-team-access-restrictions", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#set-team-access-restrictions" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/branch" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "teams": { - "type": "array", - "description": "teams parameter", - "items": { "type": "string" } - } - }, - "required": ["teams"], - "example": { "teams": ["my-team"] } - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/team" } - }, - "examples": { - "default": { "$ref": "#/components/examples/team-items" } - } - } - } - }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "requestBodyParameterName": "teams", - "category": "repos", - "subcategory": "branches" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Remove team access restrictions", - "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nRemoves the ability of a team to push to this branch. You can also remove push access for child teams.\n\n| Type | Description |\n| ------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `array` | Teams that should no longer have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. |", - "tags": ["repos"], - "operationId": "repos/remove-team-access-restrictions", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#remove-team-access-restrictions" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/branch" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "teams": { - "type": "array", - "description": "teams parameter", - "items": { "type": "string" } - } - }, - "required": ["teams"], - "example": { "teams": ["my-team"] } - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/team" } - }, - "examples": { - "default": { "$ref": "#/components/examples/team-items" } - } - } - } - }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "requestBodyParameterName": "teams", - "category": "repos", - "subcategory": "branches" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": { - "get": { - "summary": "Get users with access to the protected branch", - "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nLists the people who have push access to this branch.", - "tags": ["repos"], - "operationId": "repos/get-users-with-access-to-protected-branch", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#list-users-with-access-to-the-protected-branch" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/branch" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/simple-user" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/simple-user-items" - } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "branches" - }, - "x-octokit": {} - }, - "post": { - "summary": "Add user access restrictions", - "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nGrants the specified people push access for this branch.\n\n| Type | Description |\n| ------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. |", - "tags": ["repos"], - "operationId": "repos/add-user-access-restrictions", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#add-user-access-restrictions" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/branch" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "users": { - "type": "array", - "description": "users parameter", - "items": { "type": "string" } - } - }, - "required": ["users"], - "example": { "users": ["mona"] } - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/simple-user" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/simple-user-items" - } - } - } - } - }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "requestBodyParameterName": "users", - "category": "repos", - "subcategory": "branches" - }, - "x-octokit": {} - }, - "put": { - "summary": "Set user access restrictions", - "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nReplaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people.\n\n| Type | Description |\n| ------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. |", - "tags": ["repos"], - "operationId": "repos/set-user-access-restrictions", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#set-user-access-restrictions" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/branch" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "users": { - "type": "array", - "description": "users parameter", - "items": { "type": "string" } - } - }, - "required": ["users"], - "example": { "users": ["mona"] } - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/simple-user" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/simple-user-items" - } - } - } - } - }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "requestBodyParameterName": "users", - "category": "repos", - "subcategory": "branches" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Remove user access restrictions", - "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nRemoves the ability of a user to push to this branch.\n\n| Type | Description |\n| ------- | --------------------------------------------------------------------------------------------------------------------------------------------- |\n| `array` | Usernames of the people who should no longer have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. |", - "tags": ["repos"], - "operationId": "repos/remove-user-access-restrictions", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#remove-user-access-restrictions" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/branch" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "users": { - "type": "array", - "description": "users parameter", - "items": { "type": "string" } - } - }, - "required": ["users"], - "example": { "users": ["mona"] } - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/simple-user" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/simple-user-items" - } - } - } - } - }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "requestBodyParameterName": "users", - "category": "repos", - "subcategory": "branches" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/branches/{branch}/rename": { - "post": { - "summary": "Rename a branch", - "description": "Renames a branch in a repository.\n\n**Note:** Although the API responds immediately, the branch rename process might take some extra time to complete in the background. You won't be able to push to the old branch name while the rename process is in progress. For more information, see \"[Renaming a branch](https://docs.github.com/github/administering-a-repository/renaming-a-branch)\".\n\nThe permissions required to use this endpoint depends on whether you are renaming the default branch.\n\nTo rename a non-default branch:\n\n* Users must have push access.\n* GitHub Apps must have the `contents:write` repository permission.\n\nTo rename the default branch:\n\n* Users must have admin or owner permissions.\n* GitHub Apps must have the `administration:write` repository permission.", - "tags": ["repos"], - "operationId": "repos/rename-branch", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#rename-a-branch" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/branch" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "new_name": { - "type": "string", - "description": "The new name of the branch." - } - }, - "required": ["new_name"] - }, - "example": { "new_name": "my_renamed_branch" } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/branch-with-protection" - }, - "examples": { - "default": { - "$ref": "#/components/examples/branch-with-protection" - } - } - } - } - }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "branches" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/check-runs": { - "post": { - "summary": "Create a check run", - "description": "**Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array.\n\nCreates a new check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to create check runs.\n\nIn a check suite, GitHub limits the number of check runs with the same name to 1000. Once these check runs exceed 1000, GitHub will start to automatically delete older check runs.", - "tags": ["checks"], - "operationId": "checks/create", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/checks#create-a-check-run" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The name of the check. For example, \"code-coverage\"." - }, - "head_sha": { - "type": "string", - "description": "The SHA of the commit." - }, - "details_url": { - "type": "string", - "description": "The URL of the integrator's site that has the full details of the check. If the integrator does not provide this, then the homepage of the GitHub app is used." - }, - "external_id": { - "type": "string", - "description": "A reference for the run on the integrator's system." - }, - "status": { - "type": "string", - "description": "The current status. Can be one of `queued`, `in_progress`, or `completed`.", - "enum": ["queued", "in_progress", "completed"], - "default": "queued" - }, - "started_at": { - "type": "string", - "description": "The time that the check run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." - }, - "conclusion": { - "type": "string", - "description": "**Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. Can be one of `success`, `failure`, `neutral`, `cancelled`, `skipped`, `timed_out`, or `action_required`. When the conclusion is `action_required`, additional details should be provided on the site specified by `details_url`. \n**Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. Only GitHub can change a check run conclusion to `stale`.", - "enum": [ - "success", - "failure", - "neutral", - "cancelled", - "skipped", - "timed_out", - "action_required" - ] - }, - "completed_at": { - "type": "string", - "description": "The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." - }, - "output": { - "type": "object", - "description": "Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. See the [`output` object](https://docs.github.com/rest/reference/checks#output-object) description.", - "properties": { - "title": { - "type": "string", - "description": "The title of the check run." - }, - "summary": { - "type": "string", - "maxLength": 65535, - "description": "The summary of the check run. This parameter supports Markdown." - }, - "text": { - "type": "string", - "maxLength": 65535, - "description": "The details of the check run. This parameter supports Markdown." - }, - "annotations": { - "type": "array", - "description": "Adds information from your analysis to specific lines of code. Annotations are visible on GitHub in the **Checks** and **Files changed** tab of the pull request. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/rest/reference/checks#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. For details about how you can view annotations on GitHub, see \"[About status checks](https://help.github.com/articles/about-status-checks#checks)\". See the [`annotations` object](https://docs.github.com/rest/reference/checks#annotations-object) description for details about how to use this parameter.", - "maxItems": 50, - "items": { - "type": "object", - "properties": { - "path": { - "type": "string", - "description": "The path of the file to add an annotation to. For example, `assets/css/main.css`." - }, - "start_line": { - "type": "integer", - "description": "The start line of the annotation." - }, - "end_line": { - "type": "integer", - "description": "The end line of the annotation." - }, - "start_column": { - "type": "integer", - "description": "The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values." - }, - "end_column": { - "type": "integer", - "description": "The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values." - }, - "annotation_level": { - "type": "string", - "description": "The level of the annotation. Can be one of `notice`, `warning`, or `failure`.", - "enum": ["notice", "warning", "failure"] - }, - "message": { - "type": "string", - "description": "A short description of the feedback for these lines of code. The maximum size is 64 KB." - }, - "title": { - "type": "string", - "description": "The title that represents the annotation. The maximum size is 255 characters." - }, - "raw_details": { - "type": "string", - "description": "Details about this annotation. The maximum size is 64 KB." - } - }, - "required": [ - "path", - "start_line", - "end_line", - "annotation_level", - "message" - ] - } - }, - "images": { - "type": "array", - "description": "Adds images to the output displayed in the GitHub pull request UI. See the [`images` object](https://docs.github.com/rest/reference/checks#images-object) description for details.", - "items": { - "type": "object", - "properties": { - "alt": { - "type": "string", - "description": "The alternative text for the image." - }, - "image_url": { - "type": "string", - "description": "The full URL of the image." - }, - "caption": { - "type": "string", - "description": "A short image description." - } - }, - "required": ["alt", "image_url"] - } - } - }, - "required": ["title", "summary"] - }, - "actions": { - "type": "array", - "description": "Displays a button on GitHub that can be clicked to alert your app to do additional tasks. For example, a code linting app can display a button that automatically fixes detected errors. The button created in this object is displayed after the check run completes. When a user clicks the button, GitHub sends the [`check_run.requested_action` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) to your app. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. See the [`actions` object](https://docs.github.com/rest/reference/checks#actions-object) description. To learn more about check runs and requested actions, see \"[Check runs and requested actions](https://docs.github.com/rest/reference/checks#check-runs-and-requested-actions).\" To learn more about check runs and requested actions, see \"[Check runs and requested actions](https://docs.github.com/rest/reference/checks#check-runs-and-requested-actions).\"", - "maxItems": 3, - "items": { - "type": "object", - "properties": { - "label": { - "type": "string", - "maxLength": 20, - "description": "The text to be displayed on a button in the web UI. The maximum size is 20 characters." - }, - "description": { - "type": "string", - "maxLength": 40, - "description": "A short explanation of what this action would do. The maximum size is 40 characters." - }, - "identifier": { - "type": "string", - "maxLength": 20, - "description": "A reference for the action on the integrator's system. The maximum size is 20 characters." - } - }, - "required": ["label", "description", "identifier"] - } - } - }, - "required": ["name", "head_sha"], - "anyOf": [ - { - "properties": { "status": { "enum": ["completed"] } }, - "required": ["conclusion"], - "additionalProperties": true - }, - { - "properties": { - "status": { "enum": ["queued", "in_progress"] } - }, - "additionalProperties": true - } - ] - }, - "examples": { - "example-of-in-progress-conclusion": { - "summary": "Example of in_progress conclusion", - "value": { - "name": "mighty_readme", - "head_sha": "ce587453ced02b1526dfb4cb910479d431683101", - "status": "in_progress", - "external_id": "42", - "started_at": "2018-05-04T01:14:52Z", - "output": { - "title": "Mighty Readme report", - "summary": "", - "text": "" - } - } - }, - "example-of-completed-conclusion": { - "summary": "Example of completed conclusion", - "value": { - "name": "mighty_readme", - "head_sha": "ce587453ced02b1526dfb4cb910479d431683101", - "status": "completed", - "started_at": "2017-11-30T19:39:10Z", - "conclusion": "success", - "completed_at": "2017-11-30T19:49:10Z", - "output": { - "title": "Mighty Readme report", - "summary": "There are 0 failures, 2 warnings, and 1 notices.", - "text": "You may have some misspelled words on lines 2 and 4. You also may want to add a section in your README about how to install your app.", - "annotations": [ - { - "path": "README.md", - "annotation_level": "warning", - "title": "Spell Checker", - "message": "Check your spelling for 'banaas'.", - "raw_details": "Do you mean 'bananas' or 'banana'?", - "start_line": 2, - "end_line": 2 - }, - { - "path": "README.md", - "annotation_level": "warning", - "title": "Spell Checker", - "message": "Check your spelling for 'aples'", - "raw_details": "Do you mean 'apples' or 'Naples'", - "start_line": 4, - "end_line": 4 - } - ], - "images": [ - { - "alt": "Super bananas", - "image_url": "http://example.com/images/42" - } - ] - }, - "actions": [ - { - "label": "Fix", - "identifier": "fix_errors", - "description": "Allow us to fix these errors for you" - } - ] - } - } - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/check-run" }, - "examples": { - "example-of-in-progress-conclusion": { - "$ref": "#/components/examples/check-run-example-of-in-progress-conclusion" - }, - "example-of-completed-conclusion": { - "$ref": "#/components/examples/check-run-example-of-completed-conclusion" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "checks", - "subcategory": "runs" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/check-runs/{check_run_id}": { - "get": { - "summary": "Get a check run", - "description": "**Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array.\n\nGets a single check run using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository.", - "tags": ["checks"], - "operationId": "checks/get", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/checks#get-a-check-run" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/check_run_id" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/check-run" }, - "examples": { - "default": { "$ref": "#/components/examples/check-run" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "checks", - "subcategory": "runs" - }, - "x-octokit": {} - }, - "patch": { - "summary": "Update a check run", - "description": "**Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array.\n\nUpdates a check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to edit check runs.", - "tags": ["checks"], - "operationId": "checks/update", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/checks#update-a-check-run" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/check_run_id" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The name of the check. For example, \"code-coverage\"." - }, - "details_url": { - "type": "string", - "description": "The URL of the integrator's site that has the full details of the check." - }, - "external_id": { - "type": "string", - "description": "A reference for the run on the integrator's system." - }, - "started_at": { - "type": "string", - "description": "This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." - }, - "status": { - "type": "string", - "description": "The current status. Can be one of `queued`, `in_progress`, or `completed`.", - "enum": ["queued", "in_progress", "completed"] - }, - "conclusion": { - "type": "string", - "description": "**Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. Can be one of `success`, `failure`, `neutral`, `cancelled`, `skipped`, `timed_out`, or `action_required`. \n**Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. Only GitHub can change a check run conclusion to `stale`.", - "enum": [ - "success", - "failure", - "neutral", - "cancelled", - "skipped", - "timed_out", - "action_required" - ] - }, - "completed_at": { - "type": "string", - "description": "The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." - }, - "output": { - "type": "object", - "description": "Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. See the [`output` object](https://docs.github.com/rest/reference/checks#output-object-1) description.", - "properties": { - "title": { - "type": "string", - "description": "**Required**." - }, - "summary": { - "type": "string", - "description": "Can contain Markdown.", - "maxLength": 65535 - }, - "text": { - "type": "string", - "description": "Can contain Markdown.", - "maxLength": 65535 - }, - "annotations": { - "type": "array", - "description": "Adds information from your analysis to specific lines of code. Annotations are visible in GitHub's pull request UI. Annotations are visible in GitHub's pull request UI. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/rest/reference/checks#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. For details about annotations in the UI, see \"[About status checks](https://help.github.com/articles/about-status-checks#checks)\". See the [`annotations` object](https://docs.github.com/rest/reference/checks#annotations-object-1) description for details.", - "maxItems": 50, - "items": { - "type": "object", - "properties": { - "path": { - "type": "string", - "description": "The path of the file to add an annotation to. For example, `assets/css/main.css`." - }, - "start_line": { - "type": "integer", - "description": "The start line of the annotation." - }, - "end_line": { - "type": "integer", - "description": "The end line of the annotation." - }, - "start_column": { - "type": "integer", - "description": "The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values." - }, - "end_column": { - "type": "integer", - "description": "The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values." - }, - "annotation_level": { - "type": "string", - "description": "The level of the annotation. Can be one of `notice`, `warning`, or `failure`.", - "enum": ["notice", "warning", "failure"] - }, - "message": { - "type": "string", - "description": "A short description of the feedback for these lines of code. The maximum size is 64 KB." - }, - "title": { - "type": "string", - "description": "The title that represents the annotation. The maximum size is 255 characters." - }, - "raw_details": { - "type": "string", - "description": "Details about this annotation. The maximum size is 64 KB." - } - }, - "required": [ - "path", - "start_line", - "end_line", - "annotation_level", - "message" - ] - } - }, - "images": { - "type": "array", - "description": "Adds images to the output displayed in the GitHub pull request UI. See the [`images` object](https://docs.github.com/rest/reference/checks#annotations-object-1) description for details.", - "items": { - "type": "object", - "properties": { - "alt": { - "type": "string", - "description": "The alternative text for the image." - }, - "image_url": { - "type": "string", - "description": "The full URL of the image." - }, - "caption": { - "type": "string", - "description": "A short image description." - } - }, - "required": ["alt", "image_url"] - } - } - }, - "required": ["summary"] - }, - "actions": { - "type": "array", - "description": "Possible further actions the integrator can perform, which a user may trigger. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. See the [`actions` object](https://docs.github.com/rest/reference/checks#actions-object) description. To learn more about check runs and requested actions, see \"[Check runs and requested actions](https://docs.github.com/rest/reference/checks#check-runs-and-requested-actions).\"", - "maxItems": 3, - "items": { - "type": "object", - "properties": { - "label": { - "type": "string", - "maxLength": 20, - "description": "The text to be displayed on a button in the web UI. The maximum size is 20 characters." - }, - "description": { - "type": "string", - "maxLength": 40, - "description": "A short explanation of what this action would do. The maximum size is 40 characters." - }, - "identifier": { - "type": "string", - "maxLength": 20, - "description": "A reference for the action on the integrator's system. The maximum size is 20 characters." - } - }, - "required": ["label", "description", "identifier"] - } - } - }, - "anyOf": [ - { - "properties": { "status": { "enum": ["completed"] } }, - "required": ["conclusion"], - "additionalProperties": true - }, - { - "properties": { - "status": { "enum": ["queued", "in_progress"] } - }, - "additionalProperties": true - } - ] - }, - "example": { - "name": "mighty_readme", - "started_at": "2018-05-04T01:14:52Z", - "status": "completed", - "conclusion": "success", - "completed_at": "2018-05-04T01:14:52Z", - "output": { - "title": "Mighty Readme report", - "summary": "There are 0 failures, 2 warnings, and 1 notices.", - "text": "You may have some misspelled words on lines 2 and 4. You also may want to add a section in your README about how to install your app.", - "annotations": [ - { - "path": "README.md", - "annotation_level": "warning", - "title": "Spell Checker", - "message": "Check your spelling for 'banaas'.", - "raw_details": "Do you mean 'bananas' or 'banana'?", - "start_line": 2, - "end_line": 2 - }, - { - "path": "README.md", - "annotation_level": "warning", - "title": "Spell Checker", - "message": "Check your spelling for 'aples'", - "raw_details": "Do you mean 'apples' or 'Naples'", - "start_line": 4, - "end_line": 4 - } - ], - "images": [ - { - "alt": "Super bananas", - "image_url": "http://example.com/images/42" - } - ] - } - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/check-run" }, - "examples": { - "default": { "$ref": "#/components/examples/check-run" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "checks", - "subcategory": "runs" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/check-runs/{check_run_id}/annotations": { - "get": { - "summary": "List check run annotations", - "description": "Lists annotations for a check run using the annotation `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get annotations for a check run. OAuth Apps and authenticated users must have the `repo` scope to get annotations for a check run in a private repository.", - "tags": ["checks"], - "operationId": "checks/list-annotations", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/checks#list-check-run-annotations" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/check_run_id" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/check-annotation" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/check-annotation-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "checks", - "subcategory": "runs" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/check-suites": { - "post": { - "summary": "Create a check suite", - "description": "**Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`.\n\nBy default, check suites are automatically created when you create a [check run](https://docs.github.com/rest/reference/checks#check-runs). You only need to use this endpoint for manually creating check suites when you've disabled automatic creation using \"[Update repository preferences for check suites](https://docs.github.com/rest/reference/checks#update-repository-preferences-for-check-suites)\". Your GitHub App must have the `checks:write` permission to create check suites.", - "tags": ["checks"], - "operationId": "checks/create-suite", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/checks#create-a-check-suite" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "head_sha": { - "type": "string", - "description": "The sha of the head commit." - } - }, - "required": ["head_sha"] - }, - "example": { - "head_sha": "d6fde92930d4715a2b49857d24b940956b26d2d3" - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/check-suite" }, - "examples": { - "default": { "$ref": "#/components/examples/check-suite" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "checks", - "subcategory": "suites" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/check-suites/preferences": { - "patch": { - "summary": "Update repository preferences for check suites", - "description": "Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually [Create a check suite](https://docs.github.com/rest/reference/checks#create-a-check-suite). You must have admin permissions in the repository to set preferences for check suites.", - "tags": ["checks"], - "operationId": "checks/set-suites-preferences", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/checks#update-repository-preferences-for-check-suites" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "auto_trigger_checks": { - "type": "array", - "description": "Enables or disables automatic creation of CheckSuite events upon pushes to the repository. Enabled by default. See the [`auto_trigger_checks` object](https://docs.github.com/rest/reference/checks#auto_trigger_checks-object) description for details.", - "items": { - "type": "object", - "properties": { - "app_id": { - "type": "integer", - "description": "The `id` of the GitHub App." - }, - "setting": { - "type": "boolean", - "description": "Set to `true` to enable automatic creation of CheckSuite events upon pushes to the repository, or `false` to disable them.", - "default": true - } - }, - "required": ["app_id", "setting"] - } - } - } - }, - "example": { - "auto_trigger_checks": [{ "app_id": 4, "setting": false }] - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/check-suite-preference" - }, - "examples": { - "default": { - "$ref": "#/components/examples/check-suite-preference" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "checks", - "subcategory": "suites" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/check-suites/{check_suite_id}": { - "get": { - "summary": "Get a check suite", - "description": "**Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`.\n\nGets a single check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository.", - "tags": ["checks"], - "operationId": "checks/get-suite", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/checks#get-a-check-suite" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/check_suite_id" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/check-suite" }, - "examples": { - "default": { "$ref": "#/components/examples/check-suite" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "checks", - "subcategory": "suites" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs": { - "get": { - "summary": "List check runs in a check suite", - "description": "**Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array.\n\nLists check runs for a check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository.", - "tags": ["checks"], - "operationId": "checks/list-for-suite", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/checks#list-check-runs-in-a-check-suite" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/check_suite_id" }, - { "$ref": "#/components/parameters/check_name" }, - { "$ref": "#/components/parameters/status" }, - { - "name": "filter", - "description": "Filters check runs by their `completed_at` timestamp. Can be one of `latest` (returning the most recent check runs) or `all`.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["latest", "all"], - "default": "latest" - } - }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["total_count", "check_runs"], - "properties": { - "total_count": { "type": "integer" }, - "check_runs": { - "type": "array", - "items": { "$ref": "#/components/schemas/check-run" } - } - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/check-run-paginated" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "checks", - "subcategory": "runs" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest": { - "post": { - "summary": "Rerequest a check suite", - "description": "Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://docs.github.com/webhooks/event-payloads/#check_suite) event with the action `rerequested`. When a check suite is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared.\n\nTo rerequest a check suite, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository.", - "tags": ["checks"], - "operationId": "checks/rerequest-suite", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/checks#rerequest-a-check-suite" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/check_suite_id" } - ], - "responses": { "201": { "description": "response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "checks", - "subcategory": "suites" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/code-scanning/alerts": { - "get": { - "summary": "List code scanning alerts for a repository", - "description": "Lists all open code scanning alerts for the default branch (usually `main` or `master`). You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint.", - "tags": ["code-scanning"], - "operationId": "code-scanning/list-alerts-for-repo", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/code-scanning/#list-code-scanning-alerts-for-a-repository" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "state", - "description": "Set to `open`, `fixed`, or `dismissed` to list code scanning alerts in a specific state.", - "in": "query", - "required": false, - "schema": { - "$ref": "#/components/schemas/code-scanning-alert-state" - } - }, - { - "name": "ref", - "in": "query", - "description": "Set a full Git reference to list alerts for a specific branch. The `ref` must be formatted as `refs/heads/`.", - "required": false, - "schema": { "$ref": "#/components/schemas/code-scanning-alert-ref" } - } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/code-scanning-alert-code-scanning-alert-items" - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/code-scanning-alert-code-scanning-alert-items" - } - } - } - } - }, - "403": { - "description": "Response if github advanced security is not enabled for this repository" - }, - "404": { - "description": "Response if the ref does not match an existing ref" - }, - "503": { "$ref": "#/components/responses/service_unavailable" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "code-scanning", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": { - "get": { - "summary": "Get a code scanning alert", - "description": "Gets a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint.\n\nThe security `alert_number` is found at the end of the security alert's URL. For example, the security alert ID for `https://github.com/Octo-org/octo-repo/security/code-scanning/88` is `88`.", - "tags": ["code-scanning"], - "operationId": "code-scanning/get-alert", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/code-scanning/#get-a-code-scanning-alert" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "alert_number", - "in": "path", - "required": true, - "schema": { "type": "integer" } - } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/code-scanning-alert-code-scanning-alert" - }, - "examples": { - "default": { - "$ref": "#/components/examples/code-scanning-alert-code-scanning-alert" - } - } - } - } - }, - "403": { - "description": "Response if github advanced security is not enabled for this repository" - }, - "404": { "$ref": "#/components/responses/not_found" }, - "503": { "$ref": "#/components/responses/service_unavailable" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "code-scanning", - "subcategory": null - }, - "x-octokit": { - "changes": [ - { - "type": "PARAMETER", - "date": "2020-09-17", - "parameter": "alert_number", - "before": { "name": "alert_id" } - } - ] - } - }, - "patch": { - "summary": "Update a code scanning alert", - "description": "Updates the status of a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` write permission to use this endpoint.", - "operationId": "code-scanning/update-alert", - "tags": ["code-scanning"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/code-scanning/#upload-a-code-scanning-alert" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/alert_number" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "state": { - "$ref": "#/components/schemas/code-scanning-alert-set-state" - }, - "dismissed_reason": { - "$ref": "#/components/schemas/code-scanning-alert-dismissed-reason" - } - }, - "required": ["state"] - }, - "example": { - "state": "dismissed", - "dismissed_reason": "false positive" - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/code-scanning-alert-code-scanning-alert" - }, - "examples": { - "default": { - "$ref": "#/components/examples/code-scanning-alert-code-scanning-alert-dismissed" - } - } - } - } - }, - "403": { - "description": "Response if the repository is archived, or if github advanced security is not enabled for this repository" - }, - "503": { - "description": "Response when code scanning is not available and you should try again at a later time" - } - }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": false, - "previews": [], - "category": "code-scanning" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/code-scanning/analyses": { - "get": { - "summary": "List recent code scanning analyses for a repository", - "description": "List the details of recent code scanning analyses for a repository. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint.", - "operationId": "code-scanning/list-recent-analyses", - "tags": ["code-scanning"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/code-scanning/#list-recent-analyses" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "ref", - "in": "query", - "description": "Set a full Git reference to list alerts for a specific branch. The `ref` must be formatted as `refs/heads/`.", - "required": false, - "schema": { - "$ref": "#/components/schemas/code-scanning-analysis-ref" - } - }, - { - "name": "tool_name", - "in": "query", - "description": "Set a single code scanning tool name to filter alerts by tool.", - "required": false, - "schema": { - "$ref": "#/components/schemas/code-scanning-analysis-tool-name" - } - } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/code-scanning-analysis-code-scanning-analysis" - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/code-scanning-analysis-code-scanning-analysis-items" - } - } - } - } - }, - "403": { - "description": "Response if github advanced security is not enabled for this repository" - } - }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": false, - "previews": [], - "category": "code-scanning" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/code-scanning/sarifs": { - "post": { - "summary": "Upload a SARIF file", - "description": "Upload a SARIF file containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` write permission to use this endpoint.", - "operationId": "code-scanning/upload-sarif", - "tags": ["code-scanning"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/code-scanning/#upload-a-sarif-analysis" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "commit_sha": { - "$ref": "#/components/schemas/code-scanning-analysis-commit-sha" - }, - "ref": { - "$ref": "#/components/schemas/code-scanning-analysis-ref" - }, - "sarif": { - "$ref": "#/components/schemas/code-scanning-analysis-sarif-file" - }, - "checkout_uri": { - "description": "The base directory used in the analysis, as it appears in the SARIF file.\nThis property is used to convert file paths from absolute to relative, so that alerts can be mapped to their correct location in the repository.", - "example": "file:///github/workspace/", - "type": "string", - "format": "uri" - }, - "started_at": { - "description": "The time that the analysis run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", - "format": "date", - "type": "string" - }, - "tool_name": { - "$ref": "#/components/schemas/code-scanning-analysis-tool-name" - } - }, - "required": ["commit_sha", "ref", "sarif", "tool_name"] - }, - "example": { - "commit_sha": "9a450a043b9038ba86722926570d2312cff6aba8", - "ref": "refs/heads/main", - "sarif": "REPLACE_ME", - "tool_name": "codeql" - } - } - } - }, - "responses": { - "202": { "description": "response" }, - "400": { "description": "Response if the `sarif` field is invalid" }, - "403": { - "description": "Response if the repository is archived, or if github advanced security is not enabled for this repository" - }, - "404": { - "description": "Response if `commit_sha` or `ref` cannot be found" - }, - "413": { "description": "Response if the `sarif` field is too large" } - }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": false, - "previews": [], - "category": "code-scanning" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/collaborators": { - "get": { - "summary": "List repository collaborators", - "description": "For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners.\n\nTeam members will include the members of child teams.", - "tags": ["repos"], - "operationId": "repos/list-collaborators", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#list-repository-collaborators" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "affiliation", - "description": "Filter collaborators returned by their affiliation. Can be one of: \n\\* `outside`: All outside collaborators of an organization-owned repository. \n\\* `direct`: All collaborators with permissions to an organization-owned repository, regardless of organization membership status. \n\\* `all`: All collaborators the authenticated user can see.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["outside", "direct", "all"], - "default": "all" - } - }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/collaborator" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/collaborator-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "collaborators" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/collaborators/{username}": { - "get": { - "summary": "Check if a user is a repository collaborator", - "description": "For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners.\n\nTeam members will include the members of child teams.", - "tags": ["repos"], - "operationId": "repos/check-collaborator", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#check-if-a-user-is-a-repository-collaborator" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/username" } - ], - "responses": { - "204": { "description": "Response if user is a collaborator" }, - "404": { "description": "Response if user is not a collaborator" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "collaborators" - }, - "x-octokit": {} - }, - "put": { - "summary": "Add a repository collaborator", - "description": "This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.\n\nFor more information the permission levels, see \"[Repository permission levels for an organization](https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)\".\n\nNote that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"\n\nThe invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the [repository invitations API endpoints](https://docs.github.com/rest/reference/repos#invitations).\n\n**Rate limits**\n\nTo prevent abuse, you are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository.", - "tags": ["repos"], - "operationId": "repos/add-collaborator", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#add-a-repository-collaborator" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/username" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "permission": { - "type": "string", - "description": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access.", - "enum": ["pull", "push", "admin", "maintain", "triage"], - "default": "push" - }, - "permissions": { "type": "string", "example": "\"push\"" } - } - } - } - } - }, - "responses": { - "201": { - "description": "Response when a new invitation is created", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/repository-invitation" - }, - "examples": { - "response-when-a-new-invitation-is-created": { - "$ref": "#/components/examples/repository-invitation-response-when-a-new-invitation-is-created" - } - } - } - } - }, - "204": { - "description": "Response when person is already a collaborator" - }, - "403": { "$ref": "#/components/responses/forbidden" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "triggersNotification": true, - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "collaborators" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Remove a repository collaborator", - "description": "", - "tags": ["repos"], - "operationId": "repos/remove-collaborator", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#remove-a-repository-collaborator" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/username" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "collaborators" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/collaborators/{username}/permission": { - "get": { - "summary": "Get repository permissions for a user", - "description": "Checks the repository permission of a collaborator. The possible repository permissions are `admin`, `write`, `read`, and `none`.", - "tags": ["repos"], - "operationId": "repos/get-collaborator-permission-level", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#get-repository-permissions-for-a-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/username" } - ], - "responses": { - "200": { - "description": "Response if user has admin permissions", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/repository-collaborator-permission" - }, - "examples": { - "response-if-user-has-admin-permissions": { - "$ref": "#/components/examples/repository-collaborator-permission-response-if-user-has-admin-permissions" - } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "collaborators" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/comments": { - "get": { - "summary": "List commit comments for a repository", - "description": "Commit Comments use [these custom media types](https://docs.github.com/rest/reference/repos#custom-media-types). You can read more about the use of media types in the API [here](https://docs.github.com/rest/overview/media-types/).\n\nComments are ordered by ascending ID.", - "tags": ["repos"], - "operationId": "repos/list-commit-comments-for-repo", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#list-commit-comments-for-a-repository" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/commit-comment" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/commit-comment-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "category": "repos", - "subcategory": "comments" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/comments/{comment_id}": { - "get": { - "summary": "Get a commit comment", - "description": "", - "tags": ["repos"], - "operationId": "repos/get-commit-comment", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#get-a-commit-comment" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/comment_id" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/commit-comment" }, - "examples": { - "default": { "$ref": "#/components/examples/commit-comment" } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "category": "repos", - "subcategory": "comments" - }, - "x-octokit": {} - }, - "patch": { - "summary": "Update a commit comment", - "description": "", - "tags": ["repos"], - "operationId": "repos/update-commit-comment", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#update-a-commit-comment" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/comment_id" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "body": { - "type": "string", - "description": "The contents of the comment" - } - }, - "required": ["body"] - }, - "example": { "body": "Nice change" } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/commit-comment" }, - "examples": { - "default": { - "$ref": "#/components/examples/commit-comment-2" - } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "comments" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a commit comment", - "description": "", - "tags": ["repos"], - "operationId": "repos/delete-commit-comment", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#delete-a-commit-comment" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/comment_id" } - ], - "responses": { - "204": { "description": "Empty response" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "comments" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/comments/{comment_id}/reactions": { - "get": { - "summary": "List reactions for a commit comment", - "description": "List the reactions to a [commit comment](https://docs.github.com/rest/reference/repos#comments).", - "tags": ["reactions"], - "operationId": "reactions/list-for-commit-comment", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/reactions/#list-reactions-for-a-commit-comment" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/comment_id" }, - { - "name": "content", - "description": "Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a commit comment.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": [ - "+1", - "-1", - "laugh", - "confused", - "heart", - "hooray", - "rocket", - "eyes" - ] - } - }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/reaction" } - }, - "examples": { - "default": { "$ref": "#/components/examples/reaction-items" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "415": { "$ref": "#/components/responses/preview_header_missing" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "category": "reactions", - "subcategory": null - }, - "x-octokit": {} - }, - "post": { - "summary": "Create reaction for a commit comment", - "description": "Create a reaction to a [commit comment](https://docs.github.com/rest/reference/repos#comments). A response with a `Status: 200 OK` means that you already added the reaction type to this commit comment.", - "tags": ["reactions"], - "operationId": "reactions/create-for-commit-comment", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/reactions/#create-reaction-for-a-commit-comment" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/comment_id" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "content": { - "type": "string", - "description": "The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the commit comment.", - "enum": [ - "+1", - "-1", - "laugh", - "confused", - "heart", - "hooray", - "rocket", - "eyes" - ] - } - }, - "required": ["content"] - }, - "example": { "content": "heart" } - } - } - }, - "responses": { - "200": { - "description": "Reaction exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/reaction" }, - "examples": { - "default": { "$ref": "#/components/examples/reaction" } - } - } - } - }, - "201": { - "description": "Reaction created", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/reaction" }, - "examples": { - "default": { "$ref": "#/components/examples/reaction" } - } - } - } - }, - "415": { "$ref": "#/components/responses/preview_header_missing" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "category": "reactions", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}": { - "delete": { - "summary": "Delete a commit comment reaction", - "description": "**Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/comments/:comment_id/reactions/:reaction_id`.\n\nDelete a reaction to a [commit comment](https://docs.github.com/rest/reference/repos#comments).", - "tags": ["reactions"], - "operationId": "reactions/delete-for-commit-comment", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/reactions/#delete-a-commit-comment-reaction" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/comment_id" }, - { "$ref": "#/components/parameters/reaction-id" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "category": "reactions", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/commits": { - "get": { - "summary": "List commits", - "description": "**Signature verification object**\n\nThe response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object:\n\n| Name | Type | Description |\n| ---- | ---- | ----------- |\n| `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. |\n| `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. |\n| `signature` | `string` | The signature that was extracted from the commit. |\n| `payload` | `string` | The value that was signed. |\n\nThese are the possible values for `reason` in the `verification` object:\n\n| Value | Description |\n| ----- | ----------- |\n| `expired_key` | The key that made the signature is expired. |\n| `not_signing_key` | The \"signing\" flag is not among the usage flags in the GPG key that made the signature. |\n| `gpgverify_error` | There was an error communicating with the signature verification service. |\n| `gpgverify_unavailable` | The signature verification service is currently unavailable. |\n| `unsigned` | The object does not include a signature. |\n| `unknown_signature_type` | A non-PGP signature was found in the commit. |\n| `no_user` | No user was associated with the `committer` email address in the commit. |\n| `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |\n| `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. |\n| `unknown_key` | The key that made the signature has not been registered with any user's account. |\n| `malformed_signature` | There was an error parsing the signature. |\n| `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |\n| `valid` | None of the above errors applied, so the signature is considered to be verified. |", - "tags": ["repos"], - "operationId": "repos/list-commits", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#list-commits" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "sha", - "description": "SHA or branch to start listing commits from. Default: the repository’s default branch (usually `master`).", - "in": "query", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "path", - "description": "Only commits containing this file path will be returned.", - "in": "query", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "author", - "description": "GitHub login or email address by which to filter by commit author.", - "in": "query", - "required": false, - "schema": { "type": "string" } - }, - { "$ref": "#/components/parameters/since" }, - { - "name": "until", - "description": "Only commits before this date will be returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", - "in": "query", - "required": false, - "schema": { "type": "string" } - }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/commit" } - }, - "examples": { - "default": { "$ref": "#/components/examples/commit-items" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "400": { "$ref": "#/components/responses/bad_request" }, - "404": { "$ref": "#/components/responses/not_found" }, - "409": { "$ref": "#/components/responses/conflict" }, - "500": { "$ref": "#/components/responses/internal_error" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "commits" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head": { - "get": { - "summary": "List branches for HEAD commit", - "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nReturns all branches where the given commit SHA is the HEAD, or latest commit for the branch.", - "tags": ["repos"], - "operationId": "repos/list-branches-for-head-commit", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#list-branches-for-head-commit" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/commit_sha" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/branch-short" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/branch-short-items" - } - } - } - } - }, - "415": { "$ref": "#/components/responses/preview_header_missing" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "groot", - "note": "Listing branches or pull requests for a commit in the Commits API is currently available for developers to preview. See the [blog post](https://developer.github.com/changes/2019-04-11-pulls-branches-for-commit/) for more details. To access the new endpoints during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.groot-preview+json\n```" - } - ], - "category": "repos", - "subcategory": "commits" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/commits/{commit_sha}/comments": { - "get": { - "summary": "List commit comments", - "description": "Use the `:commit_sha` to specify the commit that will have its comments listed.", - "tags": ["repos"], - "operationId": "repos/list-comments-for-commit", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#list-commit-comments" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/commit_sha" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/commit-comment" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/commit-comment-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "category": "repos", - "subcategory": "comments" - }, - "x-octokit": {} - }, - "post": { - "summary": "Create a commit comment", - "description": "Create a comment for a commit using its `:commit_sha`.\n\nThis endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.", - "tags": ["repos"], - "operationId": "repos/create-commit-comment", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#create-a-commit-comment" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/commit_sha" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "body": { - "type": "string", - "description": "The contents of the comment." - }, - "path": { - "type": "string", - "description": "Relative path of the file to comment on." - }, - "position": { - "type": "integer", - "description": "Line index in the diff to comment on." - }, - "line": { - "type": "integer", - "description": "**Deprecated**. Use **position** parameter instead. Line number in the file to comment on." - } - }, - "required": ["body"] - }, - "example": { - "body": "Great stuff", - "path": "file1.txt", - "position": 4, - "line": 1 - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/commit-comment" }, - "examples": { - "default": { "$ref": "#/components/examples/commit-comment" } - } - } - }, - "headers": { - "Location": { - "example": "https://api.github.com/repos/octocat/Hello-World/comments/1", - "schema": { "type": "string" } - } - } - }, - "403": { "$ref": "#/components/responses/forbidden" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "triggersNotification": true, - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "comments" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/commits/{commit_sha}/pulls": { - "get": { - "summary": "List pull requests associated with a commit", - "description": "Lists all pull requests containing the provided commit SHA, which can be from any point in the commit history. The results will include open and closed pull requests. Additional preview headers may be required to see certain details for associated pull requests, such as whether a pull request is in a draft state. For more information about previews that might affect this endpoint, see the [List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests) endpoint.", - "tags": ["repos"], - "operationId": "repos/list-pull-requests-associated-with-commit", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#list-pull-requests-associated-with-a-commit" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/commit_sha" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/pull-request-simple" - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/pull-request-simple-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "415": { "$ref": "#/components/responses/preview_header_missing" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "groot", - "note": "Listing branches or pull requests for a commit in the Commits API is currently available for developers to preview. See the [blog post](https://developer.github.com/changes/2019-04-11-pulls-branches-for-commit/) for more details. To access the new endpoints during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.groot-preview+json\n```" - } - ], - "category": "repos", - "subcategory": "commits" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/commits/{ref}": { - "get": { - "summary": "Get a commit", - "description": "Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint.\n\n**Note:** If there are more than 300 files in the commit diff, the response will include pagination link headers for the remaining files, up to a limit of 3000 files. Each page contains the static commit information, and the only changes are to the file listing.\n\nYou can pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch `diff` and `patch` formats. Diffs with binary data will have no `patch` property.\n\nTo return only the SHA-1 hash of the commit reference, you can provide the `sha` custom [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) in the `Accept` header. You can use this endpoint to check if a remote reference's SHA-1 hash is the same as your local reference's SHA-1 hash by providing the local SHA-1 reference as the ETag.\n\n**Signature verification object**\n\nThe response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object:\n\n| Name | Type | Description |\n| ---- | ---- | ----------- |\n| `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. |\n| `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. |\n| `signature` | `string` | The signature that was extracted from the commit. |\n| `payload` | `string` | The value that was signed. |\n\nThese are the possible values for `reason` in the `verification` object:\n\n| Value | Description |\n| ----- | ----------- |\n| `expired_key` | The key that made the signature is expired. |\n| `not_signing_key` | The \"signing\" flag is not among the usage flags in the GPG key that made the signature. |\n| `gpgverify_error` | There was an error communicating with the signature verification service. |\n| `gpgverify_unavailable` | The signature verification service is currently unavailable. |\n| `unsigned` | The object does not include a signature. |\n| `unknown_signature_type` | A non-PGP signature was found in the commit. |\n| `no_user` | No user was associated with the `committer` email address in the commit. |\n| `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |\n| `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. |\n| `unknown_key` | The key that made the signature has not been registered with any user's account. |\n| `malformed_signature` | There was an error parsing the signature. |\n| `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |\n| `valid` | None of the above errors applied, so the signature is considered to be verified. |", - "tags": ["repos"], - "operationId": "repos/get-commit", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#get-a-commit" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "ref", - "description": "ref+ parameter", - "in": "path", - "required": true, - "schema": { "type": "string" }, - "x-multi-segment": true - } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/commit" }, - "examples": { - "default": { "$ref": "#/components/examples/commit" } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" }, - "500": { "$ref": "#/components/responses/internal_error" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "commits" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/commits/{ref}/check-runs": { - "get": { - "summary": "List check runs for a Git reference", - "description": "**Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array.\n\nLists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository.", - "tags": ["checks"], - "operationId": "checks/list-for-ref", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/checks#list-check-runs-for-a-git-reference" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "ref", - "description": "ref+ parameter", - "in": "path", - "required": true, - "schema": { "type": "string" }, - "x-multi-segment": true - }, - { "$ref": "#/components/parameters/check_name" }, - { "$ref": "#/components/parameters/status" }, - { - "name": "filter", - "description": "Filters check runs by their `completed_at` timestamp. Can be one of `latest` (returning the most recent check runs) or `all`.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["latest", "all"], - "default": "latest" - } - }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["total_count", "check_runs"], - "properties": { - "total_count": { "type": "integer" }, - "check_runs": { - "type": "array", - "items": { "$ref": "#/components/schemas/check-run" } - } - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/check-run-paginated" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "checks", - "subcategory": "runs" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/commits/{ref}/check-suites": { - "get": { - "summary": "List check suites for a Git reference", - "description": "**Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`.\n\nLists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to list check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository.", - "tags": ["checks"], - "operationId": "checks/list-suites-for-ref", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/checks#list-check-suites-for-a-git-reference" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "ref", - "description": "ref+ parameter", - "in": "path", - "required": true, - "schema": { "type": "string" }, - "x-multi-segment": true - }, - { - "name": "app_id", - "description": "Filters check suites by GitHub App `id`.", - "in": "query", - "required": false, - "schema": { "type": "integer" }, - "example": 1 - }, - { "$ref": "#/components/parameters/check_name" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["total_count", "check_suites"], - "properties": { - "total_count": { "type": "integer" }, - "check_suites": { - "type": "array", - "items": { "$ref": "#/components/schemas/check-suite" } - } - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/check-suite-paginated" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "checks", - "subcategory": "suites" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/commits/{ref}/status": { - "get": { - "summary": "Get the combined status for a specific reference", - "description": "Users with pull access in a repository can access a combined view of commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name.\n\nThe most recent status for each context is returned, up to 100. This field [paginates](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination) if there are over 100 contexts.\n\nAdditionally, a combined `state` is returned. The `state` is one of:\n\n* **failure** if any of the contexts report as `error` or `failure`\n* **pending** if there are no statuses or a context is `pending`\n* **success** if the latest status for all contexts is `success`", - "tags": ["repos"], - "operationId": "repos/get-combined-status-for-ref", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#get-the-combined-status-for-a-specific-reference" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "ref", - "description": "ref+ parameter", - "in": "path", - "required": true, - "schema": { "type": "string" }, - "x-multi-segment": true - } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/combined-commit-status" - }, - "examples": { - "default": { - "$ref": "#/components/examples/combined-commit-status" - } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "statuses" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/commits/{ref}/statuses": { - "get": { - "summary": "List commit statuses for a reference", - "description": "Users with pull access in a repository can view commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. Statuses are returned in reverse chronological order. The first status in the list will be the latest one.\n\nThis resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`.", - "tags": ["repos"], - "operationId": "repos/list-commit-statuses-for-ref", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#list-commit-statuses-for-a-reference" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "ref", - "description": "ref+ parameter", - "in": "path", - "required": true, - "schema": { "type": "string" }, - "x-multi-segment": true - }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/status" } - }, - "examples": { - "default": { "$ref": "#/components/examples/status-items" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "301": { "$ref": "#/components/responses/moved_permanently" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "statuses" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/community/code_of_conduct": { - "get": { - "summary": "Get the code of conduct for a repository", - "description": "Returns the contents of the repository's code of conduct file, if one is detected.\n\nA code of conduct is detected if there is a file named `CODE_OF_CONDUCT` in the root directory of the repository. GitHub detects which code of conduct it is using fuzzy matching.", - "tags": ["codes-of-conduct"], - "operationId": "codes-of-conduct/get-for-repo", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/codes_of_conduct/#get-the-code-of-conduct-for-a-repository" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/code-of-conduct" }, - "examples": { - "default": { - "$ref": "#/components/examples/code-of-conduct-2" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "scarlet-witch", - "note": "The Codes of Conduct API is currently available for developers to preview.\n\nTo access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.scarlet-witch-preview+json\n```" - } - ], - "category": "codes-of-conduct", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/community/profile": { - "get": { - "summary": "Get community profile metrics", - "description": "This endpoint will return all community profile metrics, including an\noverall health score, repository description, the presence of documentation, detected\ncode of conduct, detected license, and the presence of ISSUE\\_TEMPLATE, PULL\\_REQUEST\\_TEMPLATE,\nREADME, and CONTRIBUTING files.\n\nThe `health_percentage` score is defined as a percentage of how many of\nthese four documents are present: README, CONTRIBUTING, LICENSE, and\nCODE_OF_CONDUCT. For example, if all four documents are present, then\nthe `health_percentage` is `100`. If only one is present, then the\n`health_percentage` is `25`.\n\n`content_reports_enabled` is only returned for organization-owned repositories.", - "tags": ["repos"], - "operationId": "repos/get-community-profile-metrics", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#get-community-profile-metrics" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/community-profile" }, - "examples": { - "default": { - "$ref": "#/components/examples/community-profile" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "category": "repos", - "subcategory": "community" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/compare/{base}...{head}": { - "get": { - "summary": "Compare two commits", - "description": "Both `:base` and `:head` must be branch names in `:repo`. To compare branches across other repositories in the same network as `:repo`, use the format `:branch`.\n\nThe response from the API is equivalent to running the `git log base..head` command; however, commits are returned in chronological order. Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats.\n\nThe response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file.\n\n**Working with large comparisons**\n\nThe response will include a comparison of up to 250 commits. If you are working with a larger commit range, you can use the [List commits](https://docs.github.com/rest/reference/repos#list-commits) to enumerate all commits in the range.\n\nFor comparisons with extremely large diffs, you may receive an error response indicating that the diff took too long\nto generate. You can typically resolve this error by using a smaller commit range.\n\n**Signature verification object**\n\nThe response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object:\n\n| Name | Type | Description |\n| ---- | ---- | ----------- |\n| `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. |\n| `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. |\n| `signature` | `string` | The signature that was extracted from the commit. |\n| `payload` | `string` | The value that was signed. |\n\nThese are the possible values for `reason` in the `verification` object:\n\n| Value | Description |\n| ----- | ----------- |\n| `expired_key` | The key that made the signature is expired. |\n| `not_signing_key` | The \"signing\" flag is not among the usage flags in the GPG key that made the signature. |\n| `gpgverify_error` | There was an error communicating with the signature verification service. |\n| `gpgverify_unavailable` | The signature verification service is currently unavailable. |\n| `unsigned` | The object does not include a signature. |\n| `unknown_signature_type` | A non-PGP signature was found in the commit. |\n| `no_user` | No user was associated with the `committer` email address in the commit. |\n| `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |\n| `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. |\n| `unknown_key` | The key that made the signature has not been registered with any user's account. |\n| `malformed_signature` | There was an error parsing the signature. |\n| `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |\n| `valid` | None of the above errors applied, so the signature is considered to be verified. |", - "tags": ["repos"], - "operationId": "repos/compare-commits", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#compare-two-commits" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "base", - "in": "path", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "head", - "in": "path", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/commit-comparison" }, - "examples": { - "default": { - "$ref": "#/components/examples/commit-comparison" - } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "500": { "$ref": "#/components/responses/internal_error" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "commits" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/contents/{path}": { - "get": { - "summary": "Get repository content", - "description": "Gets the contents of a file or directory in a repository. Specify the file path or directory in `:path`. If you omit\n`:path`, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories. \n\nFiles and symlinks support [a custom media type](https://docs.github.com/rest/reference/repos#custom-media-types) for\nretrieving the raw content or rendered HTML (when supported). All content types support [a custom media\ntype](https://docs.github.com/rest/reference/repos#custom-media-types) to ensure the content is returned in a consistent\nobject format.\n\n**Note**:\n* To get a repository's contents recursively, you can [recursively get the tree](https://docs.github.com/rest/reference/git#trees).\n* This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the [Git Trees\nAPI](https://docs.github.com/rest/reference/git#get-a-tree).\n* This API supports files up to 1 megabyte in size.\n\n#### If the content is a directory\nThe response will be an array of objects, one object for each item in the directory.\nWhen listing the contents of a directory, submodules have their \"type\" specified as \"file\". Logically, the value\n_should_ be \"submodule\". This behavior exists in API v3 [for backwards compatibility purposes](https://git.io/v1YCW).\nIn the next major version of the API, the type will be returned as \"submodule\".\n\n#### If the content is a symlink \nIf the requested `:path` points to a symlink, and the symlink's target is a normal file in the repository, then the\nAPI responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object \ndescribing the symlink itself.\n\n#### If the content is a submodule\nThe `submodule_git_url` identifies the location of the submodule repository, and the `sha` identifies a specific\ncommit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out\nthe submodule at that specific commit.\n\nIf the submodule repository is not hosted on github.com, the Git URLs (`git_url` and `_links[\"git\"]`) and the\ngithub.com URLs (`html_url` and `_links[\"html\"]`) will have null values.", - "tags": ["repos"], - "operationId": "repos/get-content", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#get-repository-content" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "path", - "description": "path+ parameter", - "in": "path", - "required": true, - "schema": { "type": "string" }, - "x-multi-segment": true - }, - { - "name": "ref", - "description": "The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`)", - "in": "query", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/vnd.github.v3.object": { - "schema": { "$ref": "#/components/schemas/content-tree" } - }, - "application/json": { - "schema": { - "oneOf": [ - { "$ref": "#/components/schemas/content-directory" }, - { "$ref": "#/components/schemas/content-file" }, - { "$ref": "#/components/schemas/content-symlink" }, - { "$ref": "#/components/schemas/content-submodule" } - ] - }, - "examples": { - "response-if-content-is-a-file": { - "$ref": "#/components/examples/content-file-response-if-content-is-a-file" - }, - "response-if-content-is-a-directory": { - "$ref": "#/components/examples/content-file-response-if-content-is-a-directory" - }, - "response-if-content-is-a-symlink": { - "$ref": "#/components/examples/content-file-response-if-content-is-a-symlink" - }, - "response-if-content-is-a-submodule": { - "$ref": "#/components/examples/content-file-response-if-content-is-a-submodule" - } - } - } - } - }, - "302": { "$ref": "#/components/responses/found" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "contents" - }, - "x-octokit": {} - }, - "put": { - "summary": "Create or update file contents", - "description": "Creates a new file or replaces an existing file in a repository.", - "tags": ["repos"], - "operationId": "repos/create-or-update-file-contents", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#create-or-update-file-contents" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "path", - "description": "path+ parameter", - "in": "path", - "required": true, - "schema": { "type": "string" }, - "x-multi-segment": true - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "description": "The commit message." - }, - "content": { - "type": "string", - "description": "The new file content, using Base64 encoding." - }, - "sha": { - "type": "string", - "description": "**Required if you are updating a file**. The blob SHA of the file being replaced." - }, - "branch": { - "type": "string", - "description": "The branch name. Default: the repository’s default branch (usually `master`)" - }, - "committer": { - "type": "object", - "description": "The person that committed the file. Default: the authenticated user.", - "properties": { - "name": { - "type": "string", - "description": "The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted." - }, - "email": { - "type": "string", - "description": "The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted." - }, - "date": { - "type": "string", - "example": "\"2013-01-05T13:13:22+05:00\"" - } - }, - "required": ["name", "email"] - }, - "author": { - "type": "object", - "description": "The author of the file. Default: The `committer` or the authenticated user if you omit `committer`.", - "properties": { - "name": { - "type": "string", - "description": "The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted." - }, - "email": { - "type": "string", - "description": "The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted." - }, - "date": { - "type": "string", - "example": "\"2013-01-15T17:13:22+05:00\"" - } - }, - "required": ["name", "email"] - } - }, - "required": ["message", "content"] - }, - "examples": { - "example-for-creating-a-file": { - "summary": "Example for creating a file", - "value": { - "message": "my commit message", - "committer": { - "name": "Monalisa Octocat", - "email": "octocat@github.com" - }, - "content": "bXkgbmV3IGZpbGUgY29udGVudHM=" - } - }, - "example-for-updating-a-file": { - "summary": "Example for updating a file", - "value": { - "message": "a new commit message", - "committer": { - "name": "Monalisa Octocat", - "email": "octocat@github.com" - }, - "content": "bXkgdXBkYXRlZCBmaWxlIGNvbnRlbnRz", - "sha": "95b966ae1c166bd92f8ae7d1c313e738c731dfc3" - } - } - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/file-commit" }, - "examples": { - "example-for-updating-a-file": { - "$ref": "#/components/examples/file-commit-example-for-updating-a-file" - } - } - } - } - }, - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/file-commit" }, - "examples": { - "example-for-creating-a-file": { - "$ref": "#/components/examples/file-commit-example-for-creating-a-file" - } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "409": { "$ref": "#/components/responses/conflict" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "contents" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a file", - "description": "Deletes a file in a repository.\n\nYou can provide an additional `committer` parameter, which is an object containing information about the committer. Or, you can provide an `author` parameter, which is an object containing information about the author.\n\nThe `author` section is optional and is filled in with the `committer` information if omitted. If the `committer` information is omitted, the authenticated user's information is used.\n\nYou must provide values for both `name` and `email`, whether you choose to use `author` or `committer`. Otherwise, you'll receive a `422` status code.", - "tags": ["repos"], - "operationId": "repos/delete-file", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#delete-a-file" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "path", - "description": "path+ parameter", - "in": "path", - "required": true, - "schema": { "type": "string" }, - "x-multi-segment": true - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "description": "The commit message." - }, - "sha": { - "type": "string", - "description": "The blob SHA of the file being replaced." - }, - "branch": { - "type": "string", - "description": "The branch name. Default: the repository’s default branch (usually `master`)" - }, - "committer": { - "type": "object", - "description": "object containing information about the committer.", - "properties": { - "name": { - "type": "string", - "description": "The name of the author (or committer) of the commit" - }, - "email": { - "type": "string", - "description": "The email of the author (or committer) of the commit" - } - } - }, - "author": { - "type": "object", - "description": "object containing information about the author.", - "properties": { - "name": { - "type": "string", - "description": "The name of the author (or committer) of the commit" - }, - "email": { - "type": "string", - "description": "The email of the author (or committer) of the commit" - } - } - } - }, - "required": ["message", "sha"] - }, - "example": { - "message": "my commit message", - "committer": { - "name": "Monalisa Octocat", - "email": "octocat@github.com" - }, - "sha": "329688480d39049927147c162b9d2deaf885005f" - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/file-commit" }, - "examples": { - "default": { "$ref": "#/components/examples/file-commit" } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "409": { "$ref": "#/components/responses/conflict" }, - "422": { "$ref": "#/components/responses/validation_failed" }, - "503": { "$ref": "#/components/responses/service_unavailable" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "contents" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/contributors": { - "get": { - "summary": "List repository contributors", - "description": "Lists contributors to the specified repository and sorts them by the number of commits per contributor in descending order. This endpoint may return information that is a few hours old because the GitHub REST API v3 caches contributor data to improve performance.\n\nGitHub identifies contributors by author email address. This endpoint groups contribution counts by GitHub user, which includes all associated email addresses. To improve performance, only the first 500 author email addresses in the repository link to GitHub users. The rest will appear as anonymous contributors without associated GitHub user information.", - "tags": ["repos"], - "operationId": "repos/list-contributors", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/repos/#list-repository-contributors" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "anon", - "description": "Set to `1` or `true` to include anonymous contributors in results.", - "in": "query", - "required": false, - "schema": { "type": "string" } - }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "Response if repository contains content", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/contributor" } - }, - "examples": { - "response-if-repository-contains-content": { - "$ref": "#/components/examples/contributor-items-response-if-repository-contains-content" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "204": { "description": "Response if repository is empty" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/deployments": { - "get": { - "summary": "List deployments", - "description": "Simple filtering of deployments is available via query parameters:", - "tags": ["repos"], - "operationId": "repos/list-deployments", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#list-deployments" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "sha", - "description": "The SHA recorded at creation time.", - "in": "query", - "required": false, - "schema": { "type": "string", "default": "none" } - }, - { - "name": "ref", - "description": "The name of the ref. This can be a branch, tag, or SHA.", - "in": "query", - "required": false, - "schema": { "type": "string", "default": "none" } - }, - { - "name": "task", - "description": "The name of the task for the deployment (e.g., `deploy` or `deploy:migrations`).", - "in": "query", - "required": false, - "schema": { "type": "string", "default": "none" } - }, - { - "name": "environment", - "description": "The name of the environment that was deployed to (e.g., `staging` or `production`).", - "in": "query", - "required": false, - "schema": { "type": "string", "default": "none" } - }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/deployment" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/deployment-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "ant-man", - "note": "The `inactive` state and the `log_url`, `environment_url`, and `auto_inactive` parameters are currently available for developers to preview. Please see the [blog post](https://developer.github.com/changes/2016-04-06-deployment-and-deployment-status-enhancements) for full details.\n\nTo access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.ant-man-preview+json\n```" - } - ], - "category": "repos", - "subcategory": "deployments" - }, - "x-octokit": {} - }, - "post": { - "summary": "Create a deployment", - "description": "Deployments offer a few configurable parameters with certain defaults.\n\nThe `ref` parameter can be any named branch, tag, or SHA. At GitHub we often deploy branches and verify them\nbefore we merge a pull request.\n\nThe `environment` parameter allows deployments to be issued to different runtime environments. Teams often have\nmultiple environments for verifying their applications, such as `production`, `staging`, and `qa`. This parameter\nmakes it easier to track which environments have requested deployments. The default environment is `production`.\n\nThe `auto_merge` parameter is used to ensure that the requested ref is not behind the repository's default branch. If\nthe ref _is_ behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds,\nthe API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will\nreturn a failure response.\n\nBy default, [commit statuses](https://docs.github.com/rest/reference/repos#statuses) for every submitted context must be in a `success`\nstate. The `required_contexts` parameter allows you to specify a subset of contexts that must be `success`, or to\nspecify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do\nnot require any contexts or create any commit statuses, the deployment will always succeed.\n\nThe `payload` parameter is available for any extra information that a deployment system might need. It is a JSON text\nfield that will be passed on when a deployment event is dispatched.\n\nThe `task` parameter is used by the deployment system to allow different execution paths. In the web world this might\nbe `deploy:migrations` to run schema changes on the system. In the compiled world this could be a flag to compile an\napplication with debugging enabled.\n\nUsers with `repo` or `repo_deployment` scopes can create a deployment for a given ref.\n\n#### Merged branch response\nYou will see this response when GitHub automatically merges the base branch into the topic branch instead of creating\na deployment. This auto-merge happens when:\n* Auto-merge option is enabled in the repository\n* Topic branch does not include the latest changes on the base branch, which is `master` in the response example\n* There are no merge conflicts\n\nIf there are no new commits in the base branch, a new request to create a deployment should give a successful\nresponse.\n\n#### Merge conflict response\nThis error happens when the `auto_merge` option is enabled and when the default branch (in this case `master`), can't\nbe merged into the branch that's being deployed (in this case `topic-branch`), due to merge conflicts.\n\n#### Failed commit status checks\nThis error happens when the `required_contexts` parameter indicates that one or more contexts need to have a `success`\nstatus for the commit to be deployed, but one or more of the required contexts do not have a state of `success`.", - "tags": ["repos"], - "operationId": "repos/create-deployment", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#create-a-deployment" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "ref": { - "type": "string", - "description": "The ref to deploy. This can be a branch, tag, or SHA." - }, - "task": { - "type": "string", - "description": "Specifies a task to execute (e.g., `deploy` or `deploy:migrations`).", - "default": "deploy" - }, - "auto_merge": { - "type": "boolean", - "description": "Attempts to automatically merge the default branch into the requested ref, if it's behind the default branch.", - "default": true - }, - "required_contexts": { - "type": "array", - "description": "The [status](https://docs.github.com/rest/reference/repos#statuses) contexts to verify against commit status checks. If you omit this parameter, GitHub verifies all unique contexts before creating a deployment. To bypass checking entirely, pass an empty array. Defaults to all unique contexts.", - "items": { "type": "string" } - }, - "payload": { - "oneOf": [ - { "type": "object", "additionalProperties": true }, - { - "type": "string", - "description": "JSON payload with extra information about the deployment.", - "default": "" - } - ] - }, - "environment": { - "type": "string", - "description": "Name for the target deployment environment (e.g., `production`, `staging`, `qa`).", - "default": "production" - }, - "description": { - "type": "string", - "description": "Short description of the deployment.", - "default": "", - "nullable": true - }, - "transient_environment": { - "type": "boolean", - "description": "Specifies if the given environment is specific to the deployment and will no longer exist at some point in the future. Default: `false` \n**Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type. **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type.", - "default": false - }, - "production_environment": { - "type": "boolean", - "description": "Specifies if the given environment is one that end-users directly interact with. Default: `true` when `environment` is `production` and `false` otherwise. \n**Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type." - }, - "created_at": { - "type": "string", - "example": "\"1776-07-04T00:00:00.000-07:52\"" - } - }, - "required": ["ref"] - }, - "examples": { - "simple-example": { - "summary": "Simple example", - "value": { - "ref": "topic-branch", - "payload": "{ \"deploy\": \"migrate\" }", - "description": "Deploy request from hubot" - } - }, - "advanced-example": { - "summary": "Advanced example", - "value": { - "ref": "topic-branch", - "auto_merge": false, - "payload": "{ \"deploy\": \"migrate\" }", - "description": "Deploy request from hubot", - "required_contexts": ["ci/janky", "security/brakeman"] - } - } - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/deployment" }, - "examples": { - "simple-example": { - "$ref": "#/components/examples/deployment-simple-example" - }, - "advanced-example": { - "$ref": "#/components/examples/deployment-advanced-example" - } - } - } - } - }, - "202": { - "description": "Merged branch response", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { "message": { "type": "string" } } - }, - "examples": { - "merged-branch-response": { - "value": { - "message": "Auto-merged master into topic-branch on deployment." - } - } - } - } - } - }, - "409": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { "type": "string" }, - "documentation_url": { - "type": "string", - "example": "\"https://docs.github.com/rest/reference/repos#create-a-deployment\"" - } - } - }, - "examples": { - "merge-conflict-response": { - "summary": "Merge conflict response", - "value": { - "message": "Conflict merging master into topic-branch" - } - }, - "failed-commit-status-checks": { - "summary": "Failed commit status checks", - "value": { - "message": "Conflict: Commit status checks failed for topic-branch." - } - } - } - } - } - }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "ant-man", - "note": "The `inactive` state and the `log_url`, `environment_url`, and `auto_inactive` parameters are currently available for developers to preview. Please see the [blog post](https://developer.github.com/changes/2016-04-06-deployment-and-deployment-status-enhancements) for full details.\n\nTo access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.ant-man-preview+json\n```" - } - ], - "category": "repos", - "subcategory": "deployments" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/deployments/{deployment_id}": { - "get": { - "summary": "Get a deployment", - "description": "", - "tags": ["repos"], - "operationId": "repos/get-deployment", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#get-a-deployment" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/deployment_id" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/deployment" }, - "examples": { - "default": { "$ref": "#/components/examples/deployment" } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "ant-man", - "note": "The `inactive` state and the `log_url`, `environment_url`, and `auto_inactive` parameters are currently available for developers to preview. Please see the [blog post](https://developer.github.com/changes/2016-04-06-deployment-and-deployment-status-enhancements) for full details.\n\nTo access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.ant-man-preview+json\n```" - } - ], - "category": "repos", - "subcategory": "deployments" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a deployment", - "description": "To ensure there can always be an active deployment, you can only delete an _inactive_ deployment. Anyone with `repo` or `repo_deployment` scopes can delete an inactive deployment.\n\nTo set a deployment as inactive, you must:\n\n* Create a new deployment that is active so that the system has a record of the current state, then delete the previously active deployment.\n* Mark the active deployment as inactive by adding any non-successful deployment status.\n\nFor more information, see \"[Create a deployment](https://docs.github.com/rest/reference/repos/#create-a-deployment)\" and \"[Create a deployment status](https://docs.github.com/rest/reference/repos#create-a-deployment-status).\"", - "tags": ["repos"], - "operationId": "repos/delete-deployment", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#delete-a-deployment" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/deployment_id" } - ], - "responses": { - "204": { "description": "Empty response" }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed_simple" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "deployments" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses": { - "get": { - "summary": "List deployment statuses", - "description": "Users with pull access can view deployment statuses for a deployment:", - "tags": ["repos"], - "operationId": "repos/list-deployment-statuses", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#list-deployment-statuses" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/deployment_id" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/deployment-status" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/deployment-status-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "flash", - "note": "New features in the Deployments API on GitHub are currently available during a public beta. Please see the [blog post](https://developer.github.com/changes/2018-10-16-deployments-environments-states-and-auto-inactive-updates/) for full details.\n\nTo access the new `environment` parameter, the two new values for the `state` parameter (`in_progress` and `queued`), and use `auto_inactive` on production deployments during the public beta period, you must provide the following custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.flash-preview+json\n```" - }, - { - "required": false, - "name": "ant-man", - "note": "The `inactive` state and the `log_url`, `environment_url`, and `auto_inactive` parameters are currently available for developers to preview. Please see the [blog post](https://developer.github.com/changes/2016-04-06-deployment-and-deployment-status-enhancements) for full details.\n\nTo access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.ant-man-preview+json\n```" - } - ], - "category": "repos", - "subcategory": "deployments" - }, - "x-octokit": {} - }, - "post": { - "summary": "Create a deployment status", - "description": "Users with `push` access can create deployment statuses for a given deployment.\n\nGitHub Apps require `read & write` access to \"Deployments\" and `read-only` access to \"Repo contents\" (for private repos). OAuth Apps require the `repo_deployment` scope.", - "tags": ["repos"], - "operationId": "repos/create-deployment-status", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#create-a-deployment-status" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/deployment_id" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "state": { - "type": "string", - "description": "The state of the status. Can be one of `error`, `failure`, `inactive`, `in_progress`, `queued` `pending`, or `success`. **Note:** To use the `inactive` state, you must provide the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type. To use the `in_progress` and `queued` states, you must provide the [`application/vnd.github.flash-preview+json`](https://docs.github.com/rest/overview/api-previews#deployment-statuses) custom media type. When you set a transient deployment to `inactive`, the deployment will be shown as `destroyed` in GitHub.", - "enum": [ - "error", - "failure", - "inactive", - "in_progress", - "queued", - "pending", - "success" - ] - }, - "target_url": { - "type": "string", - "description": "The target URL to associate with this status. This URL should contain output to keep the user updated while the task is running or serve as historical information for what happened in the deployment. **Note:** It's recommended to use the `log_url` parameter, which replaces `target_url`.", - "default": "" - }, - "log_url": { - "type": "string", - "description": "The full URL of the deployment's output. This parameter replaces `target_url`. We will continue to accept `target_url` to support legacy uses, but we recommend replacing `target_url` with `log_url`. Setting `log_url` will automatically set `target_url` to the same value. Default: `\"\"` \n**Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type. **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type.", - "default": "" - }, - "description": { - "type": "string", - "description": "A short description of the status. The maximum description length is 140 characters.", - "default": "" - }, - "environment": { - "type": "string", - "description": "Name for the target deployment environment, which can be changed when setting a deploy status. For example, `production`, `staging`, or `qa`. **Note:** This parameter requires you to use the [`application/vnd.github.flash-preview+json`](https://docs.github.com/rest/overview/api-previews#deployment-statuses) custom media type.", - "enum": ["production", "staging", "qa"] - }, - "environment_url": { - "type": "string", - "description": "Sets the URL for accessing your environment. Default: `\"\"` \n**Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type. **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type.", - "default": "" - }, - "auto_inactive": { - "type": "boolean", - "description": "Adds a new `inactive` status to all prior non-transient, non-production environment deployments with the same repository and `environment` name as the created status's deployment. An `inactive` status is only added to deployments that had a `success` state. Default: `true` \n**Note:** To add an `inactive` status to `production` environments, you must use the [`application/vnd.github.flash-preview+json`](https://docs.github.com/rest/overview/api-previews#deployment-statuses) custom media type. \n**Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type." - } - }, - "required": ["state"] - }, - "example": { - "environment": "production", - "state": "success", - "log_url": "https://example.com/deployment/42/output", - "description": "Deployment finished successfully." - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/deployment-status" }, - "examples": { - "default": { - "$ref": "#/components/examples/deployment-status" - } - } - } - }, - "headers": { - "Location": { - "example": "https://api.github.com/repos/octocat/example/deployments/42/statuses/1", - "schema": { "type": "string" } - } - } - }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "flash", - "note": "New features in the Deployments API on GitHub are currently available during a public beta. Please see the [blog post](https://developer.github.com/changes/2018-10-16-deployments-environments-states-and-auto-inactive-updates/) for full details.\n\nTo access the new `environment` parameter, the two new values for the `state` parameter (`in_progress` and `queued`), and use `auto_inactive` on production deployments during the public beta period, you must provide the following custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.flash-preview+json\n```" - }, - { - "required": false, - "name": "ant-man", - "note": "The `inactive` state and the `log_url`, `environment_url`, and `auto_inactive` parameters are currently available for developers to preview. Please see the [blog post](https://developer.github.com/changes/2016-04-06-deployment-and-deployment-status-enhancements) for full details.\n\nTo access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.ant-man-preview+json\n```" - } - ], - "category": "repos", - "subcategory": "deployments" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}": { - "get": { - "summary": "Get a deployment status", - "description": "Users with pull access can view a deployment status for a deployment:", - "tags": ["repos"], - "operationId": "repos/get-deployment-status", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#get-a-deployment-status" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/deployment_id" }, - { - "name": "status_id", - "in": "path", - "required": true, - "schema": { "type": "integer" } - } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/deployment-status" }, - "examples": { - "default": { - "$ref": "#/components/examples/deployment-status" - } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "415": { "$ref": "#/components/responses/preview_header_missing" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "flash", - "note": "New features in the Deployments API on GitHub are currently available during a public beta. Please see the [blog post](https://developer.github.com/changes/2018-10-16-deployments-environments-states-and-auto-inactive-updates/) for full details.\n\nTo access the new `environment` parameter, the two new values for the `state` parameter (`in_progress` and `queued`), and use `auto_inactive` on production deployments during the public beta period, you must provide the following custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.flash-preview+json\n```" - }, - { - "required": false, - "name": "ant-man", - "note": "The `inactive` state and the `log_url`, `environment_url`, and `auto_inactive` parameters are currently available for developers to preview. Please see the [blog post](https://developer.github.com/changes/2016-04-06-deployment-and-deployment-status-enhancements) for full details.\n\nTo access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.ant-man-preview+json\n```" - } - ], - "category": "repos", - "subcategory": "deployments" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/dispatches": { - "post": { - "summary": "Create a repository dispatch event", - "description": "You can use this endpoint to trigger a webhook event called `repository_dispatch` when you want activity that happens outside of GitHub to trigger a GitHub Actions workflow or GitHub App webhook. You must configure your GitHub Actions workflow or GitHub App to run when the `repository_dispatch` event occurs. For an example `repository_dispatch` webhook payload, see \"[RepositoryDispatchEvent](https://docs.github.com/webhooks/event-payloads/#repository_dispatch).\"\n\nThe `client_payload` parameter is available for any extra information that your workflow might need. This parameter is a JSON payload that will be passed on when the webhook event is dispatched. For example, the `client_payload` can include a message that a user would like to send using a GitHub Actions workflow. Or the `client_payload` can be used as a test to debug your workflow.\n\nThis endpoint requires write access to the repository by providing either:\n\n - Personal access tokens with `repo` scope. For more information, see \"[Creating a personal access token for the command line](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line)\" in the GitHub Help documentation.\n - GitHub Apps with both `metadata:read` and `contents:read&write` permissions.\n\nThis input example shows how you can use the `client_payload` as a test to debug your workflow.", - "tags": ["repos"], - "operationId": "repos/create-dispatch-event", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/repos/#create-a-repository-dispatch-event" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["event_type"], - "properties": { - "event_type": { - "type": "string", - "description": "A custom webhook event name." - }, - "client_payload": { - "type": "object", - "description": "JSON payload with extra information about the webhook event that your action or worklow may use.", - "additionalProperties": true - } - } - }, - "example": { - "event_type": "on-demand-test", - "client_payload": { "unit": false, "integration": true } - } - } - } - }, - "responses": { - "204": { "description": "Empty response" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/events": { - "get": { - "summary": "List repository events", - "description": "", - "tags": ["activity"], - "operationId": "activity/list-repo-events", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/activity#list-repository-events" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/event" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "activity", - "subcategory": "events" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/forks": { - "get": { - "summary": "List forks", - "description": "", - "tags": ["repos"], - "operationId": "repos/list-forks", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#list-forks" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "sort", - "description": "The sort order. Can be either `newest`, `oldest`, or `stargazers`.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["newest", "oldest", "stargazers"], - "default": "newest" - } - }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/minimal-repository" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/minimal-repository-items-2" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "400": { "$ref": "#/components/responses/bad_request" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "forks" - }, - "x-octokit": {} - }, - "post": { - "summary": "Create a fork", - "description": "Create a fork for the authenticated user.\n\n**Note**: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Support](https://support.github.com/contact) or [GitHub Premium Support](https://premium.githubsupport.com).", - "tags": ["repos"], - "operationId": "repos/create-fork", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#create-a-fork" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "organization": { - "type": "string", - "description": "Optional parameter to specify the organization name if forking into an organization." - } - } - } - } - } - }, - "responses": { - "202": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/repository" }, - "examples": { - "default": { "$ref": "#/components/examples/repository" } - } - } - } - }, - "400": { "$ref": "#/components/responses/bad_request" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "forks" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/git/blobs": { - "post": { - "summary": "Create a blob", - "description": "", - "tags": ["git"], - "operationId": "git/create-blob", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/git#create-a-blob" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "content": { - "type": "string", - "description": "The new blob's content." - }, - "encoding": { - "type": "string", - "description": "The encoding used for `content`. Currently, `\"utf-8\"` and `\"base64\"` are supported.", - "default": "utf-8" - } - }, - "required": ["content"] - }, - "example": { - "content": "Content of the blob", - "encoding": "utf-8" - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/short-blob" }, - "examples": { - "default": { "$ref": "#/components/examples/short-blob" } - } - } - }, - "headers": { - "Location": { - "example": "https://api.github.com/repos/octocat/example/git/blobs/3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15", - "schema": { "type": "string" } - } - } - }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "409": { "$ref": "#/components/responses/conflict" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "git", - "subcategory": "blobs" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/git/blobs/{file_sha}": { - "get": { - "summary": "Get a blob", - "description": "The `content` in the response will always be Base64 encoded.\n\n_Note_: This API supports blobs up to 100 megabytes in size.", - "tags": ["git"], - "operationId": "git/get-blob", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/git#get-a-blob" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "file_sha", - "in": "path", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/blob" }, - "examples": { - "default": { "$ref": "#/components/examples/blob" } - } - } - } - }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "git", - "subcategory": "blobs" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/git/commits": { - "post": { - "summary": "Create a commit", - "description": "Creates a new Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects).\n\n**Signature verification object**\n\nThe response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object:\n\n| Name | Type | Description |\n| ---- | ---- | ----------- |\n| `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. |\n| `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. |\n| `signature` | `string` | The signature that was extracted from the commit. |\n| `payload` | `string` | The value that was signed. |\n\nThese are the possible values for `reason` in the `verification` object:\n\n| Value | Description |\n| ----- | ----------- |\n| `expired_key` | The key that made the signature is expired. |\n| `not_signing_key` | The \"signing\" flag is not among the usage flags in the GPG key that made the signature. |\n| `gpgverify_error` | There was an error communicating with the signature verification service. |\n| `gpgverify_unavailable` | The signature verification service is currently unavailable. |\n| `unsigned` | The object does not include a signature. |\n| `unknown_signature_type` | A non-PGP signature was found in the commit. |\n| `no_user` | No user was associated with the `committer` email address in the commit. |\n| `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |\n| `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. |\n| `unknown_key` | The key that made the signature has not been registered with any user's account. |\n| `malformed_signature` | There was an error parsing the signature. |\n| `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |\n| `valid` | None of the above errors applied, so the signature is considered to be verified. |", - "tags": ["git"], - "operationId": "git/create-commit", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/git#create-a-commit" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "description": "The commit message" - }, - "tree": { - "type": "string", - "description": "The SHA of the tree object this commit points to" - }, - "parents": { - "type": "array", - "description": "The SHAs of the commits that were the parents of this commit. If omitted or empty, the commit will be written as a root commit. For a single parent, an array of one SHA should be provided; for a merge commit, an array of more than one should be provided.", - "items": { "type": "string" } - }, - "author": { - "type": "object", - "description": "Information about the author of the commit. By default, the `author` will be the authenticated user and the current date. See the `author` and `committer` object below for details.", - "properties": { - "name": { - "type": "string", - "description": "The name of the author (or committer) of the commit" - }, - "email": { - "type": "string", - "description": "The email of the author (or committer) of the commit" - }, - "date": { - "type": "string", - "description": "Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." - } - } - }, - "committer": { - "type": "object", - "description": "Information about the person who is making the commit. By default, `committer` will use the information set in `author`. See the `author` and `committer` object below for details.", - "properties": { - "name": { - "type": "string", - "description": "The name of the author (or committer) of the commit" - }, - "email": { - "type": "string", - "description": "The email of the author (or committer) of the commit" - }, - "date": { - "type": "string", - "description": "Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." - } - } - }, - "signature": { - "type": "string", - "description": "The [PGP signature](https://en.wikipedia.org/wiki/Pretty_Good_Privacy) of the commit. GitHub adds the signature to the `gpgsig` header of the created commit. For a commit signature to be verifiable by Git or GitHub, it must be an ASCII-armored detached PGP signature over the string commit as it would be written to the object database. To pass a `signature` parameter, you need to first manually create a valid PGP signature, which can be complicated. You may find it easier to [use the command line](https://git-scm.com/book/id/v2/Git-Tools-Signing-Your-Work) to create signed commits." - } - }, - "required": ["message", "tree"] - }, - "example": { - "message": "my commit message", - "author": { - "name": "Mona Octocat", - "email": "octocat@github.com", - "date": "2008-07-09T16:13:30+12:00" - }, - "parents": ["7d1b31e74ee336d15cbd21741bc88a537ed063a0"], - "tree": "827efc6d56897b048c772eb4087f854f46256132", - "signature": "-----BEGIN PGP SIGNATURE-----\n\niQIzBAABAQAdFiEESn/54jMNIrGSE6Tp6cQjvhfv7nAFAlnT71cACgkQ6cQjvhfv\n7nCWwA//XVqBKWO0zF+bZl6pggvky3Oc2j1pNFuRWZ29LXpNuD5WUGXGG209B0hI\nDkmcGk19ZKUTnEUJV2Xd0R7AW01S/YSub7OYcgBkI7qUE13FVHN5ln1KvH2all2n\n2+JCV1HcJLEoTjqIFZSSu/sMdhkLQ9/NsmMAzpf/iIM0nQOyU4YRex9eD1bYj6nA\nOQPIDdAuaTQj1gFPHYLzM4zJnCqGdRlg0sOM/zC5apBNzIwlgREatOYQSCfCKV7k\nnrU34X8b9BzQaUx48Qa+Dmfn5KQ8dl27RNeWAqlkuWyv3pUauH9UeYW+KyuJeMkU\n+NyHgAsWFaCFl23kCHThbLStMZOYEnGagrd0hnm1TPS4GJkV4wfYMwnI4KuSlHKB\njHl3Js9vNzEUQipQJbgCgTiWvRJoK3ENwBTMVkKHaqT4x9U4Jk/XZB6Q8MA09ezJ\n3QgiTjTAGcum9E9QiJqMYdWQPWkaBIRRz5cET6HPB48YNXAAUsfmuYsGrnVLYbG+\nUpC6I97VybYHTy2O9XSGoaLeMI9CsFn38ycAxxbWagk5mhclNTP5mezIq6wKSwmr\nX11FW3n1J23fWZn5HJMBsRnUCgzqzX3871IqLYHqRJ/bpZ4h20RhTyPj5c/z7QXp\neSakNQMfbbMcljkha+ZMuVQX1K9aRlVqbmv3ZMWh+OijLYVU2bc=\n=5Io4\n-----END PGP SIGNATURE-----\n" - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/git-commit" }, - "examples": { - "default": { "$ref": "#/components/examples/git-commit" } - } - } - }, - "headers": { - "Location": { - "example": "https://api.github.com/repos/octocat/Hello-World/git/commits/7638417db6d59f3c431d3e1f261cc637155684cd", - "schema": { "type": "string" } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "git", - "subcategory": "commits" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/git/commits/{commit_sha}": { - "get": { - "summary": "Get a commit", - "description": "Gets a Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects).\n\n**Signature verification object**\n\nThe response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object:\n\n| Name | Type | Description |\n| ---- | ---- | ----------- |\n| `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. |\n| `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. |\n| `signature` | `string` | The signature that was extracted from the commit. |\n| `payload` | `string` | The value that was signed. |\n\nThese are the possible values for `reason` in the `verification` object:\n\n| Value | Description |\n| ----- | ----------- |\n| `expired_key` | The key that made the signature is expired. |\n| `not_signing_key` | The \"signing\" flag is not among the usage flags in the GPG key that made the signature. |\n| `gpgverify_error` | There was an error communicating with the signature verification service. |\n| `gpgverify_unavailable` | The signature verification service is currently unavailable. |\n| `unsigned` | The object does not include a signature. |\n| `unknown_signature_type` | A non-PGP signature was found in the commit. |\n| `no_user` | No user was associated with the `committer` email address in the commit. |\n| `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |\n| `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. |\n| `unknown_key` | The key that made the signature has not been registered with any user's account. |\n| `malformed_signature` | There was an error parsing the signature. |\n| `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |\n| `valid` | None of the above errors applied, so the signature is considered to be verified. |", - "tags": ["git"], - "operationId": "git/get-commit", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/git#get-a-commit" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/commit_sha" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/git-commit" }, - "examples": { - "default": { "$ref": "#/components/examples/git-commit-2" } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "git", - "subcategory": "commits" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/git/matching-refs/{ref}": { - "get": { - "summary": "List matching references", - "description": "Returns an array of references from your Git database that match the supplied name. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't exist in the repository, but existing refs start with `:ref`, they will be returned as an array.\n\nWhen you use this endpoint without providing a `:ref`, it will return an array of all the references from your Git database, including notes and stashes if they exist on the server. Anything in the namespace is returned, not just `heads` and `tags`.\n\n**Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see \"[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)\".\n\nIf you request matching references for a branch named `feature` but the branch `feature` doesn't exist, the response can still include other matching head refs that start with the word `feature`, such as `featureA` and `featureB`.", - "tags": ["git"], - "operationId": "git/list-matching-refs", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/git#list-matching-references" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "ref", - "description": "ref+ parameter", - "in": "path", - "required": true, - "schema": { "type": "string" }, - "x-multi-segment": true - }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/git-ref" } - }, - "examples": { - "default": { "$ref": "#/components/examples/git-ref-items" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "git", - "subcategory": "refs" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/git/ref/{ref}": { - "get": { - "summary": "Get a reference", - "description": "Returns a single reference from your Git database. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't match an existing ref, a `404` is returned.\n\n**Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see \"[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)\".", - "tags": ["git"], - "operationId": "git/get-ref", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/git#get-a-reference" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "ref", - "description": "ref+ parameter", - "in": "path", - "required": true, - "schema": { "type": "string" }, - "x-multi-segment": true - } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/git-ref" }, - "examples": { - "default": { "$ref": "#/components/examples/git-ref" } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "git", - "subcategory": "refs" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/git/refs": { - "post": { - "summary": "Create a reference", - "description": "Creates a reference for your repository. You are unable to create new references for empty repositories, even if the commit SHA-1 hash used exists. Empty repositories are repositories without branches.", - "tags": ["git"], - "operationId": "git/create-ref", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/git#create-a-reference" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "ref": { - "type": "string", - "description": "The name of the fully qualified reference (ie: `refs/heads/master`). If it doesn't start with 'refs' and have at least two slashes, it will be rejected." - }, - "sha": { - "type": "string", - "description": "The SHA1 value for this reference." - }, - "key": { - "type": "string", - "example": "\"refs/heads/newbranch\"" - } - }, - "required": ["ref", "sha"] - }, - "example": { - "ref": "refs/heads/featureA", - "sha": "aa218f56b14c9653891f9e74264a383fa43fefbd" - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/git-ref" }, - "examples": { - "default": { "$ref": "#/components/examples/git-ref" } - } - } - }, - "headers": { - "Location": { - "example": "https://api.github.com/repos/octocat/Hello-World/git/refs/heads/featureA", - "schema": { "type": "string" } - } - } - }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "git", - "subcategory": "refs" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/git/refs/{ref}": { - "patch": { - "summary": "Update a reference", - "description": "", - "tags": ["git"], - "operationId": "git/update-ref", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/git#update-a-reference" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "ref", - "description": "ref+ parameter", - "in": "path", - "required": true, - "schema": { "type": "string" }, - "x-multi-segment": true - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "sha": { - "type": "string", - "description": "The SHA1 value to set this reference to" - }, - "force": { - "type": "boolean", - "description": "Indicates whether to force the update or to make sure the update is a fast-forward update. Leaving this out or setting it to `false` will make sure you're not overwriting work.", - "default": false - } - }, - "required": ["sha"] - }, - "example": { - "sha": "aa218f56b14c9653891f9e74264a383fa43fefbd", - "force": true - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/git-ref" }, - "examples": { - "default": { "$ref": "#/components/examples/git-ref" } - } - } - } - }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "git", - "subcategory": "refs" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a reference", - "description": "", - "tags": ["git"], - "operationId": "git/delete-ref", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/git#delete-a-reference" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "ref", - "description": "ref+ parameter", - "in": "path", - "required": true, - "schema": { "type": "string" }, - "x-multi-segment": true - } - ], - "responses": { - "204": { "description": "Empty response" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "git", - "subcategory": "refs" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/git/tags": { - "post": { - "summary": "Create a tag object", - "description": "Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then [create](https://docs.github.com/rest/reference/git#create-a-reference) the `refs/tags/[tag]` reference. If you want to create a lightweight tag, you only have to [create](https://docs.github.com/rest/reference/git#create-a-reference) the tag reference - this call would be unnecessary.\n\n**Signature verification object**\n\nThe response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object:\n\n| Name | Type | Description |\n| ---- | ---- | ----------- |\n| `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. |\n| `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. |\n| `signature` | `string` | The signature that was extracted from the commit. |\n| `payload` | `string` | The value that was signed. |\n\nThese are the possible values for `reason` in the `verification` object:\n\n| Value | Description |\n| ----- | ----------- |\n| `expired_key` | The key that made the signature is expired. |\n| `not_signing_key` | The \"signing\" flag is not among the usage flags in the GPG key that made the signature. |\n| `gpgverify_error` | There was an error communicating with the signature verification service. |\n| `gpgverify_unavailable` | The signature verification service is currently unavailable. |\n| `unsigned` | The object does not include a signature. |\n| `unknown_signature_type` | A non-PGP signature was found in the commit. |\n| `no_user` | No user was associated with the `committer` email address in the commit. |\n| `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |\n| `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. |\n| `unknown_key` | The key that made the signature has not been registered with any user's account. |\n| `malformed_signature` | There was an error parsing the signature. |\n| `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |\n| `valid` | None of the above errors applied, so the signature is considered to be verified. |", - "tags": ["git"], - "operationId": "git/create-tag", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/git#create-a-tag-object" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "tag": { - "type": "string", - "description": "The tag's name. This is typically a version (e.g., \"v0.0.1\")." - }, - "message": { - "type": "string", - "description": "The tag message." - }, - "object": { - "type": "string", - "description": "The SHA of the git object this is tagging." - }, - "type": { - "type": "string", - "description": "The type of the object we're tagging. Normally this is a `commit` but it can also be a `tree` or a `blob`.", - "enum": ["commit", "tree", "blob"] - }, - "tagger": { - "type": "object", - "description": "An object with information about the individual creating the tag.", - "properties": { - "name": { - "type": "string", - "description": "The name of the author of the tag" - }, - "email": { - "type": "string", - "description": "The email of the author of the tag" - }, - "date": { - "type": "string", - "description": "When this object was tagged. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." - } - } - } - }, - "required": ["tag", "message", "object", "type"] - }, - "example": { - "tag": "v0.0.1", - "message": "initial version", - "object": "c3d0be41ecbe669545ee3e94d31ed9a4bc91ee3c", - "type": "commit", - "tagger": { - "name": "Monalisa Octocat", - "email": "octocat@github.com", - "date": "2011-06-17T14:53:35-07:00" - } - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/git-tag" }, - "examples": { - "default": { "$ref": "#/components/examples/git-tag" } - } - } - }, - "headers": { - "Location": { - "example": "https://api.github.com/repos/octocat/Hello-World/git/tags/940bd336248efae0f9ee5bc7b2d5c985887b16ac", - "schema": { "type": "string" } - } - } - }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "git", - "subcategory": "tags" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/git/tags/{tag_sha}": { - "get": { - "summary": "Get a tag", - "description": "**Signature verification object**\n\nThe response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object:\n\n| Name | Type | Description |\n| ---- | ---- | ----------- |\n| `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. |\n| `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. |\n| `signature` | `string` | The signature that was extracted from the commit. |\n| `payload` | `string` | The value that was signed. |\n\nThese are the possible values for `reason` in the `verification` object:\n\n| Value | Description |\n| ----- | ----------- |\n| `expired_key` | The key that made the signature is expired. |\n| `not_signing_key` | The \"signing\" flag is not among the usage flags in the GPG key that made the signature. |\n| `gpgverify_error` | There was an error communicating with the signature verification service. |\n| `gpgverify_unavailable` | The signature verification service is currently unavailable. |\n| `unsigned` | The object does not include a signature. |\n| `unknown_signature_type` | A non-PGP signature was found in the commit. |\n| `no_user` | No user was associated with the `committer` email address in the commit. |\n| `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |\n| `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. |\n| `unknown_key` | The key that made the signature has not been registered with any user's account. |\n| `malformed_signature` | There was an error parsing the signature. |\n| `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |\n| `valid` | None of the above errors applied, so the signature is considered to be verified. |", - "tags": ["git"], - "operationId": "git/get-tag", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/git#get-a-tag" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "tag_sha", - "in": "path", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/git-tag" }, - "examples": { - "default": { "$ref": "#/components/examples/git-tag" } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "git", - "subcategory": "tags" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/git/trees": { - "post": { - "summary": "Create a tree", - "description": "The tree creation API accepts nested entries. If you specify both a tree and a nested path modifying that tree, this endpoint will overwrite the contents of the tree with the new path contents, and create a new tree structure.\n\nIf you use this endpoint to add, delete, or modify the file contents in a tree, you will need to commit the tree and then update a branch to point to the commit. For more information see \"[Create a commit](https://docs.github.com/rest/reference/git#create-a-commit)\" and \"[Update a reference](https://docs.github.com/rest/reference/git#update-a-reference).\"", - "tags": ["git"], - "operationId": "git/create-tree", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/git#create-a-tree" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "tree": { - "type": "array", - "description": "Objects (of `path`, `mode`, `type`, and `sha`) specifying a tree structure.", - "items": { - "type": "object", - "properties": { - "path": { - "type": "string", - "description": "The file referenced in the tree." - }, - "mode": { - "type": "string", - "description": "The file mode; one of `100644` for file (blob), `100755` for executable (blob), `040000` for subdirectory (tree), `160000` for submodule (commit), or `120000` for a blob that specifies the path of a symlink.", - "enum": [ - "100644", - "100755", - "040000", - "160000", - "120000" - ] - }, - "type": { - "type": "string", - "description": "Either `blob`, `tree`, or `commit`.", - "enum": ["blob", "tree", "commit"] - }, - "sha": { - "type": "string", - "description": "The SHA1 checksum ID of the object in the tree. Also called `tree.sha`. If the value is `null` then the file will be deleted. \n \n**Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error.", - "nullable": true - }, - "content": { - "type": "string", - "description": "The content you want this file to have. GitHub will write this blob out and use that SHA for this entry. Use either this, or `tree.sha`. \n \n**Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error." - } - } - } - }, - "base_tree": { - "type": "string", - "description": "The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\nIf not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit.\n" - } - }, - "required": ["tree"] - }, - "example": { - "base_tree": "9fb037999f264ba9a7fc6274d15fa3ae2ab98312", - "tree": [ - { - "path": "file.rb", - "mode": "100644", - "type": "blob", - "sha": "44b4fc6d56897b048c772eb4087f854f46256132" - } - ] - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/git-tree" }, - "examples": { - "default": { "$ref": "#/components/examples/git-tree" } - } - } - }, - "headers": { - "Location": { - "example": "https://api.github.com/repos/octocat/Hello-World/trees/cd8274d15fa3ae2ab983129fb037999f264ba9a7", - "schema": { "type": "string" } - } - } - }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "git", - "subcategory": "trees" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/git/trees/{tree_sha}": { - "get": { - "summary": "Get a tree", - "description": "Returns a single tree using the SHA1 value for that tree.\n\nIf `truncated` is `true` in the response then the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, use the non-recursive method of fetching trees, and fetch one sub-tree at a time.", - "tags": ["git"], - "operationId": "git/get-tree", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/git#get-a-tree" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "tree_sha", - "in": "path", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "recursive", - "description": "Setting this parameter to any value returns the objects or subtrees referenced by the tree specified in `:tree_sha`. For example, setting `recursive` to any of the following will enable returning objects or subtrees: `0`, `1`, `\"true\"`, and `\"false\"`. Omit this parameter to prevent recursively returning objects or subtrees.", - "in": "query", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/git-tree" }, - "examples": { - "default-response": { - "$ref": "#/components/examples/git-tree-default-response" - }, - "response-recursively-retrieving-a-tree": { - "$ref": "#/components/examples/git-tree-response-recursively-retrieving-a-tree" - } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "git", - "subcategory": "trees" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/hooks": { - "get": { - "summary": "List repository webhooks", - "description": "", - "tags": ["repos"], - "operationId": "repos/list-webhooks", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#list-repository-webhooks" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/hook" } - }, - "examples": { - "default": { "$ref": "#/components/examples/hook-items" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "webhooks" - }, - "x-octokit": {} - }, - "post": { - "summary": "Create a repository webhook", - "description": "Repositories can have multiple webhooks installed. Each webhook should have a unique `config`. Multiple webhooks can\nshare the same `config` as long as those webhooks do not have any `events` that overlap.", - "tags": ["repos"], - "operationId": "repos/create-webhook", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#create-a-repository-webhook" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Use `web` to create a webhook. Default: `web`. This parameter only accepts the value `web`." - }, - "config": { - "type": "object", - "description": "Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/repos#create-hook-config-params).", - "properties": { - "url": { - "$ref": "#/components/schemas/webhook-config-url" - }, - "content_type": { - "$ref": "#/components/schemas/webhook-config-content-type" - }, - "secret": { - "$ref": "#/components/schemas/webhook-config-secret" - }, - "insecure_ssl": { - "$ref": "#/components/schemas/webhook-config-insecure-ssl" - }, - "token": { "type": "string", "example": "\"abc\"" }, - "digest": { "type": "string", "example": "\"sha256\"" } - }, - "required": ["url"] - }, - "events": { - "type": "array", - "description": "Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for.", - "default": ["push"], - "items": { "type": "string" } - }, - "active": { - "type": "boolean", - "description": "Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications.", - "default": true - } - }, - "required": ["config"] - }, - "example": { - "name": "web", - "active": true, - "events": ["push", "pull_request"], - "config": { - "url": "https://example.com/webhook", - "content_type": "json", - "insecure_ssl": "0" - } - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/hook" }, - "examples": { - "default": { "$ref": "#/components/examples/hook" } - } - } - }, - "headers": { - "Location": { - "example": "https://api.github.com/repos/octocat/Hello-World/hooks/12345678", - "schema": { "type": "string" } - } - } - }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "webhooks" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/hooks/{hook_id}": { - "get": { - "summary": "Get a repository webhook", - "description": "Returns a webhook configured in a repository. To get only the webhook `config` properties, see \"[Get a webhook configuration for a repository](/rest/reference/repos#get-a-webhook-configuration-for-a-repository).\"", - "tags": ["repos"], - "operationId": "repos/get-webhook", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#get-a-repository-webhook" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/hook-id" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/hook" }, - "examples": { - "default": { "$ref": "#/components/examples/hook" } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "webhooks" - }, - "x-octokit": {} - }, - "patch": { - "summary": "Update a repository webhook", - "description": "Updates a webhook configured in a repository. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use \"[Update a webhook configuration for a repository](/rest/reference/repos#update-a-webhook-configuration-for-a-repository).\"", - "tags": ["repos"], - "operationId": "repos/update-webhook", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#update-a-repository-webhook" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/hook-id" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "config": { - "type": "object", - "description": "Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/repos#create-hook-config-params).", - "properties": { - "url": { - "$ref": "#/components/schemas/webhook-config-url" - }, - "content_type": { - "$ref": "#/components/schemas/webhook-config-content-type" - }, - "secret": { - "$ref": "#/components/schemas/webhook-config-secret" - }, - "insecure_ssl": { - "$ref": "#/components/schemas/webhook-config-insecure-ssl" - }, - "address": { - "type": "string", - "example": "\"bar@example.com\"" - }, - "room": { - "type": "string", - "example": "\"The Serious Room\"" - } - }, - "required": ["url"] - }, - "events": { - "type": "array", - "description": "Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. This replaces the entire array of events.", - "default": ["push"], - "items": { "type": "string" } - }, - "add_events": { - "type": "array", - "description": "Determines a list of events to be added to the list of events that the Hook triggers for.", - "items": { "type": "string" } - }, - "remove_events": { - "type": "array", - "description": "Determines a list of events to be removed from the list of events that the Hook triggers for.", - "items": { "type": "string" } - }, - "active": { - "type": "boolean", - "description": "Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications.", - "default": true - } - } - }, - "example": { "active": true, "add_events": ["pull_request"] } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/hook" }, - "examples": { - "default": { "$ref": "#/components/examples/hook" } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "webhooks" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a repository webhook", - "description": "", - "tags": ["repos"], - "operationId": "repos/delete-webhook", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#delete-a-repository-webhook" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/hook-id" } - ], - "responses": { - "204": { "description": "Empty response" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "webhooks" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/hooks/{hook_id}/config": { - "get": { - "summary": "Get a webhook configuration for a repository", - "description": "Returns the webhook configuration for a repository. To get more information about the webhook, including the `active` state and `events`, use \"[Get a repository webhook](/rest/reference/orgs#get-a-repository-webhook).\"\n\nAccess tokens must have the `read:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:read` permission.", - "tags": ["repos"], - "operationId": "repos/get-webhook-config-for-repo", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/repos#get-a-webhook-configuration-for-a-repository" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/hook-id" } - ], - "responses": { - "200": { - "description": "Default response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/webhook-config" }, - "examples": { - "default": { "$ref": "#/components/examples/webhook-config" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "webhooks" - }, - "x-octokit": {} - }, - "patch": { - "summary": "Update a webhook configuration for a repository", - "description": "Updates the webhook configuration for a repository. To update more information about the webhook, including the `active` state and `events`, use \"[Update a repository webhook](/rest/reference/orgs#update-a-repository-webhook).\"\n\nAccess tokens must have the `write:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:write` permission.", - "tags": ["repos"], - "operationId": "repos/update-webhook-config-for-repo", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/repos#update-a-webhook-configuration-for-a-repository" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/hook-id" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "url": { "$ref": "#/components/schemas/webhook-config-url" }, - "content_type": { - "$ref": "#/components/schemas/webhook-config-content-type" - }, - "secret": { - "$ref": "#/components/schemas/webhook-config-secret" - }, - "insecure_ssl": { - "$ref": "#/components/schemas/webhook-config-insecure-ssl" - } - }, - "example": { - "content_type": "json", - "insecure_ssl": "0", - "secret": "********", - "url": "https://example.com/webhook" - } - } - } - } - }, - "responses": { - "200": { - "description": "Default response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/webhook-config" }, - "examples": { - "default": { "$ref": "#/components/examples/webhook-config" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "webhooks" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/hooks/{hook_id}/pings": { - "post": { - "summary": "Ping a repository webhook", - "description": "This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook.", - "tags": ["repos"], - "operationId": "repos/ping-webhook", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#ping-a-repository-webhook" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/hook-id" } - ], - "responses": { - "204": { "description": "Empty response" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "webhooks" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/hooks/{hook_id}/tests": { - "post": { - "summary": "Test the push repository webhook", - "description": "This will trigger the hook with the latest push to the current repository if the hook is subscribed to `push` events. If the hook is not subscribed to `push` events, the server will respond with 204 but no test POST will be generated.\n\n**Note**: Previously `/repos/:owner/:repo/hooks/:hook_id/test`", - "tags": ["repos"], - "operationId": "repos/test-push-webhook", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#test-the-push-repository-webhook" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/hook-id" } - ], - "responses": { - "204": { "description": "Empty response" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "webhooks" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/import": { - "get": { - "summary": "Get an import status", - "description": "View the progress of an import.\n\n**Import status**\n\nThis section includes details about the possible values of the `status` field of the Import Progress response.\n\nAn import that does not have errors will progress through these steps:\n\n* `detecting` - the \"detection\" step of the import is in progress because the request did not include a `vcs` parameter. The import is identifying the type of source control present at the URL.\n* `importing` - the \"raw\" step of the import is in progress. This is where commit data is fetched from the original repository. The import progress response will include `commit_count` (the total number of raw commits that will be imported) and `percent` (0 - 100, the current progress through the import).\n* `mapping` - the \"rewrite\" step of the import is in progress. This is where SVN branches are converted to Git branches, and where author updates are applied. The import progress response does not include progress information.\n* `pushing` - the \"push\" step of the import is in progress. This is where the importer updates the repository on GitHub. The import progress response will include `push_percent`, which is the percent value reported by `git push` when it is \"Writing objects\".\n* `complete` - the import is complete, and the repository is ready on GitHub.\n\nIf there are problems, you will see one of these in the `status` field:\n\n* `auth_failed` - the import requires authentication in order to connect to the original repository. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section.\n* `error` - the import encountered an error. The import progress response will include the `failed_step` and an error message. Contact [GitHub Support](https://support.github.com/contact) or [GitHub Premium Support](https://premium.githubsupport.com) for more information.\n* `detection_needs_auth` - the importer requires authentication for the originating repository to continue detection. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section.\n* `detection_found_nothing` - the importer didn't recognize any source control at the URL. To resolve, [Cancel the import](https://docs.github.com/rest/reference/migrations#cancel-an-import) and [retry](https://docs.github.com/rest/reference/migrations#start-an-import) with the correct URL.\n* `detection_found_multiple` - the importer found several projects or repositories at the provided URL. When this is the case, the Import Progress response will also include a `project_choices` field with the possible project choices as values. To update project choice, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section.\n\n**The project_choices field**\n\nWhen multiple projects are found at the provided URL, the response hash will include a `project_choices` field, the value of which is an array of hashes each representing a project choice. The exact key/value pairs of the project hashes will differ depending on the version control type.\n\n**Git LFS related fields**\n\nThis section includes details about Git LFS related fields that may be present in the Import Progress response.\n\n* `use_lfs` - describes whether the import has been opted in or out of using Git LFS. The value can be `opt_in`, `opt_out`, or `undecided` if no action has been taken.\n* `has_large_files` - the boolean value describing whether files larger than 100MB were found during the `importing` step.\n* `large_files_size` - the total size in gigabytes of files larger than 100MB found in the originating repository.\n* `large_files_count` - the total number of files larger than 100MB found in the originating repository. To see a list of these files, make a \"Get Large Files\" request.", - "tags": ["migrations"], - "operationId": "migrations/get-import-status", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/migrations#get-an-import-status" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/import" }, - "examples": { - "default": { "$ref": "#/components/examples/import" } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "migrations", - "subcategory": "source-imports" - }, - "x-octokit": {} - }, - "put": { - "summary": "Start an import", - "description": "Start a source import to a GitHub repository using GitHub Importer.", - "tags": ["migrations"], - "operationId": "migrations/start-import", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/migrations#start-an-import" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "vcs_url": { - "type": "string", - "description": "The URL of the originating repository." - }, - "vcs": { - "type": "string", - "description": "The originating VCS type. Can be one of `subversion`, `git`, `mercurial`, or `tfvc`. Please be aware that without this parameter, the import job will take additional time to detect the VCS type before beginning the import. This detection step will be reflected in the response.", - "enum": ["subversion", "git", "mercurial", "tfvc"] - }, - "vcs_username": { - "type": "string", - "description": "If authentication is required, the username to provide to `vcs_url`." - }, - "vcs_password": { - "type": "string", - "description": "If authentication is required, the password to provide to `vcs_url`." - }, - "tfvc_project": { - "type": "string", - "description": "For a tfvc import, the name of the project that is being imported." - } - }, - "required": ["vcs_url"] - }, - "example": { - "vcs": "subversion", - "vcs_url": "http://svn.mycompany.com/svn/myproject", - "vcs_username": "octocat", - "vcs_password": "secret" - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/import" }, - "examples": { - "default": { "$ref": "#/components/examples/import-2" } - } - } - }, - "headers": { - "Location": { - "example": "https://api.github.com/repos/spraints/socm/import", - "schema": { "type": "string" } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "migrations", - "subcategory": "source-imports" - }, - "x-octokit": {} - }, - "patch": { - "summary": "Update an import", - "description": "An import can be updated with credentials or a project choice by passing in the appropriate parameters in this API\nrequest. If no parameters are provided, the import will be restarted.", - "tags": ["migrations"], - "operationId": "migrations/update-import", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/migrations#update-an-import" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "vcs_username": { - "type": "string", - "description": "The username to provide to the originating repository." - }, - "vcs_password": { - "type": "string", - "description": "The password to provide to the originating repository." - }, - "vcs": { "type": "string", "example": "\"git\"" }, - "tfvc_project": { - "type": "string", - "example": "\"project1\"" - } - } - }, - "examples": { - "example-1": { - "summary": "Example 1", - "value": { - "vcs_username": "octocat", - "vcs_password": "secret" - } - } - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/import" }, - "examples": { - "example-1": { - "$ref": "#/components/examples/import-example-1" - }, - "example-2": { - "$ref": "#/components/examples/import-example-2" - }, - "response": { - "$ref": "#/components/examples/import-response" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "migrations", - "subcategory": "source-imports" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Cancel an import", - "description": "Stop an import for a repository.", - "tags": ["migrations"], - "operationId": "migrations/cancel-import", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/migrations#cancel-an-import" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "migrations", - "subcategory": "source-imports" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/import/authors": { - "get": { - "summary": "Get commit authors", - "description": "Each type of source control system represents authors in a different way. For example, a Git commit author has a display name and an email address, but a Subversion commit author just has a username. The GitHub Importer will make the author information valid, but the author might not be correct. For example, it will change the bare Subversion username `hubot` into something like `hubot `.\n\nThis endpoint and the [Map a commit author](https://docs.github.com/rest/reference/migrations#map-a-commit-author) endpoint allow you to provide correct Git author information.", - "tags": ["migrations"], - "operationId": "migrations/get-commit-authors", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/migrations#get-commit-authors" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/since-user" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/porter-author" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/porter-author-items" - } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "migrations", - "subcategory": "source-imports" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/import/authors/{author_id}": { - "patch": { - "summary": "Map a commit author", - "description": "Update an author's identity for the import. Your application can continue updating authors any time before you push new commits to the repository.", - "tags": ["migrations"], - "operationId": "migrations/map-commit-author", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/migrations#map-a-commit-author" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "author_id", - "in": "path", - "required": true, - "schema": { "type": "integer" } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "email": { - "type": "string", - "description": "The new Git author email." - }, - "name": { - "type": "string", - "description": "The new Git author name." - }, - "remote_id": { - "type": "string", - "example": "\"can't touch this\"" - } - } - }, - "example": { - "email": "hubot@github.com", - "name": "Hubot the Robot" - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/porter-author" }, - "examples": { - "default": { "$ref": "#/components/examples/porter-author" } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "migrations", - "subcategory": "source-imports" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/import/large_files": { - "get": { - "summary": "Get large files", - "description": "List files larger than 100MB found during the import", - "tags": ["migrations"], - "operationId": "migrations/get-large-files", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/migrations#get-large-files" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/porter-large-file" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/porter-large-file-items" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "migrations", - "subcategory": "source-imports" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/import/lfs": { - "patch": { - "summary": "Update Git LFS preference", - "description": "You can import repositories from Subversion, Mercurial, and TFS that include files larger than 100MB. This ability is powered by [Git LFS](https://git-lfs.github.com). You can learn more about our LFS feature and working with large files [on our help site](https://help.github.com/articles/versioning-large-files/).", - "tags": ["migrations"], - "operationId": "migrations/set-lfs-preference", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/migrations#update-git-lfs-preference" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "use_lfs": { - "type": "string", - "description": "Can be one of `opt_in` (large files will be stored using Git LFS) or `opt_out` (large files will be removed during the import).", - "enum": ["opt_in", "opt_out"] - } - }, - "required": ["use_lfs"] - }, - "example": { "use_lfs": "opt_in" } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/import" }, - "examples": { - "default": { "$ref": "#/components/examples/import" } - } - } - } - }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "migrations", - "subcategory": "source-imports" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/installation": { - "get": { - "summary": "Get a repository installation for the authenticated app", - "description": "Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to.\n\nYou must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.", - "tags": ["apps"], - "operationId": "apps/get-repo-installation", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/apps/#get-a-repository-installation-for-the-authenticated-app" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/installation" }, - "examples": { - "default": { "$ref": "#/components/examples/installation" } - } - } - } - }, - "301": { "$ref": "#/components/responses/moved_permanently" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "apps", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/interaction-limits": { - "get": { - "summary": "Get interaction restrictions for a repository", - "description": "Shows which type of GitHub user can interact with this repository and when the restriction expires. If there are no restrictions, you will see an empty response.", - "tags": ["interactions"], - "operationId": "interactions/get-restrictions-for-repo", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/interactions#get-interaction-restrictions-for-a-repository" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/interaction-limit-response" - }, - "examples": { - "default": { - "$ref": "#/components/examples/interaction-limit-2" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "interactions", - "subcategory": "repos" - }, - "x-octokit": {} - }, - "put": { - "summary": "Set interaction restrictions for a repository", - "description": "Temporarily restricts interactions to a certain type of GitHub user within the given repository. You must have owner or admin access to set these restrictions. If an interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository.", - "tags": ["interactions"], - "operationId": "interactions/set-restrictions-for-repo", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/interactions#set-interaction-restrictions-for-a-repository" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/interaction-limit" } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/interaction-limit-response" - }, - "examples": { - "default": { - "$ref": "#/components/examples/interaction-limit-2" - } - } - } - } - }, - "409": { "description": "Conflict" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "interactions", - "subcategory": "repos" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Remove interaction restrictions for a repository", - "description": "Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. If the interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository.", - "tags": ["interactions"], - "operationId": "interactions/remove-restrictions-for-repo", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/interactions#remove-interaction-restrictions-for-a-repository" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { - "204": { "description": "Empty response" }, - "409": { "description": "Conflict" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "interactions", - "subcategory": "repos" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/invitations": { - "get": { - "summary": "List repository invitations", - "description": "When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations.", - "tags": ["repos"], - "operationId": "repos/list-invitations", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#list-repository-invitations" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/repository-invitation" - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/repository-invitation-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "invitations" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/invitations/{invitation_id}": { - "patch": { - "summary": "Update a repository invitation", - "description": "", - "tags": ["repos"], - "operationId": "repos/update-invitation", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#update-a-repository-invitation" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/invitation_id" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "permissions": { - "type": "string", - "description": "The permissions that the associated user will have on the repository. Valid values are `read`, `write`, `maintain`, `triage`, and `admin`.", - "enum": ["read", "write", "maintain", "triage", "admin"] - } - } - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/repository-invitation" - }, - "examples": { - "default": { - "$ref": "#/components/examples/repository-invitation" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "invitations" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a repository invitation", - "description": "", - "tags": ["repos"], - "operationId": "repos/delete-invitation", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#delete-a-repository-invitation" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/invitation_id" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "invitations" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/issues": { - "get": { - "summary": "List repository issues", - "description": "List issues in a repository.\n\n**Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this\nreason, \"Issues\" endpoints may return both issues and pull requests in the response. You can identify pull requests by\nthe `pull_request` key. Be aware that the `id` of a pull request returned from \"Issues\" endpoints will be an _issue id_. To find out the pull\nrequest id, use the \"[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)\" endpoint.", - "tags": ["issues"], - "operationId": "issues/list-for-repo", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/issues/#list-repository-issues" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "milestone", - "description": "If an `integer` is passed, it should refer to a milestone by its `number` field. If the string `*` is passed, issues with any milestone are accepted. If the string `none` is passed, issues without milestones are returned.", - "in": "query", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "state", - "description": "Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["open", "closed", "all"], - "default": "open" - } - }, - { - "name": "assignee", - "description": "Can be the name of a user. Pass in `none` for issues with no assigned user, and `*` for issues assigned to any user.", - "in": "query", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "creator", - "description": "The user that created the issue.", - "in": "query", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "mentioned", - "description": "A user that's mentioned in the issue.", - "in": "query", - "required": false, - "schema": { "type": "string" } - }, - { "$ref": "#/components/parameters/labels" }, - { - "name": "sort", - "description": "What to sort results by. Can be either `created`, `updated`, `comments`.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["created", "updated", "comments"], - "default": "created" - } - }, - { "$ref": "#/components/parameters/direction" }, - { "$ref": "#/components/parameters/since" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/issue-simple" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/issue-simple-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "301": { "$ref": "#/components/responses/moved_permanently" }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "category": "issues", - "subcategory": null - }, - "x-octokit": {} - }, - "post": { - "summary": "Create an issue", - "description": "Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://help.github.com/articles/disabling-issues/), the API returns a `410 Gone` status.\n\nThis endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-abuse-rate-limits)\" for details.", - "tags": ["issues"], - "operationId": "issues/create", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/issues/#create-an-issue" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "title": { - "oneOf": [{ "type": "string" }, { "type": "integer" }], - "description": "The title of the issue." - }, - "body": { - "type": "string", - "description": "The contents of the issue." - }, - "assignee": { - "type": "string", - "description": "Login for the user that this issue should be assigned to. _NOTE: Only users with push access can set the assignee for new issues. The assignee is silently dropped otherwise. **This field is deprecated.**_", - "nullable": true - }, - "milestone": { - "oneOf": [ - { "type": "string" }, - { - "type": "integer", - "description": "The `number` of the milestone to associate this issue with. _NOTE: Only users with push access can set the milestone for new issues. The milestone is silently dropped otherwise._" - } - ], - "nullable": true - }, - "labels": { - "type": "array", - "description": "Labels to associate with this issue. _NOTE: Only users with push access can set labels for new issues. Labels are silently dropped otherwise._", - "items": { - "oneOf": [ - { "type": "string" }, - { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "name": { "type": "string" }, - "description": { - "type": "string", - "nullable": true - }, - "color": { "type": "string", "nullable": true } - } - } - ] - } - }, - "assignees": { - "type": "array", - "description": "Logins for Users to assign to this issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._", - "items": { "type": "string" } - } - }, - "required": ["title"] - }, - "example": { - "title": "Found a bug", - "body": "I'm having a problem with this.", - "assignees": ["octocat"], - "milestone": 1, - "labels": ["bug"] - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/issue" }, - "examples": { - "default": { "$ref": "#/components/examples/issue" } - } - } - }, - "headers": { - "Location": { - "example": "https://api.github.com/repos/octocat/Hello-World/issues/1347", - "schema": { "type": "string" } - } - } - }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "410": { "$ref": "#/components/responses/gone" }, - "422": { "$ref": "#/components/responses/validation_failed" }, - "503": { "$ref": "#/components/responses/service_unavailable" } - }, - "x-github": { - "triggersNotification": true, - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "issues", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/issues/comments": { - "get": { - "summary": "List issue comments for a repository", - "description": "By default, Issue Comments are ordered by ascending ID.", - "tags": ["issues"], - "operationId": "issues/list-comments-for-repo", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/issues#list-issue-comments-for-a-repository" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/sort" }, - { - "name": "direction", - "description": "Either `asc` or `desc`. Ignored without the `sort` parameter.", - "in": "query", - "required": false, - "schema": { "type": "string", "enum": ["asc", "desc"] } - }, - { "$ref": "#/components/parameters/since" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/issue-comment" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/issue-comment-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "category": "issues", - "subcategory": "comments" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/issues/comments/{comment_id}": { - "get": { - "summary": "Get an issue comment", - "description": "", - "tags": ["issues"], - "operationId": "issues/get-comment", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/issues#get-an-issue-comment" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/comment_id" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/issue-comment" }, - "examples": { - "default": { "$ref": "#/components/examples/issue-comment" } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "category": "issues", - "subcategory": "comments" - }, - "x-octokit": {} - }, - "patch": { - "summary": "Update an issue comment", - "description": "", - "tags": ["issues"], - "operationId": "issues/update-comment", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/issues#update-an-issue-comment" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/comment_id" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "body": { - "type": "string", - "description": "The contents of the comment." - } - }, - "required": ["body"] - }, - "example": { "body": "Me too" } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/issue-comment" }, - "examples": { - "default": { "$ref": "#/components/examples/issue-comment" } - } - } - } - }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "issues", - "subcategory": "comments" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete an issue comment", - "description": "", - "tags": ["issues"], - "operationId": "issues/delete-comment", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/issues#delete-an-issue-comment" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/comment_id" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "issues", - "subcategory": "comments" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": { - "get": { - "summary": "List reactions for an issue comment", - "description": "List the reactions to an [issue comment](https://docs.github.com/rest/reference/issues#comments).", - "tags": ["reactions"], - "operationId": "reactions/list-for-issue-comment", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/reactions/#list-reactions-for-an-issue-comment" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/comment_id" }, - { - "name": "content", - "description": "Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to an issue comment.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": [ - "+1", - "-1", - "laugh", - "confused", - "heart", - "hooray", - "rocket", - "eyes" - ] - } - }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/reaction" } - }, - "examples": { - "default": { "$ref": "#/components/examples/reaction-items" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "415": { "$ref": "#/components/responses/preview_header_missing" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "category": "reactions", - "subcategory": null - }, - "x-octokit": {} - }, - "post": { - "summary": "Create reaction for an issue comment", - "description": "Create a reaction to an [issue comment](https://docs.github.com/rest/reference/issues#comments). A response with a `Status: 200 OK` means that you already added the reaction type to this issue comment.", - "tags": ["reactions"], - "operationId": "reactions/create-for-issue-comment", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/reactions/#create-reaction-for-an-issue-comment" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/comment_id" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "content": { - "type": "string", - "description": "The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the issue comment.", - "enum": [ - "+1", - "-1", - "laugh", - "confused", - "heart", - "hooray", - "rocket", - "eyes" - ] - } - }, - "required": ["content"] - }, - "example": { "content": "heart" } - } - } - }, - "responses": { - "200": { - "description": "Reaction exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/reaction" }, - "examples": { - "default": { "$ref": "#/components/examples/reaction" } - } - } - } - }, - "201": { - "description": "Reaction created", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/reaction" }, - "examples": { - "default": { "$ref": "#/components/examples/reaction" } - } - } - } - }, - "415": { "$ref": "#/components/responses/preview_header_missing" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "category": "reactions", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}": { - "delete": { - "summary": "Delete an issue comment reaction", - "description": "**Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id`.\n\nDelete a reaction to an [issue comment](https://docs.github.com/rest/reference/issues#comments).", - "tags": ["reactions"], - "operationId": "reactions/delete-for-issue-comment", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/reactions/#delete-an-issue-comment-reaction" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/comment_id" }, - { "$ref": "#/components/parameters/reaction-id" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "category": "reactions", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/issues/events": { - "get": { - "summary": "List issue events for a repository", - "description": "", - "tags": ["issues"], - "operationId": "issues/list-events-for-repo", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/issues#list-issue-events-for-a-repository" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/issue-event" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/issue-event-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "starfox", - "note": "Project card details are now shown in REST API v3 responses for project-related issue and timeline events. This feature is now available for developers to preview. For details, see the [blog post](https://developer.github.com/changes/2018-09-05-project-card-events).\n\nTo receive the `project_card` attribute, project boards must be [enabled](https://help.github.com/articles/disabling-project-boards-in-a-repository) for a repository, and you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.starfox-preview+json\n```" - } - ], - "category": "issues", - "subcategory": "events" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/issues/events/{event_id}": { - "get": { - "summary": "Get an issue event", - "description": "", - "tags": ["issues"], - "operationId": "issues/get-event", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/issues#get-an-issue-event" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "event_id", - "in": "path", - "required": true, - "schema": { "type": "integer" } - } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/issue-event" }, - "examples": { - "default": { "$ref": "#/components/examples/issue-event" } - } - } - } - }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "410": { "$ref": "#/components/responses/gone" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "starfox", - "note": "Project card details are now shown in REST API v3 responses for project-related issue and timeline events. This feature is now available for developers to preview. For details, see the [blog post](https://developer.github.com/changes/2018-09-05-project-card-events).\n\nTo receive the `project_card` attribute, project boards must be [enabled](https://help.github.com/articles/disabling-project-boards-in-a-repository) for a repository, and you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.starfox-preview+json\n```" - } - ], - "category": "issues", - "subcategory": "events" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/issues/{issue_number}": { - "get": { - "summary": "Get an issue", - "description": "The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-redirects-redirects) if the issue was\n[transferred](https://help.github.com/articles/transferring-an-issue-to-another-repository/) to another repository. If\nthe issue was transferred to or deleted from a repository where the authenticated user lacks read access, the API\nreturns a `404 Not Found` status. If the issue was deleted from a repository where the authenticated user has read\naccess, the API returns a `410 Gone` status. To receive webhook events for transferred and deleted issues, subscribe\nto the [`issues`](https://docs.github.com/webhooks/event-payloads/#issues) webhook.\n\n**Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this\nreason, \"Issues\" endpoints may return both issues and pull requests in the response. You can identify pull requests by\nthe `pull_request` key. Be aware that the `id` of a pull request returned from \"Issues\" endpoints will be an _issue id_. To find out the pull\nrequest id, use the \"[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)\" endpoint.", - "tags": ["issues"], - "operationId": "issues/get", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/issues/#get-an-issue" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/issue_number" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/issue" }, - "examples": { - "default": { "$ref": "#/components/examples/issue" } - } - } - } - }, - "301": { "$ref": "#/components/responses/moved_permanently" }, - "304": { "$ref": "#/components/responses/not_modified" }, - "404": { "$ref": "#/components/responses/not_found" }, - "410": { "$ref": "#/components/responses/gone" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "category": "issues", - "subcategory": null - }, - "x-octokit": {} - }, - "patch": { - "summary": "Update an issue", - "description": "Issue owners and users with push access can edit an issue.", - "tags": ["issues"], - "operationId": "issues/update", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/issues/#update-an-issue" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/issue_number" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "title": { - "oneOf": [{ "type": "string" }, { "type": "integer" }], - "description": "The title of the issue." - }, - "body": { - "type": "string", - "description": "The contents of the issue." - }, - "assignee": { - "type": "string", - "nullable": true, - "description": "Login for the user that this issue should be assigned to. **This field is deprecated.**" - }, - "state": { - "type": "string", - "description": "State of the issue. Either `open` or `closed`.", - "enum": ["open", "closed"] - }, - "milestone": { - "oneOf": [ - { "type": "string" }, - { - "type": "integer", - "description": "The `number` of the milestone to associate this issue with or `null` to remove current. _NOTE: Only users with push access can set the milestone for issues. The milestone is silently dropped otherwise._" - } - ], - "nullable": true - }, - "labels": { - "type": "array", - "description": "Labels to associate with this issue. Pass one or more Labels to _replace_ the set of Labels on this Issue. Send an empty array (`[]`) to clear all Labels from the Issue. _NOTE: Only users with push access can set labels for issues. Labels are silently dropped otherwise._", - "items": { - "oneOf": [ - { "type": "string" }, - { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "name": { "type": "string" }, - "description": { - "type": "string", - "nullable": true - }, - "color": { "type": "string", "nullable": true } - } - } - ] - } - }, - "assignees": { - "type": "array", - "description": "Logins for Users to assign to this issue. Pass one or more user logins to _replace_ the set of assignees on this Issue. Send an empty array (`[]`) to clear all assignees from the Issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._", - "items": { "type": "string" } - } - } - }, - "example": { - "title": "Found a bug", - "body": "I'm having a problem with this.", - "assignees": ["octocat"], - "milestone": 1, - "state": "open", - "labels": ["bug"] - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/issue" }, - "examples": { - "default": { "$ref": "#/components/examples/issue" } - } - } - } - }, - "301": { "$ref": "#/components/responses/moved_permanently" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "410": { "$ref": "#/components/responses/gone" }, - "422": { "$ref": "#/components/responses/validation_failed" }, - "503": { "$ref": "#/components/responses/service_unavailable" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "issues", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/issues/{issue_number}/assignees": { - "post": { - "summary": "Add assignees to an issue", - "description": "Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced.", - "tags": ["issues"], - "operationId": "issues/add-assignees", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/issues#add-assignees-to-an-issue" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/issue_number" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "assignees": { - "type": "array", - "description": "Usernames of people to assign this issue to. _NOTE: Only users with push access can add assignees to an issue. Assignees are silently ignored otherwise._", - "items": { "type": "string" } - } - } - }, - "example": { "assignees": ["hubot", "other_user"] } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/issue-simple" }, - "examples": { - "default": { "$ref": "#/components/examples/issue-simple" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "issues", - "subcategory": "assignees" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Remove assignees from an issue", - "description": "Removes one or more assignees from an issue.", - "tags": ["issues"], - "operationId": "issues/remove-assignees", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/issues#remove-assignees-from-an-issue" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/issue_number" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "assignees": { - "type": "array", - "description": "Usernames of assignees to remove from an issue. _NOTE: Only users with push access can remove assignees from an issue. Assignees are silently ignored otherwise._", - "items": { "type": "string" } - } - } - }, - "example": { "assignees": ["hubot", "other_user"] } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/issue-simple" }, - "examples": { - "default": { "$ref": "#/components/examples/issue-simple" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "issues", - "subcategory": "assignees" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/issues/{issue_number}/comments": { - "get": { - "summary": "List issue comments", - "description": "Issue Comments are ordered by ascending ID.", - "tags": ["issues"], - "operationId": "issues/list-comments", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/issues#list-issue-comments" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/issue_number" }, - { "$ref": "#/components/parameters/since" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/issue-comment" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/issue-comment-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "410": { "$ref": "#/components/responses/gone" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "category": "issues", - "subcategory": "comments" - }, - "x-octokit": {} - }, - "post": { - "summary": "Create an issue comment", - "description": "This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-abuse-rate-limits)\" for details.", - "tags": ["issues"], - "operationId": "issues/create-comment", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/issues#create-an-issue-comment" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/issue_number" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "body": { - "type": "string", - "description": "The contents of the comment." - } - }, - "required": ["body"] - }, - "example": { "body": "Me too" } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/issue-comment" }, - "examples": { - "default": { "$ref": "#/components/examples/issue-comment" } - } - } - }, - "headers": { - "Location": { - "example": "https://api.github.com/repos/octocat/Hello-World/issues/comments/1", - "schema": { "type": "string" } - } - } - }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "410": { "$ref": "#/components/responses/gone" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "triggersNotification": true, - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "issues", - "subcategory": "comments" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/issues/{issue_number}/events": { - "get": { - "summary": "List issue events", - "description": "", - "tags": ["issues"], - "operationId": "issues/list-events", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/issues#list-issue-events" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/issue_number" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/issue-event-for-issue" - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/issue-event-for-issue-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "410": { "$ref": "#/components/responses/gone" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "starfox", - "note": "Project card details are now shown in REST API v3 responses for project-related issue and timeline events. This feature is now available for developers to preview. For details, see the [blog post](https://developer.github.com/changes/2018-09-05-project-card-events).\n\nTo receive the `project_card` attribute, project boards must be [enabled](https://help.github.com/articles/disabling-project-boards-in-a-repository) for a repository, and you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.starfox-preview+json\n```" - } - ], - "category": "issues", - "subcategory": "events" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/issues/{issue_number}/labels": { - "get": { - "summary": "List labels for an issue", - "description": "", - "tags": ["issues"], - "operationId": "issues/list-labels-on-issue", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/issues#list-labels-for-an-issue" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/issue_number" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/label" } - }, - "examples": { - "default": { "$ref": "#/components/examples/label-items" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "410": { "$ref": "#/components/responses/gone" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "issues", - "subcategory": "labels" - }, - "x-octokit": {} - }, - "post": { - "summary": "Add labels to an issue", - "description": "", - "tags": ["issues"], - "operationId": "issues/add-labels", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/issues#add-labels-to-an-issue" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/issue_number" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "labels": { - "type": "array", - "description": "The name of the label to add to the issue. Must contain at least one label. **Note:** Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key.", - "items": { "type": "string" } - } - }, - "required": ["labels"] - }, - "example": { "labels": ["bug", "enhancement"] } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/label" } - }, - "examples": { - "default": { "$ref": "#/components/examples/label-items" } - } - } - } - }, - "410": { "$ref": "#/components/responses/gone" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "issues", - "subcategory": "labels" - }, - "x-octokit": {} - }, - "put": { - "summary": "Set labels for an issue", - "description": "Removes any previous labels and sets the new labels for an issue.", - "tags": ["issues"], - "operationId": "issues/set-labels", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/issues#set-labels-for-an-issue" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/issue_number" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "labels": { - "type": "array", - "description": "The names of the labels to add to the issue. You can pass an empty array to remove all labels. **Note:** Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key.", - "items": { "type": "string" } - } - } - }, - "example": { "labels": ["bug", "enhancement"] } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/label" } - }, - "examples": { - "default": { "$ref": "#/components/examples/label-items" } - } - } - } - }, - "410": { "$ref": "#/components/responses/gone" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "issues", - "subcategory": "labels" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Remove all labels from an issue", - "description": "", - "tags": ["issues"], - "operationId": "issues/remove-all-labels", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/issues#remove-all-labels-from-an-issue" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/issue_number" } - ], - "responses": { - "204": { "description": "Empty response" }, - "410": { "$ref": "#/components/responses/gone" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "issues", - "subcategory": "labels" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/issues/{issue_number}/labels/{name}": { - "delete": { - "summary": "Remove a label from an issue", - "description": "Removes the specified label from the issue, and returns the remaining labels on the issue. This endpoint returns a `404 Not Found` status if the label does not exist.", - "tags": ["issues"], - "operationId": "issues/remove-label", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/issues#remove-a-label-from-an-issue" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/issue_number" }, - { - "name": "name", - "in": "path", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/label" } - }, - "examples": { - "default": { "$ref": "#/components/examples/label-items-2" } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "410": { "$ref": "#/components/responses/gone" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "issues", - "subcategory": "labels" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/issues/{issue_number}/lock": { - "put": { - "summary": "Lock an issue", - "description": "Users with push access can lock an issue or pull request's conversation.\n\nNote that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"", - "tags": ["issues"], - "operationId": "issues/lock", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/issues/#lock-an-issue" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/issue_number" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "nullable": true, - "properties": { - "lock_reason": { - "type": "string", - "description": "The reason for locking the issue or pull request conversation. Lock will fail if you don't use one of these reasons: \n\\* `off-topic` \n\\* `too heated` \n\\* `resolved` \n\\* `spam`", - "enum": ["off-topic", "too heated", "resolved", "spam"] - } - } - } - } - } - }, - "responses": { - "204": { "description": "Empty response" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "410": { "$ref": "#/components/responses/gone" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "issues", - "subcategory": null - }, - "x-octokit": {} - }, - "delete": { - "summary": "Unlock an issue", - "description": "Users with push access can unlock an issue's conversation.", - "tags": ["issues"], - "operationId": "issues/unlock", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/issues/#unlock-an-issue" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/issue_number" } - ], - "responses": { - "204": { "description": "Empty response" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "issues", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/issues/{issue_number}/reactions": { - "get": { - "summary": "List reactions for an issue", - "description": "List the reactions to an [issue](https://docs.github.com/rest/reference/issues).", - "tags": ["reactions"], - "operationId": "reactions/list-for-issue", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/reactions/#list-reactions-for-an-issue" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/issue_number" }, - { - "name": "content", - "description": "Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to an issue.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": [ - "+1", - "-1", - "laugh", - "confused", - "heart", - "hooray", - "rocket", - "eyes" - ] - } - }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/reaction" } - }, - "examples": { - "default": { "$ref": "#/components/examples/reaction-items" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "410": { "$ref": "#/components/responses/gone" }, - "415": { "$ref": "#/components/responses/preview_header_missing" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "category": "reactions", - "subcategory": null - }, - "x-octokit": {} - }, - "post": { - "summary": "Create reaction for an issue", - "description": "Create a reaction to an [issue](https://docs.github.com/rest/reference/issues/). A response with a `Status: 200 OK` means that you already added the reaction type to this issue.", - "tags": ["reactions"], - "operationId": "reactions/create-for-issue", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/reactions/#create-reaction-for-an-issue" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/issue_number" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "content": { - "type": "string", - "description": "The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the issue.", - "enum": [ - "+1", - "-1", - "laugh", - "confused", - "heart", - "hooray", - "rocket", - "eyes" - ] - } - }, - "required": ["content"] - }, - "example": { "content": "heart" } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/reaction" }, - "examples": { - "default": { "$ref": "#/components/examples/reaction" } - } - } - } - }, - "415": { "$ref": "#/components/responses/preview_header_missing" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [ - { - "required": true, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "category": "reactions", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}": { - "delete": { - "summary": "Delete an issue reaction", - "description": "**Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id`.\n\nDelete a reaction to an [issue](https://docs.github.com/rest/reference/issues/).", - "tags": ["reactions"], - "operationId": "reactions/delete-for-issue", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/reactions/#delete-an-issue-reaction" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/issue_number" }, - { "$ref": "#/components/parameters/reaction-id" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "category": "reactions", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/issues/{issue_number}/timeline": { - "get": { - "summary": "List timeline events for an issue", - "description": "", - "tags": ["issues"], - "operationId": "issues/list-events-for-timeline", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/issues#list-timeline-events-for-an-issue" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/issue_number" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/issue-event-for-issue" - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/issue-event-for-issue-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "410": { "$ref": "#/components/responses/gone" }, - "415": { "$ref": "#/components/responses/preview_header_missing" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "mockingbird", - "note": "The API to get issue timeline events is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-23-timeline-preview-api/) for full details. To access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.mockingbird-preview\n```" - }, - { - "required": false, - "name": "starfox", - "note": "Project card details are now shown in REST API v3 responses for project-related issue and timeline events. This feature is now available for developers to preview. For details, see the [blog post](https://developer.github.com/changes/2018-09-05-project-card-events).\n\nTo receive the `project_card` attribute, project boards must be [enabled](https://help.github.com/articles/disabling-project-boards-in-a-repository) for a repository, and you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.starfox-preview+json\n```" - } - ], - "category": "issues", - "subcategory": "timeline" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/keys": { - "get": { - "summary": "List deploy keys", - "description": "", - "tags": ["repos"], - "operationId": "repos/list-deploy-keys", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#list-deploy-keys" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/deploy-key" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/deploy-key-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "keys" - }, - "x-octokit": {} - }, - "post": { - "summary": "Create a deploy key", - "description": "You can create a read-only deploy key.", - "tags": ["repos"], - "operationId": "repos/create-deploy-key", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#create-a-deploy-key" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "title": { - "type": "string", - "description": "A name for the key." - }, - "key": { - "type": "string", - "description": "The contents of the key." - }, - "read_only": { - "type": "boolean", - "description": "If `true`, the key will only be able to read repository contents. Otherwise, the key will be able to read and write. \n \nDeploy keys with write access can perform the same actions as an organization member with admin access, or a collaborator on a personal repository. For more information, see \"[Repository permission levels for an organization](https://help.github.com/articles/repository-permission-levels-for-an-organization/)\" and \"[Permission levels for a user account repository](https://help.github.com/articles/permission-levels-for-a-user-account-repository/).\"" - } - }, - "required": ["key"] - }, - "example": { - "title": "octocat@octomac", - "key": "ssh-rsa AAA...", - "read_only": true - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/deploy-key" }, - "examples": { - "default": { "$ref": "#/components/examples/deploy-key" } - } - } - }, - "headers": { - "Location": { - "example": "https://api.github.com/repos/octocat/Hello-World/keys/1", - "schema": { "type": "string" } - } - } - }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "keys" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/keys/{key_id}": { - "get": { - "summary": "Get a deploy key", - "description": "", - "tags": ["repos"], - "operationId": "repos/get-deploy-key", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#get-a-deploy-key" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/key_id" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/deploy-key" }, - "examples": { - "default": { "$ref": "#/components/examples/deploy-key" } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "keys" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a deploy key", - "description": "Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead.", - "tags": ["repos"], - "operationId": "repos/delete-deploy-key", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#delete-a-deploy-key" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/key_id" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "keys" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/labels": { - "get": { - "summary": "List labels for a repository", - "description": "", - "tags": ["issues"], - "operationId": "issues/list-labels-for-repo", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/issues#list-labels-for-a-repository" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/label" } - }, - "examples": { - "default": { "$ref": "#/components/examples/label-items" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "issues", - "subcategory": "labels" - }, - "x-octokit": {} - }, - "post": { - "summary": "Create a label", - "description": "", - "tags": ["issues"], - "operationId": "issues/create-label", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/issues#create-a-label" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png \":strawberry:\"). For a full list of available emoji and codes, see [emoji-cheat-sheet.com](http://emoji-cheat-sheet.com/)." - }, - "color": { - "type": "string", - "description": "The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`." - }, - "description": { - "type": "string", - "description": "A short description of the label." - } - }, - "required": ["name"] - }, - "example": { - "name": "bug", - "description": "Something isn't working", - "color": "f29513" - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/label" }, - "examples": { - "default": { "$ref": "#/components/examples/label" } - } - } - }, - "headers": { - "Location": { - "example": "https://api.github.com/repos/octocat/Hello-World/labels/bug", - "schema": { "type": "string" } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "issues", - "subcategory": "labels" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/labels/{name}": { - "get": { - "summary": "Get a label", - "description": "", - "tags": ["issues"], - "operationId": "issues/get-label", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/issues#get-a-label" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "name", - "in": "path", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/label" }, - "examples": { - "default": { "$ref": "#/components/examples/label" } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "issues", - "subcategory": "labels" - }, - "x-octokit": {} - }, - "patch": { - "summary": "Update a label", - "description": "", - "tags": ["issues"], - "operationId": "issues/update-label", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/issues#update-a-label" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "name", - "in": "path", - "required": true, - "schema": { "type": "string" } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "new_name": { - "type": "string", - "description": "The new name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png \":strawberry:\"). For a full list of available emoji and codes, see [emoji-cheat-sheet.com](http://emoji-cheat-sheet.com/)." - }, - "color": { - "type": "string", - "description": "The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`." - }, - "description": { - "type": "string", - "description": "A short description of the label." - } - } - }, - "example": { - "new_name": "bug :bug:", - "description": "Small bug fix required", - "color": "b01f26" - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/label" }, - "examples": { - "default": { "$ref": "#/components/examples/label-2" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "issues", - "subcategory": "labels" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a label", - "description": "", - "tags": ["issues"], - "operationId": "issues/delete-label", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/issues#delete-a-label" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "name", - "in": "path", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "issues", - "subcategory": "labels" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/languages": { - "get": { - "summary": "List repository languages", - "description": "Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language.", - "tags": ["repos"], - "operationId": "repos/list-languages", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/repos/#list-repository-languages" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/language" }, - "examples": { - "default": { "$ref": "#/components/examples/language" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/license": { - "get": { - "summary": "Get the license for a repository", - "description": "This method returns the contents of the repository's license file, if one is detected.\n\nSimilar to [Get repository content](https://docs.github.com/rest/reference/repos#get-repository-content), this method also supports [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw license content or rendered license HTML.", - "tags": ["licenses"], - "operationId": "licenses/get-for-repo", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/licenses/#get-the-license-for-a-repository" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/license-content" }, - "examples": { - "default": { "$ref": "#/components/examples/license-content" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "licenses", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/merges": { - "post": { - "summary": "Merge a branch", - "description": "", - "tags": ["repos"], - "operationId": "repos/merge", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#merge-a-branch" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "base": { - "type": "string", - "description": "The name of the base branch that the head will be merged into." - }, - "head": { - "type": "string", - "description": "The head to merge. This can be a branch name or a commit SHA1." - }, - "commit_message": { - "type": "string", - "description": "Commit message to use for the merge commit. If omitted, a default message will be used." - } - }, - "required": ["base", "head"] - }, - "example": { - "base": "master", - "head": "cool_feature", - "commit_message": "Shipped cool_feature!" - } - } - } - }, - "responses": { - "201": { - "description": "Successful Response (The resulting merge commit)", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/commit" }, - "examples": { - "default": { "$ref": "#/components/examples/commit" } - } - } - } - }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { "type": "string" }, - "documentation_url": { - "type": "string", - "example": "\"https://docs.github.com/rest/reference/repos#perform-a-merge\"" - } - } - }, - "examples": { - "missing-base-response": { - "summary": "Missing base response", - "value": { "message": "Base does not exist" } - }, - "missing-head-response": { - "summary": "Missing head response", - "value": { "message": "Head does not exist" } - } - } - } - } - }, - "409": { - "description": "Merge conflict response", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { "type": "string" }, - "documentation_url": { - "type": "string", - "example": "\"https://docs.github.com/rest/reference/repos#perform-a-merge\"" - } - } - }, - "examples": { - "merge-conflict-response": { - "value": { "message": "Merge Conflict" } - } - } - } - } - }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "merging" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/milestones": { - "get": { - "summary": "List milestones", - "description": "", - "tags": ["issues"], - "operationId": "issues/list-milestones", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/issues#list-milestones" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "state", - "description": "The state of the milestone. Either `open`, `closed`, or `all`.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["open", "closed", "all"], - "default": "open" - } - }, - { - "name": "sort", - "description": "What to sort results by. Either `due_on` or `completeness`.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["due_on", "completeness"], - "default": "due_on" - } - }, - { - "name": "direction", - "description": "The direction of the sort. Either `asc` or `desc`.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["asc", "desc"], - "default": "asc" - } - }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/milestone" } - }, - "examples": { - "default": { "$ref": "#/components/examples/milestone-items" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "issues", - "subcategory": "milestones" - }, - "x-octokit": {} - }, - "post": { - "summary": "Create a milestone", - "description": "", - "tags": ["issues"], - "operationId": "issues/create-milestone", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/issues#create-a-milestone" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "title": { - "type": "string", - "description": "The title of the milestone." - }, - "state": { - "type": "string", - "description": "The state of the milestone. Either `open` or `closed`.", - "enum": ["open", "closed"], - "default": "open" - }, - "description": { - "type": "string", - "description": "A description of the milestone." - }, - "due_on": { - "type": "string", - "description": "The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." - } - }, - "required": ["title"] - }, - "example": { - "title": "v1.0", - "state": "open", - "description": "Tracking milestone for version 1.0", - "due_on": "2012-10-09T23:39:01Z" - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/milestone" }, - "examples": { - "default": { "$ref": "#/components/examples/milestone" } - } - } - }, - "headers": { - "Location": { - "example": "https://api.github.com/repos/octocat/Hello-World/milestones/1", - "schema": { "type": "string" } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "issues", - "subcategory": "milestones" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/milestones/{milestone_number}": { - "get": { - "summary": "Get a milestone", - "description": "", - "tags": ["issues"], - "operationId": "issues/get-milestone", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/issues#get-a-milestone" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/milestone_number" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/milestone" }, - "examples": { - "default": { "$ref": "#/components/examples/milestone" } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "issues", - "subcategory": "milestones" - }, - "x-octokit": {} - }, - "patch": { - "summary": "Update a milestone", - "description": "", - "tags": ["issues"], - "operationId": "issues/update-milestone", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/issues#update-a-milestone" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/milestone_number" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "title": { - "type": "string", - "description": "The title of the milestone." - }, - "state": { - "type": "string", - "description": "The state of the milestone. Either `open` or `closed`.", - "enum": ["open", "closed"], - "default": "open" - }, - "description": { - "type": "string", - "description": "A description of the milestone." - }, - "due_on": { - "type": "string", - "description": "The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." - } - } - }, - "example": { - "title": "v1.0", - "state": "open", - "description": "Tracking milestone for version 1.0", - "due_on": "2012-10-09T23:39:01Z" - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/milestone" }, - "examples": { - "default": { "$ref": "#/components/examples/milestone" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "issues", - "subcategory": "milestones" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a milestone", - "description": "", - "tags": ["issues"], - "operationId": "issues/delete-milestone", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/issues#delete-a-milestone" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/milestone_number" } - ], - "responses": { - "204": { "description": "Empty response" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "issues", - "subcategory": "milestones" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/milestones/{milestone_number}/labels": { - "get": { - "summary": "List labels for issues in a milestone", - "description": "", - "tags": ["issues"], - "operationId": "issues/list-labels-for-milestone", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/issues#list-labels-for-issues-in-a-milestone" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/milestone_number" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/label" } - }, - "examples": { - "default": { "$ref": "#/components/examples/label-items" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "issues", - "subcategory": "labels" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/notifications": { - "get": { - "summary": "List repository notifications for the authenticated user", - "description": "List all notifications for the current user.", - "tags": ["activity"], - "operationId": "activity/list-repo-notifications-for-authenticated-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/activity#list-repository-notifications-for-the-authenticated-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/all" }, - { "$ref": "#/components/parameters/participating" }, - { "$ref": "#/components/parameters/since" }, - { "$ref": "#/components/parameters/before" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/thread" } - }, - "examples": { - "default": { "$ref": "#/components/examples/thread-items" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "activity", - "subcategory": "notifications" - }, - "x-octokit": {} - }, - "put": { - "summary": "Mark repository notifications as read", - "description": "Marks all notifications in a repository as \"read\" removes them from the [default view on GitHub](https://github.com/notifications). If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as \"read.\" To check whether any \"unread\" notifications remain, you can use the [List repository notifications for the authenticated user](https://docs.github.com/rest/reference/activity#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`.", - "tags": ["activity"], - "operationId": "activity/mark-repo-notifications-as-read", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/activity#mark-repository-notifications-as-read" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "last_read_at": { - "type": "string", - "description": "Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp." - } - } - } - } - } - }, - "responses": { "202": { "description": "response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "activity", - "subcategory": "notifications" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/pages": { - "get": { - "summary": "Get a GitHub Pages site", - "description": "", - "tags": ["repos"], - "operationId": "repos/get-pages", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#get-a-github-pages-site" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/page" }, - "examples": { - "default": { "$ref": "#/components/examples/page" } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "pages" - }, - "x-octokit": {} - }, - "post": { - "summary": "Create a GitHub Pages site", - "description": "Configures a GitHub Pages site. For more information, see \"[About GitHub Pages](/github/working-with-github-pages/about-github-pages).\"", - "tags": ["repos"], - "operationId": "repos/create-pages-site", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#create-a-github-pages-site" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "The source branch and directory used to publish your Pages site.", - "properties": { - "source": { - "type": "object", - "description": "The source branch and directory used to publish your Pages site.", - "properties": { - "branch": { - "type": "string", - "description": "The repository branch used to publish your site's source files." - }, - "path": { - "type": "string", - "description": "The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`. Default: `/`", - "enum": ["/", "/docs"], - "default": "/" - } - }, - "required": ["branch"] - } - }, - "required": ["source"] - }, - "example": { "source": { "branch": "main", "path": "/docs" } } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/page" }, - "examples": { - "default": { "$ref": "#/components/examples/page" } - } - } - } - }, - "409": { "$ref": "#/components/responses/conflict" }, - "415": { "$ref": "#/components/responses/preview_header_missing" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "switcheroo", - "note": "Enabling and disabling Pages in the Pages API is currently available for developers to preview. See the [blog post](https://developer.github.com/changes/2019-03-14-enabling-disabling-pages/) preview for more details. To access the new endpoints during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.switcheroo-preview+json\n```" - } - ], - "category": "repos", - "subcategory": "pages" - }, - "x-octokit": {} - }, - "put": { - "summary": "Update information about a GitHub Pages site", - "description": "Updates information for a GitHub Pages site. For more information, see \"[About GitHub Pages](/github/working-with-github-pages/about-github-pages).", - "tags": ["repos"], - "operationId": "repos/update-information-about-pages-site", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#update-information-about-a-github-pages-site" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "cname": { - "type": "string", - "description": "Specify a custom domain for the repository. Sending a `null` value will remove the custom domain. For more about custom domains, see \"[Using a custom domain with GitHub Pages](https://help.github.com/articles/using-a-custom-domain-with-github-pages/).\"", - "nullable": true - }, - "public": { - "type": "boolean", - "description": "Configures access controls for the GitHub Pages site. If public is set to `true`, the site is accessible to anyone on the internet. If set to `false`, the site will only be accessible to users who have at least `read` access to the repository that published the site. This includes anyone in your Enterprise if the repository is set to `internal` visibility. This feature is only available to repositories in an organization on an Enterprise plan." - }, - "source": { - "anyOf": [ - { - "type": "string", - "description": "Update the source for the repository. Must include the branch name, and may optionally specify the subdirectory `/docs`. Possible values are `\"gh-pages\"`, `\"master\"`, and `\"master /docs\"`.", - "enum": ["gh-pages", "master", "master /docs"] - }, - { - "type": "object", - "description": "Update the source for the repository. Must include the branch name and path.", - "properties": { - "branch": { - "type": "string", - "description": "The repository branch used to publish your site's source files." - }, - "path": { - "type": "string", - "description": "The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`.", - "enum": ["/", "/docs"] - } - }, - "required": ["branch", "path"] - } - ] - } - }, - "required": ["source"] - }, - "example": { - "cname": "octocatblog.com", - "source": { "branch": "main", "path": "/" } - } - } - } - }, - "responses": { - "204": { "description": "Empty response" }, - "400": { "$ref": "#/components/responses/bad_request" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "pages" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a GitHub Pages site", - "description": "", - "tags": ["repos"], - "operationId": "repos/delete-pages-site", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#delete-a-github-pages-site" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { - "204": { "description": "Empty response" }, - "404": { "$ref": "#/components/responses/not_found" }, - "415": { "$ref": "#/components/responses/preview_header_missing" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "switcheroo", - "note": "Enabling and disabling Pages in the Pages API is currently available for developers to preview. See the [blog post](https://developer.github.com/changes/2019-03-14-enabling-disabling-pages/) preview for more details. To access the new endpoints during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.switcheroo-preview+json\n```" - } - ], - "category": "repos", - "subcategory": "pages" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/pages/builds": { - "get": { - "summary": "List GitHub Pages builds", - "description": "", - "tags": ["repos"], - "operationId": "repos/list-pages-builds", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#list-github-pages-builds" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/page-build" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/page-build-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "pages" - }, - "x-octokit": {} - }, - "post": { - "summary": "Request a GitHub Pages build", - "description": "You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures.\n\nBuild requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes.", - "tags": ["repos"], - "operationId": "repos/request-pages-build", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#request-a-github-pages-build" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/page-build-status" }, - "examples": { - "default": { - "$ref": "#/components/examples/page-build-status" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "pages" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/pages/builds/latest": { - "get": { - "summary": "Get latest Pages build", - "description": "", - "tags": ["repos"], - "operationId": "repos/get-latest-pages-build", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#get-latest-pages-build" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/page-build" }, - "examples": { - "default": { "$ref": "#/components/examples/page-build" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "pages" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/pages/builds/{build_id}": { - "get": { - "summary": "Get GitHub Pages build", - "description": "", - "tags": ["repos"], - "operationId": "repos/get-pages-build", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#get-github-pages-build" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "build_id", - "in": "path", - "required": true, - "schema": { "type": "integer" } - } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/page-build" }, - "examples": { - "default": { "$ref": "#/components/examples/page-build" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "pages" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/projects": { - "get": { - "summary": "List repository projects", - "description": "Lists the projects in a repository. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned.", - "tags": ["projects"], - "operationId": "projects/list-for-repo", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/projects/#list-repository-projects" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "state", - "description": "Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["open", "closed", "all"], - "default": "open" - } - }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/project" } - }, - "examples": { - "default": { "$ref": "#/components/examples/project-items-2" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "410": { "$ref": "#/components/responses/gone" }, - "422": { "$ref": "#/components/responses/validation_failed_simple" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "inertia", - "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" - } - ], - "category": "projects", - "subcategory": null - }, - "x-octokit": {} - }, - "post": { - "summary": "Create a repository project", - "description": "Creates a repository project board. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned.", - "tags": ["projects"], - "operationId": "projects/create-for-repo", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/projects/#create-a-repository-project" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The name of the project." - }, - "body": { - "type": "string", - "description": "The description of the project." - } - }, - "required": ["name"] - }, - "example": { - "name": "Projects Documentation", - "body": "Developer documentation project for the developer site." - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/project" }, - "examples": { - "default": { "$ref": "#/components/examples/project-3" } - } - } - } - }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "410": { "$ref": "#/components/responses/gone" }, - "422": { "$ref": "#/components/responses/validation_failed_simple" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "inertia", - "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" - } - ], - "category": "projects", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/pulls": { - "get": { - "summary": "List pull requests", - "description": "Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.", - "tags": ["pulls"], - "operationId": "pulls/list", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/pulls/#list-pull-requests" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "state", - "description": "Either `open`, `closed`, or `all` to filter by state.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["open", "closed", "all"], - "default": "open" - } - }, - { - "name": "head", - "description": "Filter pulls by head user or head organization and branch name in the format of `user:ref-name` or `organization:ref-name`. For example: `github:new-script-format` or `octocat:test-branch`.", - "in": "query", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "base", - "description": "Filter pulls by base branch name. Example: `gh-pages`.", - "in": "query", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "sort", - "description": "What to sort results by. Can be either `created`, `updated`, `popularity` (comment count) or `long-running` (age, filtering by pulls updated in the last month).", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["created", "updated", "popularity", "long-running"], - "default": "created" - } - }, - { - "name": "direction", - "description": "The direction of the sort. Can be either `asc` or `desc`. Default: `desc` when sort is `created` or sort is not specified, otherwise `asc`.", - "in": "query", - "required": false, - "schema": { "type": "string", "enum": ["asc", "desc"] } - }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/pull-request-simple" - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/pull-request-simple-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "pulls", - "subcategory": null - }, - "x-octokit": {} - }, - "post": { - "summary": "Create a pull request", - "description": "Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nTo open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request.\n\nYou can create a new pull request.\n\nThis endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.", - "tags": ["pulls"], - "operationId": "pulls/create", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/pulls/#create-a-pull-request" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "title": { - "type": "string", - "description": "The title of the new pull request." - }, - "head": { - "type": "string", - "description": "The name of the branch where your changes are implemented. For cross-repository pull requests in the same network, namespace `head` with a user like this: `username:branch`." - }, - "base": { - "type": "string", - "description": "The name of the branch you want the changes pulled into. This should be an existing branch on the current repository. You cannot submit a pull request to one repository that requests a merge to a base of another repository." - }, - "body": { - "type": "string", - "description": "The contents of the pull request." - }, - "maintainer_can_modify": { - "type": "boolean", - "description": "Indicates whether [maintainers can modify](https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request." - }, - "draft": { - "type": "boolean", - "description": "Indicates whether the pull request is a draft. See \"[Draft Pull Requests](https://help.github.com/en/articles/about-pull-requests#draft-pull-requests)\" in the GitHub Help documentation to learn more." - }, - "issue": { "type": "integer", "example": 1 } - }, - "required": ["head", "base"] - }, - "example": { - "title": "Amazing new feature", - "body": "Please pull these awesome changes in!", - "head": "octocat:new-feature", - "base": "master" - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/pull-request" }, - "examples": { - "default": { "$ref": "#/components/examples/pull-request" } - } - } - }, - "headers": { - "Location": { - "example": "https://api.github.com/repos/octocat/Hello-World/pulls/1347", - "schema": { "type": "string" } - } - } - }, - "403": { "$ref": "#/components/responses/forbidden" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "triggersNotification": true, - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "pulls", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/pulls/comments": { - "get": { - "summary": "List review comments in a repository", - "description": "Lists review comments for all pull requests in a repository. By default, review comments are in ascending order by ID.", - "tags": ["pulls"], - "operationId": "pulls/list-review-comments-for-repo", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/pulls#list-review-comments-in-a-repository" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/sort" }, - { - "name": "direction", - "description": "Can be either `asc` or `desc`. Ignored without `sort` parameter.", - "in": "query", - "required": false, - "schema": { "type": "string", "enum": ["asc", "desc"] } - }, - { "$ref": "#/components/parameters/since" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/pull-request-review-comment" - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/pull-request-review-comment-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "comfort-fade", - "note": "Multi-line comments in a pull request diff is currently available for developers to preview. During the preview period, these response fields may change without advance notice. See the [blog post](https://developer.github.com/changes/2019-10-03-multi-line-comments) for more information.\n\nTo create multi-line comments or see multi-line comments with the new supported fields during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.comfort-fade-preview+json\n```\n\nTo show multi-line comment-supported fields in the response, use the `comfort-fade` preview header and the `line` parameter.\n\nIf you use the `comfort-fade` preview header, your response will show:\n\n* For multi-line comments, values for `start_line`, `original_start_line`, `start_side`, `line`, `original_line`, and `side`.\n* For single-line comments, values for `line`, `original_line`, and `side` and a `null` value for `start_line`, `original_start_line`, and `start_side`.\n\nIf you don't use the `comfort-fade` preview header, multi-line and single-line comments will appear the same way in the response with a single `position` attribute. Your response will show:\n\n* For multi-line comments, the last line of the comment range for the `position` attribute.\n* For single-line comments, the diff-positioned way of referencing comments for the `position` attribute." - }, - { - "required": false, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "category": "pulls", - "subcategory": "comments" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/pulls/comments/{comment_id}": { - "get": { - "summary": "Get a review comment for a pull request", - "description": "Provides details for a review comment.", - "tags": ["pulls"], - "operationId": "pulls/get-review-comment", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/pulls#get-a-review-comment-for-a-pull-request" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/comment_id" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/pull-request-review-comment" - }, - "examples": { - "default": { - "$ref": "#/components/examples/pull-request-review-comment-2" - } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "comfort-fade", - "note": "Multi-line comments in a pull request diff is currently available for developers to preview. During the preview period, these response fields may change without advance notice. See the [blog post](https://developer.github.com/changes/2019-10-03-multi-line-comments) for more information.\n\nTo create multi-line comments or see multi-line comments with the new supported fields during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.comfort-fade-preview+json\n```\n\nTo show multi-line comment-supported fields in the response, use the `comfort-fade` preview header and the `line` parameter.\n\nIf you use the `comfort-fade` preview header, your response will show:\n\n* For multi-line comments, values for `start_line`, `original_start_line`, `start_side`, `line`, `original_line`, and `side`.\n* For single-line comments, values for `line`, `original_line`, and `side` and a `null` value for `start_line`, `original_start_line`, and `start_side`.\n\nIf you don't use the `comfort-fade` preview header, multi-line and single-line comments will appear the same way in the response with a single `position` attribute. Your response will show:\n\n* For multi-line comments, the last line of the comment range for the `position` attribute.\n* For single-line comments, the diff-positioned way of referencing comments for the `position` attribute." - }, - { - "required": false, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "category": "pulls", - "subcategory": "comments" - }, - "x-octokit": {} - }, - "patch": { - "summary": "Update a review comment for a pull request", - "description": "Enables you to edit a review comment.", - "tags": ["pulls"], - "operationId": "pulls/update-review-comment", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/pulls#update-a-review-comment-for-a-pull-request" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/comment_id" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "body": { - "type": "string", - "description": "The text of the reply to the review comment." - } - }, - "required": ["body"] - }, - "example": { "body": "I like this too!" } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/pull-request-review-comment" - }, - "examples": { - "default": { - "$ref": "#/components/examples/pull-request-review-comment-2" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "comfort-fade", - "note": "Multi-line comments in a pull request diff is currently available for developers to preview. During the preview period, these response fields may change without advance notice. See the [blog post](https://developer.github.com/changes/2019-10-03-multi-line-comments) for more information.\n\nTo create multi-line comments or see multi-line comments with the new supported fields during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.comfort-fade-preview+json\n```\n\nTo show multi-line comment-supported fields in the response, use the `comfort-fade` preview header and the `line` parameter.\n\nIf you use the `comfort-fade` preview header, your response will show:\n\n* For multi-line comments, values for `start_line`, `original_start_line`, `start_side`, `line`, `original_line`, and `side`.\n* For single-line comments, values for `line`, `original_line`, and `side` and a `null` value for `start_line`, `original_start_line`, and `start_side`.\n\nIf you don't use the `comfort-fade` preview header, multi-line and single-line comments will appear the same way in the response with a single `position` attribute. Your response will show:\n\n* For multi-line comments, the last line of the comment range for the `position` attribute.\n* For single-line comments, the diff-positioned way of referencing comments for the `position` attribute." - } - ], - "category": "pulls", - "subcategory": "comments" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a review comment for a pull request", - "description": "Deletes a review comment.", - "tags": ["pulls"], - "operationId": "pulls/delete-review-comment", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/pulls#delete-a-review-comment-for-a-pull-request" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/comment_id" } - ], - "responses": { - "204": { "description": "Empty response" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "pulls", - "subcategory": "comments" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": { - "get": { - "summary": "List reactions for a pull request review comment", - "description": "List the reactions to a [pull request review comment](https://docs.github.com/rest/reference/pulls#review-comments).", - "tags": ["reactions"], - "operationId": "reactions/list-for-pull-request-review-comment", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/reactions/#list-reactions-for-a-pull-request-review-comment" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/comment_id" }, - { - "name": "content", - "description": "Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a pull request review comment.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": [ - "+1", - "-1", - "laugh", - "confused", - "heart", - "hooray", - "rocket", - "eyes" - ] - } - }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/reaction" } - }, - "examples": { - "default": { "$ref": "#/components/examples/reaction-items" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "415": { "$ref": "#/components/responses/preview_header_missing" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "category": "reactions", - "subcategory": null - }, - "x-octokit": {} - }, - "post": { - "summary": "Create reaction for a pull request review comment", - "description": "Create a reaction to a [pull request review comment](https://docs.github.com/rest/reference/pulls#comments). A response with a `Status: 200 OK` means that you already added the reaction type to this pull request review comment.", - "tags": ["reactions"], - "operationId": "reactions/create-for-pull-request-review-comment", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/reactions/#create-reaction-for-a-pull-request-review-comment" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/comment_id" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "content": { - "type": "string", - "description": "The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the pull request review comment.", - "enum": [ - "+1", - "-1", - "laugh", - "confused", - "heart", - "hooray", - "rocket", - "eyes" - ] - } - }, - "required": ["content"] - }, - "example": { "content": "heart" } - } - } - }, - "responses": { - "200": { - "description": "Reaction exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/reaction" }, - "examples": { - "default": { "$ref": "#/components/examples/reaction" } - } - } - } - }, - "201": { - "description": "Reaction created", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/reaction" }, - "examples": { - "default": { "$ref": "#/components/examples/reaction" } - } - } - } - }, - "415": { "$ref": "#/components/responses/preview_header_missing" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "category": "reactions", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}": { - "delete": { - "summary": "Delete a pull request comment reaction", - "description": "**Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.`\n\nDelete a reaction to a [pull request review comment](https://docs.github.com/rest/reference/pulls#review-comments).", - "tags": ["reactions"], - "operationId": "reactions/delete-for-pull-request-comment", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/reactions/#delete-a-pull-request-comment-reaction" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/comment_id" }, - { "$ref": "#/components/parameters/reaction-id" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "category": "reactions", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/pulls/{pull_number}": { - "get": { - "summary": "Get a pull request", - "description": "Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nLists details of a pull request by providing its number.\n\nWhen you get, [create](https://docs.github.com/rest/reference/pulls/#create-a-pull-request), or [edit](https://docs.github.com/rest/reference/pulls#update-a-pull-request) a pull request, GitHub creates a merge commit to test whether the pull request can be automatically merged into the base branch. This test commit is not added to the base branch or the head branch. You can review the status of the test commit using the `mergeable` key. For more information, see \"[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)\".\n\nThe value of the `mergeable` attribute can be `true`, `false`, or `null`. If the value is `null`, then GitHub has started a background job to compute the mergeability. After giving the job time to complete, resubmit the request. When the job finishes, you will see a non-`null` value for the `mergeable` attribute in the response. If `mergeable` is `true`, then `merge_commit_sha` will be the SHA of the _test_ merge commit.\n\nThe value of the `merge_commit_sha` attribute changes depending on the state of the pull request. Before merging a pull request, the `merge_commit_sha` attribute holds the SHA of the _test_ merge commit. After merging a pull request, the `merge_commit_sha` attribute changes depending on how you merged the pull request:\n\n* If merged as a [merge commit](https://help.github.com/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit.\n* If merged via a [squash](https://help.github.com/articles/about-merge-methods-on-github/#squashing-your-merge-commits), `merge_commit_sha` represents the SHA of the squashed commit on the base branch.\n* If [rebased](https://help.github.com/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), `merge_commit_sha` represents the commit that the base branch was updated to.\n\nPass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats.", - "tags": ["pulls"], - "operationId": "pulls/get", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/pulls/#get-a-pull-request" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/pull-number" } - ], - "responses": { - "200": { - "description": "Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats.", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/pull-request" }, - "examples": { - "default": { "$ref": "#/components/examples/pull-request" } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "404": { "$ref": "#/components/responses/not_found" }, - "500": { "$ref": "#/components/responses/internal_error" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "pulls", - "subcategory": null - }, - "x-octokit": {} - }, - "patch": { - "summary": "Update a pull request", - "description": "Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nTo open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request.", - "tags": ["pulls"], - "operationId": "pulls/update", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/pulls/#update-a-pull-request" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/pull-number" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "title": { - "type": "string", - "description": "The title of the pull request." - }, - "body": { - "type": "string", - "description": "The contents of the pull request." - }, - "state": { - "type": "string", - "description": "State of this Pull Request. Either `open` or `closed`.", - "enum": ["open", "closed"] - }, - "base": { - "type": "string", - "description": "The name of the branch you want your changes pulled into. This should be an existing branch on the current repository. You cannot update the base branch on a pull request to point to another repository." - }, - "maintainer_can_modify": { - "type": "boolean", - "description": "Indicates whether [maintainers can modify](https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request." - } - } - }, - "example": { - "title": "new title", - "body": "updated body", - "state": "open", - "base": "master" - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/pull-request" }, - "examples": { - "default": { "$ref": "#/components/examples/pull-request" } - } - } - } - }, - "403": { "$ref": "#/components/responses/forbidden" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "pulls", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/pulls/{pull_number}/comments": { - "get": { - "summary": "List review comments on a pull request", - "description": "Lists all review comments for a pull request. By default, review comments are in ascending order by ID.", - "tags": ["pulls"], - "operationId": "pulls/list-review-comments", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/pulls#list-review-comments-on-a-pull-request" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/pull-number" }, - { "$ref": "#/components/parameters/sort" }, - { - "name": "direction", - "description": "Can be either `asc` or `desc`. Ignored without `sort` parameter.", - "in": "query", - "required": false, - "schema": { "type": "string", "enum": ["asc", "desc"] } - }, - { "$ref": "#/components/parameters/since" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/pull-request-review-comment" - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/pull-request-review-comment-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "comfort-fade", - "note": "Multi-line comments in a pull request diff is currently available for developers to preview. During the preview period, these response fields may change without advance notice. See the [blog post](https://developer.github.com/changes/2019-10-03-multi-line-comments) for more information.\n\nTo create multi-line comments or see multi-line comments with the new supported fields during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.comfort-fade-preview+json\n```\n\nTo show multi-line comment-supported fields in the response, use the `comfort-fade` preview header and the `line` parameter.\n\nIf you use the `comfort-fade` preview header, your response will show:\n\n* For multi-line comments, values for `start_line`, `original_start_line`, `start_side`, `line`, `original_line`, and `side`.\n* For single-line comments, values for `line`, `original_line`, and `side` and a `null` value for `start_line`, `original_start_line`, and `start_side`.\n\nIf you don't use the `comfort-fade` preview header, multi-line and single-line comments will appear the same way in the response with a single `position` attribute. Your response will show:\n\n* For multi-line comments, the last line of the comment range for the `position` attribute.\n* For single-line comments, the diff-positioned way of referencing comments for the `position` attribute." - }, - { - "required": false, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "category": "pulls", - "subcategory": "comments" - }, - "x-octokit": {} - }, - "post": { - "summary": "Create a review comment for a pull request", - "description": "\nCreates a review comment in the pull request diff. To add a regular comment to a pull request timeline, see \"[Create an issue comment](https://docs.github.com/rest/reference/issues#create-an-issue-comment).\" We recommend creating a review comment using `line`, `side`, and optionally `start_line` and `start_side` if your comment applies to more than one line in the pull request diff.\n\nYou can still create a review comment using the `position` parameter. When you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. For more information, see the [`comfort-fade` preview notice](https://docs.github.com/rest/reference/pulls#create-a-review-comment-for-a-pull-request-preview-notices).\n\n**Note:** The position value equals the number of lines down from the first \"@@\" hunk header in the file you want to add a comment. The line just below the \"@@\" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file.\n\nThis endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.", - "tags": ["pulls"], - "operationId": "pulls/create-review-comment", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/pulls#create-a-review-comment-for-a-pull-request" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/pull-number" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "body": { - "type": "string", - "description": "The text of the review comment." - }, - "commit_id": { - "type": "string", - "description": "The SHA of the commit needing a comment. Not using the latest commit SHA may render your comment outdated if a subsequent commit modifies the line you specify as the `position`." - }, - "path": { - "type": "string", - "description": "The relative path to the file that necessitates a comment." - }, - "position": { - "type": "integer", - "description": "**Required without `comfort-fade` preview**. The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note above." - }, - "side": { - "type": "string", - "description": "**Required with `comfort-fade` preview**. In a split diff view, the side of the diff that the pull request's changes appear on. Can be `LEFT` or `RIGHT`. Use `LEFT` for deletions that appear in red. Use `RIGHT` for additions that appear in green or unchanged lines that appear in white and are shown for context. For a multi-line comment, side represents whether the last line of the comment range is a deletion or addition. For more information, see \"[Diff view options](https://help.github.com/en/articles/about-comparing-branches-in-pull-requests#diff-view-options)\" in the GitHub Help documentation.", - "enum": ["LEFT", "RIGHT"] - }, - "line": { - "type": "integer", - "description": "**Required with `comfort-fade` preview**. The line of the blob in the pull request diff that the comment applies to. For a multi-line comment, the last line of the range that your comment applies to." - }, - "start_line": { - "type": "integer", - "description": "**Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_line` is the first line in the pull request diff that your multi-line comment applies to. To learn more about multi-line comments, see \"[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)\" in the GitHub Help documentation." - }, - "start_side": { - "type": "string", - "description": "**Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_side` is the starting side of the diff that the comment applies to. Can be `LEFT` or `RIGHT`. To learn more about multi-line comments, see \"[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)\" in the GitHub Help documentation. See `side` in this table for additional context.", - "enum": ["LEFT", "RIGHT", "side"] - }, - "in_reply_to": { "type": "integer", "example": 2 } - }, - "required": ["body", "path"] - }, - "examples": { - "example-for-a-single-line-comment": { - "summary": "Example for a single-line comment", - "value": { - "body": "Let's add this deleted line back.", - "commit_id": "6dcb09b5b57875f334f61aebed695e2e4193db5e", - "path": "file1.txt", - "line": 5, - "side": "LEFT" - } - }, - "example-for-a-multi-line-comment": { - "summary": "Example for a multi-line comment", - "value": { - "body": "Great stuff!", - "commit_id": "6dcb09b5b57875f334f61aebed695e2e4193db5e", - "path": "file1.txt", - "start_line": 1, - "start_side": "RIGHT", - "line": 2, - "side": "RIGHT" - } - } - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/pull-request-review-comment" - }, - "examples": { - "example-for-a-multi-line-comment": { - "$ref": "#/components/examples/pull-request-review-comment-example-for-a-multi-line-comment" - } - } - } - }, - "headers": { - "Location": { - "example": "https://api.github.com/repos/octocat/Hello-World/pulls/comments/1", - "schema": { "type": "string" } - } - } - }, - "403": { "$ref": "#/components/responses/forbidden" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "triggersNotification": true, - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "comfort-fade", - "note": "Multi-line comments in a pull request diff is currently available for developers to preview. During the preview period, these response fields may change without advance notice. See the [blog post](https://developer.github.com/changes/2019-10-03-multi-line-comments) for more information.\n\nTo create multi-line comments or see multi-line comments with the new supported fields during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.comfort-fade-preview+json\n```\n\nTo show multi-line comment-supported fields in the response, use the `comfort-fade` preview header and the `line` parameter.\n\nIf you use the `comfort-fade` preview header, your response will show:\n\n* For multi-line comments, values for `start_line`, `original_start_line`, `start_side`, `line`, `original_line`, and `side`.\n* For single-line comments, values for `line`, `original_line`, and `side` and a `null` value for `start_line`, `original_start_line`, and `start_side`.\n\nIf you don't use the `comfort-fade` preview header, multi-line and single-line comments will appear the same way in the response with a single `position` attribute. Your response will show:\n\n* For multi-line comments, the last line of the comment range for the `position` attribute.\n* For single-line comments, the diff-positioned way of referencing comments for the `position` attribute." - } - ], - "category": "pulls", - "subcategory": "comments" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies": { - "post": { - "summary": "Create a reply for a review comment", - "description": "Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported.\n\nThis endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.", - "tags": ["pulls"], - "operationId": "pulls/create-reply-for-review-comment", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/pulls#create-a-reply-for-a-review-comment" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/pull-number" }, - { "$ref": "#/components/parameters/comment_id" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "body": { - "type": "string", - "description": "The text of the review comment." - } - }, - "required": ["body"] - }, - "example": { "body": "Great stuff!" } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/pull-request-review-comment" - }, - "examples": { - "default": { - "$ref": "#/components/examples/pull-request-review-comment" - } - } - } - }, - "headers": { - "Location": { - "example": "https://api.github.com/repos/octocat/Hello-World/pulls/comments/1", - "schema": { "type": "string" } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "triggersNotification": true, - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "pulls", - "subcategory": "comments" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/pulls/{pull_number}/commits": { - "get": { - "summary": "List commits on a pull request", - "description": "Lists a maximum of 250 commits for a pull request. To receive a complete commit list for pull requests with more than 250 commits, use the [List commits](https://docs.github.com/rest/reference/repos#list-commits) endpoint.", - "tags": ["pulls"], - "operationId": "pulls/list-commits", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/pulls/#list-commits-on-a-pull-request" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/pull-number" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/commit" } - }, - "examples": { - "default": { "$ref": "#/components/examples/commit-items" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "pulls", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/pulls/{pull_number}/files": { - "get": { - "summary": "List pull requests files", - "description": "**Note:** Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default.", - "tags": ["pulls"], - "operationId": "pulls/list-files", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/pulls/#list-pull-requests-files" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/pull-number" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/diff-entry" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/diff-entry-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "422": { "$ref": "#/components/responses/validation_failed" }, - "500": { "$ref": "#/components/responses/internal_error" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "pulls", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/pulls/{pull_number}/merge": { - "get": { - "summary": "Check if a pull request has been merged", - "description": "", - "tags": ["pulls"], - "operationId": "pulls/check-if-merged", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/pulls/#check-if-a-pull-request-has-been-merged" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/pull-number" } - ], - "responses": { - "204": { "description": "Response if pull request has been merged" }, - "404": { - "description": "Response if pull request has not been merged" - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "pulls", - "subcategory": null - }, - "x-octokit": {} - }, - "put": { - "summary": "Merge a pull request", - "description": "This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-abuse-rate-limits)\" for details.", - "tags": ["pulls"], - "operationId": "pulls/merge", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/pulls/#merge-a-pull-request" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/pull-number" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "nullable": true, - "properties": { - "commit_title": { - "type": "string", - "description": "Title for the automatic commit message." - }, - "commit_message": { - "type": "string", - "description": "Extra detail to append to automatic commit message." - }, - "sha": { - "type": "string", - "description": "SHA that pull request head must match to allow merge." - }, - "merge_method": { - "type": "string", - "description": "Merge method to use. Possible values are `merge`, `squash` or `rebase`. Default is `merge`.", - "enum": ["merge", "squash", "rebase"] - } - } - } - } - } - }, - "responses": { - "200": { - "description": "Response if merge was successful", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/pull-request-merge-result" - }, - "examples": { - "response-if-merge-was-successful": { - "$ref": "#/components/examples/pull-request-merge-result-response-if-merge-was-successful" - } - } - } - } - }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "405": { - "description": "Response if merge cannot be performed", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { "type": "string" }, - "documentation_url": { "type": "string" } - } - }, - "examples": { - "response-if-merge-cannot-be-performed": { - "value": { "message": "Pull Request is not mergeable" } - } - } - } - } - }, - "409": { - "description": "Response if sha was provided and pull request head did not match", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { "type": "string" }, - "documentation_url": { "type": "string" } - } - }, - "examples": { - "response-if-sha-was-provided-and-pull-request-head-did-not-match": { - "value": { - "message": "Head branch was modified. Review and try the merge again." - } - } - } - } - } - }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "triggersNotification": true, - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "pulls", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": { - "get": { - "summary": "List requested reviewers for a pull request", - "description": "", - "tags": ["pulls"], - "operationId": "pulls/list-requested-reviewers", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/pulls#list-requested-reviewers-for-a-pull-request" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/pull-number" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/pull-request-review-request" - }, - "examples": { - "default": { - "$ref": "#/components/examples/simple-pull-request-review-request" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "pulls", - "subcategory": "review-requests" - }, - "x-octokit": {} - }, - "post": { - "summary": "Request reviewers for a pull request", - "description": "This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-abuse-rate-limits)\" for details.", - "tags": ["pulls"], - "operationId": "pulls/request-reviewers", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/pulls#request-reviewers-for-a-pull-request" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/pull-number" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "reviewers": { - "type": "array", - "description": "An array of user `login`s that will be requested.", - "items": { "type": "string" } - }, - "team_reviewers": { - "type": "array", - "description": "An array of team `slug`s that will be requested.", - "items": { "type": "string" } - } - } - }, - "example": { - "reviewers": ["octocat", "hubot", "other_user"], - "team_reviewers": ["justice-league"] - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/pull-request-simple" - }, - "examples": { - "default": { - "$ref": "#/components/examples/pull-request-review-request" - } - } - } - } - }, - "403": { "$ref": "#/components/responses/forbidden" }, - "422": { "description": "Response if user is not a collaborator" } - }, - "x-github": { - "triggersNotification": true, - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "pulls", - "subcategory": "review-requests" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Remove requested reviewers from a pull request", - "description": "", - "tags": ["pulls"], - "operationId": "pulls/remove-requested-reviewers", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/pulls#remove-requested-reviewers-from-a-pull-request" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/pull-number" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "reviewers": { - "type": "array", - "description": "An array of user `login`s that will be removed.", - "items": { "type": "string" } - }, - "team_reviewers": { - "type": "array", - "description": "An array of team `slug`s that will be removed.", - "items": { "type": "string" } - } - } - }, - "example": { - "reviewers": ["octocat", "hubot", "other_user"], - "team_reviewers": ["justice-league"] - } - } - } - }, - "responses": { - "200": { "description": "response" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "pulls", - "subcategory": "review-requests" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/pulls/{pull_number}/reviews": { - "get": { - "summary": "List reviews for a pull request", - "description": "The list of reviews returns in chronological order.", - "tags": ["pulls"], - "operationId": "pulls/list-reviews", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/pulls#list-reviews-for-a-pull-request" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/pull-number" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "The list of reviews returns in chronological order.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/pull-request-review" - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/pull-request-review-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "pulls", - "subcategory": "reviews" - }, - "x-octokit": {} - }, - "post": { - "summary": "Create a review for a pull request", - "description": "This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.\n\nPull request reviews created in the `PENDING` state do not include the `submitted_at` property in the response.\n\n**Note:** To comment on a specific line in a file, you need to first determine the _position_ of that line in the diff. The GitHub REST API v3 offers the `application/vnd.github.v3.diff` [media type](https://docs.github.com/rest/overview/media-types#commits-commit-comparison-and-pull-requests). To see a pull request diff, add this media type to the `Accept` header of a call to the [single pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) endpoint.\n\nThe `position` value equals the number of lines down from the first \"@@\" hunk header in the file you want to add a comment. The line just below the \"@@\" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file.", - "tags": ["pulls"], - "operationId": "pulls/create-review", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/pulls#create-a-review-for-a-pull-request" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/pull-number" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "commit_id": { - "type": "string", - "description": "The SHA of the commit that needs a review. Not using the latest commit SHA may render your review comment outdated if a subsequent commit modifies the line you specify as the `position`. Defaults to the most recent commit in the pull request when you do not specify a value." - }, - "body": { - "type": "string", - "description": "**Required** when using `REQUEST_CHANGES` or `COMMENT` for the `event` parameter. The body text of the pull request review." - }, - "event": { - "type": "string", - "description": "The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. By leaving this blank, you set the review action state to `PENDING`, which means you will need to [submit the pull request review](https://docs.github.com/rest/reference/pulls#submit-a-review-for-a-pull-request) when you are ready.", - "enum": ["APPROVE", "REQUEST_CHANGES", "COMMENT"] - }, - "comments": { - "type": "array", - "description": "Use the following table to specify the location, destination, and contents of the draft review comment.", - "items": { - "type": "object", - "properties": { - "path": { - "type": "string", - "description": "The relative path to the file that necessitates a review comment." - }, - "position": { - "type": "integer", - "description": "The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note below." - }, - "body": { - "type": "string", - "description": "Text of the review comment." - }, - "line": { "type": "integer", "example": 28 }, - "side": { "type": "string", "example": "RIGHT" }, - "start_line": { "type": "integer", "example": 26 }, - "start_side": { "type": "string", "example": "LEFT" } - }, - "required": ["path", "body"] - } - } - } - }, - "example": { - "commit_id": "ecdd80bb57125d7ba9641ffaa4d7d2c19d3f3091", - "body": "This is close to perfect! Please address the suggested inline change.", - "event": "REQUEST_CHANGES", - "comments": [ - { - "path": "file.md", - "position": 6, - "body": "Please add more information here, and fix this typo." - } - ] - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/pull-request-review" - }, - "examples": { - "default": { - "$ref": "#/components/examples/pull-request-review" - } - } - } - } - }, - "403": { "$ref": "#/components/responses/forbidden" }, - "422": { "$ref": "#/components/responses/validation_failed_simple" } - }, - "x-github": { - "triggersNotification": true, - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "pulls", - "subcategory": "reviews" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": { - "get": { - "summary": "Get a review for a pull request", - "description": "", - "tags": ["pulls"], - "operationId": "pulls/get-review", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/pulls#get-a-review-for-a-pull-request" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/pull-number" }, - { "$ref": "#/components/parameters/review_id" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/pull-request-review" - }, - "examples": { - "default": { - "$ref": "#/components/examples/pull-request-review-4" - } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "pulls", - "subcategory": "reviews" - }, - "x-octokit": {} - }, - "put": { - "summary": "Update a review for a pull request", - "description": "Update the review summary comment with new text.", - "tags": ["pulls"], - "operationId": "pulls/update-review", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/pulls#update-a-review-for-a-pull-request" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/pull-number" }, - { "$ref": "#/components/parameters/review_id" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "body": { - "type": "string", - "description": "The body text of the pull request review." - } - }, - "required": ["body"] - }, - "example": { - "body": "This is close to perfect! Please address the suggested inline change. And add more about this." - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/pull-request-review" - }, - "examples": { - "default": { - "$ref": "#/components/examples/pull-request-review-5" - } - } - } - } - }, - "422": { "$ref": "#/components/responses/validation_failed_simple" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "pulls", - "subcategory": "reviews" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a pending review for a pull request", - "description": "", - "tags": ["pulls"], - "operationId": "pulls/delete-pending-review", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/pulls#delete-a-pending-review-for-a-pull-request" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/pull-number" }, - { "$ref": "#/components/parameters/review_id" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/pull-request-review" - }, - "examples": { - "default": { - "$ref": "#/components/examples/pull-request-review" - } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed_simple" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "pulls", - "subcategory": "reviews" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments": { - "get": { - "summary": "List comments for a pull request review", - "description": "List comments for a specific pull request review.", - "tags": ["pulls"], - "operationId": "pulls/list-comments-for-review", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/pulls#list-comments-for-a-pull-request-review" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/pull-number" }, - { "$ref": "#/components/parameters/review_id" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/review-comment" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/review-comment-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "pulls", - "subcategory": "reviews" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals": { - "put": { - "summary": "Dismiss a review for a pull request", - "description": "**Note:** To dismiss a pull request review on a [protected branch](https://docs.github.com/rest/reference/repos#branches), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews.", - "tags": ["pulls"], - "operationId": "pulls/dismiss-review", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/pulls#dismiss-a-review-for-a-pull-request" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/pull-number" }, - { "$ref": "#/components/parameters/review_id" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "description": "The message for the pull request review dismissal" - }, - "event": { "type": "string", "example": "\"APPROVE\"" } - }, - "required": ["message"] - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/pull-request-review" - }, - "examples": { - "default": { - "$ref": "#/components/examples/pull-request-review-3" - } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed_simple" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "pulls", - "subcategory": "reviews" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events": { - "post": { - "summary": "Submit a review for a pull request", - "description": "", - "tags": ["pulls"], - "operationId": "pulls/submit-review", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/pulls#submit-a-review-for-a-pull-request" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/pull-number" }, - { "$ref": "#/components/parameters/review_id" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "body": { - "type": "string", - "description": "The body text of the pull request review" - }, - "event": { - "type": "string", - "description": "The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. When you leave this blank, the API returns _HTTP 422 (Unrecognizable entity)_ and sets the review action state to `PENDING`, which means you will need to re-submit the pull request review using a review action.", - "enum": ["APPROVE", "REQUEST_CHANGES", "COMMENT"] - } - }, - "required": ["event"] - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/pull-request-review" - }, - "examples": { - "default": { - "$ref": "#/components/examples/pull-request-review-4" - } - } - } - } - }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed_simple" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "pulls", - "subcategory": "reviews" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/pulls/{pull_number}/update-branch": { - "put": { - "summary": "Update a pull request branch", - "description": "Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch.", - "tags": ["pulls"], - "operationId": "pulls/update-branch", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/pulls/#update-a-pull-request-branch" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/pull-number" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "nullable": true, - "properties": { - "expected_head_sha": { - "type": "string", - "description": "The expected SHA of the pull request's HEAD ref. This is the most recent commit on the pull request's branch. If the expected SHA does not match the pull request's HEAD, you will receive a `422 Unprocessable Entity` status. You can use the \"[List commits](https://docs.github.com/rest/reference/repos#list-commits)\" endpoint to find the most recent commit SHA. Default: SHA of the pull request's current HEAD ref." - } - } - }, - "example": { - "expected_head_sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e" - } - } - } - }, - "responses": { - "202": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { "type": "string" }, - "url": { "type": "string" } - } - }, - "example": { - "message": "Updating pull request branch.", - "url": "https://github.com/repos/octocat/Hello-World/pulls/53" - } - } - } - }, - "403": { "$ref": "#/components/responses/forbidden" }, - "415": { "$ref": "#/components/responses/preview_header_missing" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [ - { - "required": true, - "name": "lydian", - "note": "Updating the pull request branch with latest upstream changes is currently available for developers to preview. To access this new endpoint during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.lydian-preview+json\n```" - } - ], - "category": "pulls", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/readme": { - "get": { - "summary": "Get a repository README", - "description": "Gets the preferred README for a repository.\n\nREADMEs support [custom media types](https://docs.github.com/rest/reference/repos#custom-media-types) for retrieving the raw content or rendered HTML.", - "tags": ["repos"], - "operationId": "repos/get-readme", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#get-a-repository-readme" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "ref", - "description": "The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`)", - "in": "query", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/content-file" }, - "examples": { - "default": { "$ref": "#/components/examples/content-file" } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "contents" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/releases": { - "get": { - "summary": "List releases", - "description": "This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/rest/reference/repos#list-repository-tags).\n\nInformation about published releases are available to everyone. Only users with push access will receive listings for draft releases.", - "tags": ["repos"], - "operationId": "repos/list-releases", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#list-releases" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/release" } - }, - "examples": { - "default": { "$ref": "#/components/examples/release-items" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "releases" - }, - "x-octokit": {} - }, - "post": { - "summary": "Create a release", - "description": "Users with push access to the repository can create a release.\n\nThis endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.", - "tags": ["repos"], - "operationId": "repos/create-release", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#create-a-release" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "tag_name": { - "type": "string", - "description": "The name of the tag." - }, - "target_commitish": { - "type": "string", - "description": "Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`)." - }, - "name": { - "type": "string", - "description": "The name of the release." - }, - "body": { - "type": "string", - "description": "Text describing the contents of the tag." - }, - "draft": { - "type": "boolean", - "description": "`true` to create a draft (unpublished) release, `false` to create a published one.", - "default": false - }, - "prerelease": { - "type": "boolean", - "description": "`true` to identify the release as a prerelease. `false` to identify the release as a full release.", - "default": false - } - }, - "required": ["tag_name"] - }, - "example": { - "tag_name": "v1.0.0", - "target_commitish": "master", - "name": "v1.0.0", - "body": "Description of the release", - "draft": false, - "prerelease": false - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/release" }, - "examples": { - "default": { "$ref": "#/components/examples/release" } - } - } - }, - "headers": { - "Location": { - "example": "https://api.github.com/repos/octocat/Hello-World/releases/1", - "schema": { "type": "string" } - } - } - }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "triggersNotification": true, - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "releases" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/releases/assets/{asset_id}": { - "get": { - "summary": "Get a release asset", - "description": "To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response.", - "tags": ["repos"], - "operationId": "repos/get-release-asset", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#get-a-release-asset" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/asset_id" } - ], - "responses": { - "200": { - "description": "To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response.", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/release-asset" }, - "examples": { - "default": { "$ref": "#/components/examples/release-asset" } - } - } - } - }, - "302": { "$ref": "#/components/responses/found" }, - "404": { "$ref": "#/components/responses/not_found" }, - "415": { "$ref": "#/components/responses/preview_header_missing" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "releases" - }, - "x-octokit": {} - }, - "patch": { - "summary": "Update a release asset", - "description": "Users with push access to the repository can edit a release asset.", - "tags": ["repos"], - "operationId": "repos/update-release-asset", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#update-a-release-asset" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/asset_id" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The file name of the asset." - }, - "label": { - "type": "string", - "description": "An alternate short description of the asset. Used in place of the filename." - }, - "state": { "type": "string", "example": "\"uploaded\"" } - } - }, - "example": { "name": "foo-1.0.0-osx.zip", "label": "Mac binary" } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/release-asset" }, - "examples": { - "default": { "$ref": "#/components/examples/release-asset" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "releases" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a release asset", - "description": "", - "tags": ["repos"], - "operationId": "repos/delete-release-asset", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#delete-a-release-asset" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/asset_id" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "releases" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/releases/latest": { - "get": { - "summary": "Get the latest release", - "description": "View the latest published full release for the repository.\n\nThe latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published.", - "tags": ["repos"], - "operationId": "repos/get-latest-release", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#get-the-latest-release" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/release" }, - "examples": { - "default": { "$ref": "#/components/examples/release" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "releases" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/releases/tags/{tag}": { - "get": { - "summary": "Get a release by tag name", - "description": "Get a published release with the specified tag.", - "tags": ["repos"], - "operationId": "repos/get-release-by-tag", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#get-a-release-by-tag-name" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "tag", - "description": "tag+ parameter", - "in": "path", - "required": true, - "schema": { "type": "string" }, - "x-multi-segment": true - } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/release" }, - "examples": { - "default": { "$ref": "#/components/examples/release" } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "releases" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/releases/{release_id}": { - "get": { - "summary": "Get a release", - "description": "**Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia).", - "tags": ["repos"], - "operationId": "repos/get-release", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#get-a-release" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/release_id" } - ], - "responses": { - "200": { - "description": "**Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia).", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/release" }, - "examples": { - "default": { "$ref": "#/components/examples/release" } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "releases" - }, - "x-octokit": {} - }, - "patch": { - "summary": "Update a release", - "description": "Users with push access to the repository can edit a release.", - "tags": ["repos"], - "operationId": "repos/update-release", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#update-a-release" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/release_id" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "tag_name": { - "type": "string", - "description": "The name of the tag." - }, - "target_commitish": { - "type": "string", - "description": "Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`)." - }, - "name": { - "type": "string", - "description": "The name of the release." - }, - "body": { - "type": "string", - "description": "Text describing the contents of the tag." - }, - "draft": { - "type": "boolean", - "description": "`true` makes the release a draft, and `false` publishes the release." - }, - "prerelease": { - "type": "boolean", - "description": "`true` to identify the release as a prerelease, `false` to identify the release as a full release." - } - } - }, - "example": { - "tag_name": "v1.0.0", - "target_commitish": "master", - "name": "v1.0.0", - "body": "Description of the release", - "draft": false, - "prerelease": false - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/release" }, - "examples": { - "default": { "$ref": "#/components/examples/release" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "releases" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a release", - "description": "Users with push access to the repository can delete a release.", - "tags": ["repos"], - "operationId": "repos/delete-release", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#delete-a-release" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/release_id" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "releases" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/releases/{release_id}/assets": { - "get": { - "summary": "List release assets", - "description": "", - "tags": ["repos"], - "operationId": "repos/list-release-assets", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#list-release-assets" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/release_id" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/release-asset" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/release-asset-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "releases" - }, - "x-octokit": {} - }, - "post": { - "summary": "Upload a release asset", - "description": "This endpoint makes use of [a Hypermedia relation](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in\nthe response of the [Create a release endpoint](https://docs.github.com/rest/reference/repos#create-a-release) to upload a release asset.\n\nYou need to use an HTTP client which supports [SNI](http://en.wikipedia.org/wiki/Server_Name_Indication) to make calls to this endpoint.\n\nMost libraries will set the required `Content-Length` header automatically. Use the required `Content-Type` header to provide the media type of the asset. For a list of media types, see [Media Types](https://www.iana.org/assignments/media-types/media-types.xhtml). For example: \n\n`application/zip`\n\nGitHub expects the asset data in its raw binary form, rather than JSON. You will send the raw binary content of the asset as the request body. Everything else about the endpoint is the same as the rest of the API. For example,\nyou'll still need to pass your authentication to be able to upload an asset.\n\nWhen an upstream failure occurs, you will receive a `502 Bad Gateway` status. This may leave an empty asset with a state of `starter`. It can be safely deleted.\n\n**Notes:**\n* GitHub renames asset filenames that have special characters, non-alphanumeric characters, and leading or trailing periods. The \"[List assets for a release](https://docs.github.com/rest/reference/repos#list-assets-for-a-release)\"\nendpoint lists the renamed filenames. For more information and help, contact [GitHub Support](https://support.github.com/contact).\n* If you upload an asset with the same filename as another uploaded asset, you'll receive an error and must delete the old file before you can re-upload the new asset.", - "tags": ["repos"], - "operationId": "repos/upload-release-asset", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#upload-a-release-asset" - }, - "servers": [ - { - "url": "{origin}", - "variables": { - "origin": { - "default": "https://uploads.github.com", - "description": "The URL origin (protocol + host name + port) is included in `upload_url` returned in the response of the \"Create a release\" endpoint" - } - } - } - ], - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/release_id" }, - { "name": "name", "in": "query", "schema": { "type": "string" } }, - { "name": "label", "in": "query", "schema": { "type": "string" } } - ], - "requestBody": { - "content": { - "*/*": { - "schema": { "type": "string", "description": "The raw file data" } - } - } - }, - "responses": { - "201": { - "description": "Response for successful upload", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/release-asset" }, - "examples": { - "response-for-successful-upload": { - "$ref": "#/components/examples/release-asset-response-for-successful-upload" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "releases" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/secret-scanning/alerts": { - "get": { - "summary": "List secret scanning alerts for a repository", - "description": "Lists all secret scanning alerts for a private repository, from newest to oldest. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the `repo` scope or `security_events` scope.\n\nGitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint.", - "tags": ["secret-scanning"], - "operationId": "secret-scanning/list-alerts-for-repo", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/secret-scanning#list-secret-scanning-alerts-for-a-repository" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "state", - "in": "query", - "description": "Set to `open` or `resolved` to only list secret scanning alerts in a specific state.", - "required": false, - "schema": { "type": "string", "enum": ["open", "resolved"] } - }, - { "$ref": "#/components/parameters/page" }, - { "$ref": "#/components/parameters/per_page" } - ], - "responses": { - "200": { - "description": "Response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/secret-scanning-alert" - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/secret-scanning-alert-list" - } - } - } - } - }, - "404": { - "description": "Repository is public or secret scanning is disabled for the repository" - }, - "503": { "$ref": "#/components/responses/service_unavailable" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "secret-scanning", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": { - "get": { - "summary": "Get a secret scanning alert", - "description": "Gets a single secret scanning alert detected in a private repository. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the `repo` scope or `security_events` scope.\n\nGitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint.", - "tags": ["secret-scanning"], - "operationId": "secret-scanning/get-alert", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/secret-scanning#get-a-secret-scanning-alert" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/alert_number" } - ], - "responses": { - "200": { - "description": "Default response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/secret-scanning-alert" - }, - "examples": { - "default": { - "$ref": "#/components/examples/secret-scanning-alert-open" - } - } - } - } - }, - "404": { - "description": "Repository is public, or secret scanning is disabled for the repository, or the resource is not found" - }, - "503": { "$ref": "#/components/responses/service_unavailable" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "secret-scanning", - "subcategory": null - }, - "x-octokit": {} - }, - "patch": { - "summary": "Update a secret scanning alert", - "description": "Updates the status of a secret scanning alert in a private repository. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the `repo` scope or `security_events` scope.\n\nGitHub Apps must have the `secret_scanning_alerts` write permission to use this endpoint.", - "operationId": "secret-scanning/update-alert", - "tags": ["secret-scanning"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/secret-scanning#update-a-secret-scanning-alert" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/alert_number" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "state": { - "$ref": "#/components/schemas/secret-scanning-alert-state" - }, - "resolution": { - "$ref": "#/components/schemas/secret-scanning-alert-resolution" - } - }, - "required": ["state"] - }, - "example": { "state": "resolved", "resolution": "false_positive" } - } - } - }, - "responses": { - "200": { - "description": "Default response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/secret-scanning-alert" - }, - "examples": { - "default": { - "$ref": "#/components/examples/secret-scanning-alert-resolved" - } - } - } - } - }, - "404": { - "description": "Repository is public, or secret scanning is disabled for the repository, or the resource is not found" - }, - "422": { "description": "State does not match the resolution" }, - "503": { "$ref": "#/components/responses/service_unavailable" } - }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": false, - "previews": [], - "category": "secret-scanning" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/stargazers": { - "get": { - "summary": "List stargazers", - "description": "Lists the people that have starred the repository.\n\nYou can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header:", - "tags": ["activity"], - "operationId": "activity/list-stargazers-for-repo", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/activity#list-stargazers" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/simple-user" } - }, - "examples": { - "default-response": { - "$ref": "#/components/examples/simple-user-items-default-response" - } - } - }, - "application/vnd.github.v3.star+json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/stargazer" } - }, - "examples": { - "alternative-response-with-star-creation-timestamps": { - "$ref": "#/components/examples/stargazer-items-alternative-response-with-star-creation-timestamps" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "activity", - "subcategory": "starring" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/stats/code_frequency": { - "get": { - "summary": "Get the weekly commit activity", - "description": "Returns a weekly aggregate of the number of additions and deletions pushed to a repository.", - "tags": ["repos"], - "operationId": "repos/get-code-frequency-stats", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#get-the-weekly-commit-activity" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { - "200": { - "description": "Returns a weekly aggregate of the number of additions and deletions pushed to a repository.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/code-frequency-stat" - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/code-frequency-stat-items" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "statistics" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/stats/commit_activity": { - "get": { - "summary": "Get the last year of commit activity", - "description": "Returns the last year of commit activity grouped by week. The `days` array is a group of commits per day, starting on `Sunday`.", - "tags": ["repos"], - "operationId": "repos/get-commit-activity-stats", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#get-the-last-year-of-commit-activity" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/commit-activity" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/commit-activity-items" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "statistics" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/stats/contributors": { - "get": { - "summary": "Get all contributor commit activity", - "description": "\nReturns the `total` number of commits authored by the contributor. In addition, the response includes a Weekly Hash (`weeks` array) with the following information:\n\n* `w` - Start of the week, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time).\n* `a` - Number of additions\n* `d` - Number of deletions\n* `c` - Number of commits", - "tags": ["repos"], - "operationId": "repos/get-contributors-stats", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#get-all-contributor-commit-activity" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { - "200": { - "description": "* `w` - Start of the week, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time).\n* `a` - Number of additions\n* `d` - Number of deletions\n* `c` - Number of commits", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/contributor-activity" - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/contributor-activity-items" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "statistics" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/stats/participation": { - "get": { - "summary": "Get the weekly commit count", - "description": "Returns the total commit counts for the `owner` and total commit counts in `all`. `all` is everyone combined, including the `owner` in the last 52 weeks. If you'd like to get the commit counts for non-owners, you can subtract `owner` from `all`.\n\nThe array order is oldest week (index 0) to most recent week.", - "tags": ["repos"], - "operationId": "repos/get-participation-stats", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#get-the-weekly-commit-count" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { - "200": { - "description": "The array order is oldest week (index 0) to most recent week.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/participation-stats" - }, - "examples": { - "default": { - "$ref": "#/components/examples/participation-stats" - } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "statistics" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/stats/punch_card": { - "get": { - "summary": "Get the hourly commit count for each day", - "description": "Each array contains the day number, hour number, and number of commits:\n\n* `0-6`: Sunday - Saturday\n* `0-23`: Hour of day\n* Number of commits\n\nFor example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits.", - "tags": ["repos"], - "operationId": "repos/get-punch-card-stats", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#get-the-hourly-commit-count-for-each-day" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { - "200": { - "description": "For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/code-frequency-stat" - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/code-frequency-stat-items-2" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "statistics" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/statuses/{sha}": { - "post": { - "summary": "Create a commit status", - "description": "Users with push access in a repository can create commit statuses for a given SHA.\n\nNote: there is a limit of 1000 statuses per `sha` and `context` within a repository. Attempts to create more than 1000 statuses will result in a validation error.", - "tags": ["repos"], - "operationId": "repos/create-commit-status", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#create-a-commit-status" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "sha", - "in": "path", - "required": true, - "schema": { "type": "string" }, - "x-multi-segment": true - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "state": { - "type": "string", - "description": "The state of the status. Can be one of `error`, `failure`, `pending`, or `success`.", - "enum": ["error", "failure", "pending", "success"] - }, - "target_url": { - "type": "string", - "description": "The target URL to associate with this status. This URL will be linked from the GitHub UI to allow users to easily see the source of the status. \nFor example, if your continuous integration system is posting build status, you would want to provide the deep link for the build output for this specific SHA: \n`http://ci.example.com/user/repo/build/sha`" - }, - "description": { - "type": "string", - "description": "A short description of the status." - }, - "context": { - "type": "string", - "description": "A string label to differentiate this status from the status of other systems. This field is case-insensitive.", - "default": "default" - } - }, - "required": ["state"] - }, - "example": { - "state": "success", - "target_url": "https://example.com/build/status", - "description": "The build succeeded!", - "context": "continuous-integration/jenkins" - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/status" }, - "examples": { - "default": { "$ref": "#/components/examples/status" } - } - } - }, - "headers": { - "Location": { - "example": "https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e", - "schema": { "type": "string" } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "statuses" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/subscribers": { - "get": { - "summary": "List watchers", - "description": "Lists the people watching the specified repository.", - "tags": ["activity"], - "operationId": "activity/list-watchers-for-repo", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/activity#list-watchers" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/simple-user" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/simple-user-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "activity", - "subcategory": "watching" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/subscription": { - "get": { - "summary": "Get a repository subscription", - "description": "", - "tags": ["activity"], - "operationId": "activity/get-repo-subscription", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/activity#get-a-repository-subscription" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { - "200": { - "description": "Response if you subscribe to the repository", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/repository-subscription" - }, - "examples": { - "response-if-you-subscribe-to-the-repository": { - "$ref": "#/components/examples/repository-subscription-response-if-you-subscribe-to-the-repository" - } - } - } - } - }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { - "description": "Response if you don't subscribe to the repository" - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "activity", - "subcategory": "watching" - }, - "x-octokit": {} - }, - "put": { - "summary": "Set a repository subscription", - "description": "If you would like to watch a repository, set `subscribed` to `true`. If you would like to ignore notifications made within a repository, set `ignored` to `true`. If you would like to stop watching a repository, [delete the repository's subscription](https://docs.github.com/rest/reference/activity#delete-a-repository-subscription) completely.", - "tags": ["activity"], - "operationId": "activity/set-repo-subscription", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/activity#set-a-repository-subscription" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "subscribed": { - "type": "boolean", - "description": "Determines if notifications should be received from this repository." - }, - "ignored": { - "type": "boolean", - "description": "Determines if all notifications should be blocked from this repository." - } - } - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/repository-subscription" - }, - "examples": { - "default": { - "$ref": "#/components/examples/repository-subscription" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "activity", - "subcategory": "watching" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a repository subscription", - "description": "This endpoint should only be used to stop watching a repository. To control whether or not you wish to receive notifications from a repository, [set the repository's subscription manually](https://docs.github.com/rest/reference/activity#set-a-repository-subscription).", - "tags": ["activity"], - "operationId": "activity/delete-repo-subscription", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/activity#delete-a-repository-subscription" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "activity", - "subcategory": "watching" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/tags": { - "get": { - "summary": "List repository tags", - "description": "", - "tags": ["repos"], - "operationId": "repos/list-tags", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/repos/#list-repository-tags" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/tag" } - }, - "examples": { - "default": { "$ref": "#/components/examples/tag-items" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/tarball/{ref}": { - "get": { - "summary": "Download a repository archive (tar)", - "description": "Gets a redirect URL to download a tar archive for a repository. If you omit `:ref`, the repository’s default branch (usually\n`master`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use\nthe `Location` header to make a second `GET` request.\n**Note**: For private repositories, these links are temporary and expire after five minutes.", - "tags": ["repos"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#download-a-repository-archive" - }, - "operationId": "repos/download-tarball-archive", - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "ref", - "in": "path", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "302": { - "description": "response", - "headers": { - "Location": { - "example": "https://codeload.github.com/me/myprivate/legacy.zip/master?login=me&token=thistokenexpires", - "schema": { "type": "string" } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "contents" - }, - "x-octokit": { - "changes": [ - { - "type": "OPERATION", - "date": "2020-09-17", - "before": { "operationId": "repos/download-archive" } - } - ] - } - } - }, - "/repos/{owner}/{repo}/teams": { - "get": { - "summary": "List repository teams", - "description": "", - "tags": ["repos"], - "operationId": "repos/list-teams", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/repos/#list-repository-teams" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/team" } - }, - "examples": { - "default": { "$ref": "#/components/examples/team-items" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/topics": { - "get": { - "summary": "Get all repository topics", - "description": "", - "tags": ["repos"], - "operationId": "repos/get-all-topics", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/repos/#get-all-repository-topics" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/topic" }, - "examples": { - "default": { "$ref": "#/components/examples/topic" } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "415": { "$ref": "#/components/responses/preview_header_missing" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "mercy", - "note": "The `topics` property for repositories on GitHub is currently available for developers to preview. To view the `topics` property in calls that return repository results, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.mercy-preview+json\n```" - } - ], - "category": "repos", - "subcategory": null - }, - "x-octokit": {} - }, - "put": { - "summary": "Replace all repository topics", - "description": "", - "tags": ["repos"], - "operationId": "repos/replace-all-topics", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/repos/#replace-all-repository-topics" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "names": { - "type": "array", - "description": "An array of topics to add to the repository. Pass one or more topics to _replace_ the set of existing topics. Send an empty array (`[]`) to clear all topics from the repository. **Note:** Topic `names` cannot contain uppercase letters.", - "items": { "type": "string" } - } - }, - "required": ["names"] - }, - "example": { "names": ["octocat", "atom", "electron", "api"] } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/topic" }, - "examples": { - "default": { "$ref": "#/components/examples/topic" } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "415": { "$ref": "#/components/responses/preview_header_missing" }, - "422": { "$ref": "#/components/responses/validation_failed_simple" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "mercy", - "note": "The `topics` property for repositories on GitHub is currently available for developers to preview. To view the `topics` property in calls that return repository results, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.mercy-preview+json\n```" - } - ], - "category": "repos", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/traffic/clones": { - "get": { - "summary": "Get repository clones", - "description": "Get the total number of clones and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday.", - "tags": ["repos"], - "operationId": "repos/get-clones", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#get-repository-clones" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/per" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/clone-traffic" }, - "examples": { - "default": { "$ref": "#/components/examples/clone-traffic" } - } - } - } - }, - "403": { "$ref": "#/components/responses/forbidden" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "traffic" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/traffic/popular/paths": { - "get": { - "summary": "Get top referral paths", - "description": "Get the top 10 popular contents over the last 14 days.", - "tags": ["repos"], - "operationId": "repos/get-top-paths", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#get-top-referral-paths" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/content-traffic" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/content-traffic-items" - } - } - } - } - }, - "403": { "$ref": "#/components/responses/forbidden" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "traffic" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/traffic/popular/referrers": { - "get": { - "summary": "Get top referral sources", - "description": "Get the top 10 referrers over the last 14 days.", - "tags": ["repos"], - "operationId": "repos/get-top-referrers", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#get-top-referral-sources" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/referrer-traffic" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/referrer-traffic-items" - } - } - } - } - }, - "403": { "$ref": "#/components/responses/forbidden" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "traffic" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/traffic/views": { - "get": { - "summary": "Get page views", - "description": "Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday.", - "tags": ["repos"], - "operationId": "repos/get-views", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#get-page-views" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { "$ref": "#/components/parameters/per" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/view-traffic" }, - "examples": { - "default": { "$ref": "#/components/examples/view-traffic" } - } - } - } - }, - "403": { "$ref": "#/components/responses/forbidden" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "traffic" - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/transfer": { - "post": { - "summary": "Transfer a repository", - "description": "A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://help.github.com/articles/about-repository-transfers/).", - "tags": ["repos"], - "operationId": "repos/transfer", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/repos/#transfer-a-repository" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "new_owner": { - "type": "string", - "description": "The username or organization name the repository will be transferred to." - }, - "team_ids": { - "type": "array", - "description": "ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories.", - "items": { "type": "integer" } - } - }, - "required": ["new_owner"] - }, - "example": { "new_owner": "github", "team_ids": [12, 345] } - } - } - }, - "responses": { - "202": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/repository" }, - "examples": { - "default": { "$ref": "#/components/examples/repository" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/vulnerability-alerts": { - "get": { - "summary": "Check if vulnerability alerts are enabled for a repository", - "description": "Shows whether dependency alerts are enabled or disabled for a repository. The authenticated user must have admin access to the repository. For more information, see \"[About security alerts for vulnerable dependencies](https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)\".", - "tags": ["repos"], - "operationId": "repos/check-vulnerability-alerts", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/repos/#check-if-vulnerability-alerts-are-enabled-for-a-repository" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { - "204": { - "description": "Response if repository is enabled with vulnerability alerts" - }, - "404": { - "description": "Response if repository is not enabled with vulnerability alerts" - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [ - { - "required": true, - "name": "dorian", - "note": "Enabling and disabling dependency alerts for a repository using the REST API is currently available for developers to preview. To access these new endpoints during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.dorian-preview+json\n```" - } - ], - "category": "repos", - "subcategory": null - }, - "x-octokit": {} - }, - "put": { - "summary": "Enable vulnerability alerts", - "description": "Enables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see \"[About security alerts for vulnerable dependencies](https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)\".", - "tags": ["repos"], - "operationId": "repos/enable-vulnerability-alerts", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/repos/#enable-vulnerability-alerts" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "dorian", - "note": "Enabling and disabling dependency alerts for a repository using the REST API is currently available for developers to preview. To access these new endpoints during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.dorian-preview+json\n```" - } - ], - "category": "repos", - "subcategory": null - }, - "x-octokit": {} - }, - "delete": { - "summary": "Disable vulnerability alerts", - "description": "Disables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see \"[About security alerts for vulnerable dependencies](https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)\".", - "tags": ["repos"], - "operationId": "repos/disable-vulnerability-alerts", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/repos/#disable-vulnerability-alerts" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "dorian", - "note": "Enabling and disabling dependency alerts for a repository using the REST API is currently available for developers to preview. To access these new endpoints during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.dorian-preview+json\n```" - } - ], - "category": "repos", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/repos/{owner}/{repo}/zipball/{ref}": { - "get": { - "summary": "Download a repository archive (zip)", - "description": "Gets a redirect URL to download a zip archive for a repository. If you omit `:ref`, the repository’s default branch (usually\n`master`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use\nthe `Location` header to make a second `GET` request.\n**Note**: For private repositories, these links are temporary and expire after five minutes.", - "tags": ["repos"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#download-a-repository-archive" - }, - "operationId": "repos/download-zipball-archive", - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" }, - { - "name": "ref", - "in": "path", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "302": { - "description": "response", - "headers": { - "Location": { - "example": "https://codeload.github.com/me/myprivate/legacy.zip/master?login=me&token=thistokenexpires", - "schema": { "type": "string" } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": "contents" - }, - "x-octokit": { - "changes": [ - { - "type": "OPERATION", - "date": "2020-09-17", - "before": { "operationId": "repos/download-archive" } - } - ] - } - } - }, - "/repos/{template_owner}/{template_repo}/generate": { - "post": { - "summary": "Create a repository using a template", - "description": "Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. The authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/reference/repos#get-a-repository) endpoint and check that the `is_template` key is `true`.\n\n**OAuth scope requirements**\n\nWhen using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include:\n\n* `public_repo` scope or `repo` scope to create a public repository\n* `repo` scope to create a private repository", - "tags": ["repos"], - "operationId": "repos/create-using-template", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/repos/#create-a-repository-using-a-template" - }, - "parameters": [ - { - "name": "template_owner", - "in": "path", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "template_repo", - "in": "path", - "required": true, - "schema": { "type": "string" } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "owner": { - "type": "string", - "description": "The organization or person who will own the new repository. To create a new repository in an organization, the authenticated user must be a member of the specified organization." - }, - "name": { - "type": "string", - "description": "The name of the new repository." - }, - "description": { - "type": "string", - "description": "A short description of the new repository." - }, - "include_all_branches": { - "type": "boolean", - "description": "Set to `true` to include the directory structure and files from all branches in the template repository, and not just the default branch. Default: `false`.", - "default": false - }, - "private": { - "type": "boolean", - "description": "Either `true` to create a new private repository or `false` to create a new public one.", - "default": false - } - }, - "required": ["name"] - }, - "example": { - "owner": "octocat", - "name": "Hello-World", - "description": "This is your first repository", - "include_all_branches": false, - "private": false - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/repository" }, - "examples": { - "default": { "$ref": "#/components/examples/repository-3" } - } - } - }, - "headers": { - "Location": { - "example": "https://api.github.com/repos/octocat/Hello-World", - "schema": { "type": "string" } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [ - { - "required": true, - "name": "baptiste", - "note": "Creating and using repository templates is currently available for developers to preview. To access this new endpoint during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n\n```shell\napplication/vnd.github.baptiste-preview+json\n```" - } - ], - "category": "repos", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/repositories": { - "get": { - "summary": "List public repositories", - "description": "Lists all public repositories in the order that they were created.\n\nNote: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of repositories.", - "tags": ["repos"], - "operationId": "repos/list-public", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/repos/#list-public-repositories" - }, - "parameters": [{ "$ref": "#/components/parameters/since-repo" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/minimal-repository" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/public-repository-items" - } - } - } - }, - "headers": { - "Link": { - "example": "; rel=\"next\"", - "schema": { "type": "string" } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "repos", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/scim/v2/enterprises/{enterprise}/Groups": { - "get": { - "summary": "List provisioned SCIM groups for an enterprise", - "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.", - "operationId": "enterprise-admin/list-provisioned-groups-enterprise", - "tags": ["enterprise-admin"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/enterprise-admin#list-provisioned-scim-groups-for-an-enterprise" - }, - "parameters": [ - { "$ref": "#/components/parameters/enterprise" }, - { "$ref": "#/components/parameters/start_index" }, - { "$ref": "#/components/parameters/count" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/scim-group-list-enterprise" - }, - "examples": { - "default": { - "$ref": "#/components/examples/scim-enterprise-group-list" - } - } - } - } - } - }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": true, - "previews": [], - "category": "enterprise-admin", - "subcategory": "scim" - }, - "x-octokit": {} - }, - "post": { - "summary": "Provision a SCIM enterprise group and invite users", - "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n\nProvision an enterprise group, and invite users to the group. This sends invitation emails to the email address of the invited users to join the GitHub organization that the SCIM group corresponds to.", - "operationId": "enterprise-admin/provision-and-invite-enterprise-group", - "tags": ["enterprise-admin"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/enterprise-admin#provision-a-scim-enterprise-group-and-invite-users" - }, - "parameters": [{ "$ref": "#/components/parameters/enterprise" }], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "schemas": { - "type": "array", - "description": "The SCIM schema URIs.", - "items": { "type": "string" } - }, - "displayName": { - "type": "string", - "description": "The name of the SCIM group. This must match the GitHub organization that the group maps to." - }, - "members": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { - "type": "string", - "description": "The SCIM user ID for a user." - } - }, - "required": ["value"] - } - } - }, - "required": ["schemas", "displayName"] - }, - "example": { - "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"], - "displayName": "octo-org", - "members": [ - { "value": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc" }, - { "value": "aaaa8c34-a6b2-11ea-9d70-bbbbbd1c8fd5" } - ] - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/scim-enterprise-group" - }, - "examples": { - "default": { - "$ref": "#/components/examples/scim-enterprise-group" - } - } - } - } - } - }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": true, - "previews": [], - "category": "enterprise-admin", - "subcategory": "scim" - }, - "x-octokit": {} - } - }, - "/scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}": { - "get": { - "summary": "Get SCIM provisioning information for an enterprise group", - "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.", - "operationId": "enterprise-admin/get-provisioning-information-for-enterprise-group", - "tags": ["enterprise-admin"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/enterprise-admin#get-scim-provisioning-information-for-an-enterprise-group" - }, - "parameters": [ - { "$ref": "#/components/parameters/enterprise" }, - { "$ref": "#/components/parameters/scim_group_id" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/scim-enterprise-group" - }, - "examples": { - "default": { - "$ref": "#/components/examples/scim-enterprise-group" - } - } - } - } - } - }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": true, - "previews": [], - "category": "enterprise-admin", - "subcategory": "scim" - }, - "x-octokit": {} - }, - "put": { - "summary": "Set SCIM information for a provisioned enterprise group", - "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n\nReplaces an existing provisioned group’s information. You must provide all the information required for the group as if you were provisioning it for the first time. Any existing group information that you don't provide will be removed, including group membership. If you want to only update a specific attribute, use the [Update an attribute for a SCIM enterprise group](#update-an-attribute-for-a-scim-enterprise-group) endpoint instead.", - "operationId": "enterprise-admin/set-information-for-provisioned-enterprise-group", - "tags": ["enterprise-admin"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/enterprise-admin#set-scim-information-for-a-provisioned-enterprise-group" - }, - "parameters": [ - { "$ref": "#/components/parameters/enterprise" }, - { "$ref": "#/components/parameters/scim_group_id" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "schemas": { - "type": "array", - "description": "The SCIM schema URIs.", - "items": { "type": "string" } - }, - "displayName": { - "type": "string", - "description": "The name of the SCIM group. This must match the GitHub organization that the group maps to." - }, - "members": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { - "type": "string", - "description": "The SCIM user ID for a user." - } - }, - "required": ["value"] - } - } - }, - "required": ["schemas", "displayName"] - }, - "example": { - "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"], - "displayName": "octo-org", - "members": [ - { "value": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc" }, - { "value": "aaaa8c34-a6b2-11ea-9d70-bbbbbd1c8fd5" } - ] - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/scim-enterprise-group" - }, - "examples": { - "default": { - "$ref": "#/components/examples/scim-enterprise-group" - } - } - } - } - } - }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": true, - "previews": [], - "category": "enterprise-admin", - "subcategory": "scim" - }, - "x-octokit": {} - }, - "patch": { - "summary": "Update an attribute for a SCIM enterprise group", - "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n\nAllows you to change a provisioned group’s individual attributes. To change a group’s values, you must provide a specific Operations JSON format that contains at least one of the add, remove, or replace operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2).", - "operationId": "enterprise-admin/update-attribute-for-enterprise-group", - "tags": ["enterprise-admin"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/enterprise-admin#update-an-attribute-for-a-scim-enterprise-group" - }, - "parameters": [ - { "$ref": "#/components/parameters/enterprise" }, - { "$ref": "#/components/parameters/scim_group_id" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "schemas": { - "type": "array", - "description": "The SCIM schema URIs.", - "items": { "type": "string" } - }, - "Operations": { - "type": "array", - "description": "Array of [SCIM operations](https://tools.ietf.org/html/rfc7644#section-3.5.2).", - "items": { "type": "object" } - } - }, - "required": ["schemas", "Operations"] - }, - "example": { - "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"], - "Operations": [ - { - "op": "remove", - "path": "members", - "value": [ - { "value": "aaaa8c34-a6b2-11ea-9d70-bbbbbd1c8fd5" } - ] - } - ] - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/scim-enterprise-group" - }, - "examples": { - "default": { - "$ref": "#/components/examples/scim-enterprise-group-2" - } - } - } - } - } - }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": true, - "previews": [], - "category": "enterprise-admin", - "subcategory": "scim" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a SCIM group from an enterprise", - "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.", - "operationId": "enterprise-admin/delete-scim-group-from-enterprise", - "tags": ["enterprise-admin"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/enterprise-admin#delete-a-scim-group-from-an-enterprise" - }, - "parameters": [ - { "$ref": "#/components/parameters/enterprise" }, - { "$ref": "#/components/parameters/scim_group_id" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": true, - "previews": [], - "category": "enterprise-admin", - "subcategory": "scim" - }, - "x-octokit": {} - } - }, - "/scim/v2/enterprises/{enterprise}/Users": { - "get": { - "summary": "List SCIM provisioned identities for an enterprise", - "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n\nRetrieves a paginated list of all provisioned enterprise members, including pending invitations.\n\nWhen a user with a SAML-provisioned external identity leaves (or is removed from) an enterprise, the account's metadata is immediately removed. However, the returned list of user accounts might not always match the organization or enterprise member list you see on GitHub. This can happen in certain cases where an external identity associated with an organization will not match an organization member:\n - When a user with a SCIM-provisioned external identity is removed from an enterprise, the account's metadata is preserved to allow the user to re-join the organization in the future.\n - When inviting a user to join an organization, you can expect to see their external identity in the results before they accept the invitation, or if the invitation is cancelled (or never accepted).\n - When a user is invited over SCIM, an external identity is created that matches with the invitee's email address. However, this identity is only linked to a user account when the user accepts the invitation by going through SAML SSO.\n\nThe returned list of external identities can include an entry for a `null` user. These are unlinked SAML identities that are created when a user goes through the following Single Sign-On (SSO) process but does not sign in to their GitHub account after completing SSO:\n\n1. The user is granted access by the IdP and is not a member of the GitHub enterprise.\n\n1. The user attempts to access the GitHub enterprise and initiates the SAML SSO process, and is not currently signed in to their GitHub account.\n\n1. After successfully authenticating with the SAML SSO IdP, the `null` external identity entry is created and the user is prompted to sign in to their GitHub account:\n - If the user signs in, their GitHub account is linked to this entry.\n - If the user does not sign in (or does not create a new account when prompted), they are not added to the GitHub enterprise, and the external identity `null` entry remains in place.", - "operationId": "enterprise-admin/list-provisioned-identities-enterprise", - "tags": ["enterprise-admin"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/enterprise-admin#list-scim-provisioned-identities-for-an-enterprise" - }, - "parameters": [ - { "$ref": "#/components/parameters/enterprise" }, - { "$ref": "#/components/parameters/start_index" }, - { "$ref": "#/components/parameters/count" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/scim-user-list-enterprise" - }, - "examples": { - "default": { - "$ref": "#/components/examples/scim-enterprise-user-list" - } - } - } - } - } - }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": true, - "previews": [], - "category": "enterprise-admin", - "subcategory": "scim" - }, - "x-octokit": {} - }, - "post": { - "summary": "Provision and invite a SCIM enterprise user", - "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n\nProvision enterprise membership for a user, and send organization invitation emails to the email address.\n\nYou can optionally include the groups a user will be invited to join. If you do not provide a list of `groups`, the user is provisioned for the enterprise, but no organization invitation emails will be sent.", - "operationId": "enterprise-admin/provision-and-invite-enterprise-user", - "tags": ["enterprise-admin"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/enterprise-admin#provision-and-invite-a-scim-enterprise-user" - }, - "parameters": [{ "$ref": "#/components/parameters/enterprise" }], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "schemas": { - "type": "array", - "description": "The SCIM schema URIs.", - "items": { "type": "string" } - }, - "userName": { - "type": "string", - "description": "The username for the user." - }, - "name": { - "type": "object", - "properties": { - "givenName": { - "type": "string", - "description": "The first name of the user." - }, - "familyName": { - "type": "string", - "description": "The last name of the user." - } - }, - "required": ["givenName", "familyName"] - }, - "emails": { - "type": "array", - "description": "List of user emails.", - "items": { - "type": "object", - "properties": { - "value": { - "type": "string", - "description": "The email address." - }, - "type": { - "type": "string", - "description": "The type of email address." - }, - "primary": { - "type": "boolean", - "description": "Whether this email address is the primary address." - } - }, - "required": ["value", "type", "primary"] - } - }, - "groups": { - "type": "array", - "description": "List of SCIM group IDs the user is a member of.", - "items": { - "type": "object", - "properties": { "value": { "type": "string" } } - } - } - }, - "required": ["schemas", "userName", "name", "emails"] - }, - "example": { - "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"], - "userName": "mona.octocat@okta.example.com", - "name": { "familyName": "Octocat", "givenName": "Mona" }, - "emails": [ - { - "value": "mona.octocat@okta.example.com", - "type": "work", - "primary": true - } - ], - "groups": [{ "value": "468dd3fa-a1d6-11ea-9031-15a1f0d7811d" }] - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/scim-enterprise-user" - }, - "examples": { - "default": { - "$ref": "#/components/examples/scim-enterprise-user" - } - } - } - } - } - }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": true, - "previews": [], - "category": "enterprise-admin", - "subcategory": "scim" - }, - "x-octokit": {} - } - }, - "/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}": { - "get": { - "summary": "Get SCIM provisioning information for an enterprise user", - "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.", - "operationId": "enterprise-admin/get-provisioning-information-for-enterprise-user", - "tags": ["enterprise-admin"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/enterprise-admin#get-scim-provisioning-information-for-an-enterprise-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/enterprise" }, - { "$ref": "#/components/parameters/scim_user_id" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/scim-enterprise-user" - }, - "examples": { - "default": { - "$ref": "#/components/examples/scim-enterprise-user" - } - } - } - } - } - }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": true, - "previews": [], - "category": "enterprise-admin", - "subcategory": "scim" - }, - "x-octokit": {} - }, - "put": { - "summary": "Set SCIM information for a provisioned enterprise user", - "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n\nReplaces an existing provisioned user's information. You must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the [Update an attribute for a SCIM user](#update-an-attribute-for-an-enterprise-scim-user) endpoint instead.\n\nYou must at least provide the required values for the user: `userName`, `name`, and `emails`.\n\n**Warning:** Setting `active: false` removes the user from the enterprise, deletes the external identity, and deletes the associated `{scim_user_id}`.", - "operationId": "enterprise-admin/set-information-for-provisioned-enterprise-user", - "tags": ["enterprise-admin"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/enterprise-admin#set-scim-information-for-a-provisioned-enterprise-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/enterprise" }, - { "$ref": "#/components/parameters/scim_user_id" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "schemas": { - "type": "array", - "description": "The SCIM schema URIs.", - "items": { "type": "string" } - }, - "userName": { - "type": "string", - "description": "The username for the user." - }, - "name": { - "type": "object", - "properties": { - "givenName": { - "type": "string", - "description": "The first name of the user." - }, - "familyName": { - "type": "string", - "description": "The last name of the user." - } - }, - "required": ["givenName", "familyName"] - }, - "emails": { - "type": "array", - "description": "List of user emails.", - "items": { - "type": "object", - "properties": { - "value": { - "type": "string", - "description": "The email address." - }, - "type": { - "type": "string", - "description": "The type of email address." - }, - "primary": { - "type": "boolean", - "description": "Whether this email address is the primary address." - } - }, - "required": ["value", "type", "primary"] - } - }, - "groups": { - "type": "array", - "description": "List of SCIM group IDs the user is a member of.", - "items": { - "type": "object", - "properties": { "value": { "type": "string" } } - } - } - }, - "required": ["schemas", "userName", "name", "emails"] - }, - "example": { - "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"], - "userName": "mona.octocat@okta.example.com", - "name": { "familyName": "Octocat", "givenName": "Mona" }, - "emails": [ - { - "value": "mona.octocat@okta.example.com", - "type": "work", - "primary": true - } - ], - "groups": [{ "value": "468dd3fa-a1d6-11ea-9031-15a1f0d7811d" }] - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/scim-enterprise-user" - }, - "examples": { - "default": { - "$ref": "#/components/examples/scim-enterprise-user" - } - } - } - } - } - }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": true, - "previews": [], - "category": "enterprise-admin", - "subcategory": "scim" - }, - "x-octokit": {} - }, - "patch": { - "summary": "Update an attribute for a SCIM enterprise user", - "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n\nAllows you to change a provisioned user's individual attributes. To change a user's values, you must provide a specific `Operations` JSON format that contains at least one of the `add`, `remove`, or `replace` operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2).\n\n**Note:** Complicated SCIM `path` selectors that include filters are not supported. For example, a `path` selector defined as `\"path\": \"emails[type eq \\\"work\\\"]\"` will not work.\n\n**Warning:** If you set `active:false` using the `replace` operation (as shown in the JSON example below), it removes the user from the enterprise, deletes the external identity, and deletes the associated `:scim_user_id`.\n\n```\n{\n \"Operations\":[{\n \"op\":\"replace\",\n \"value\":{\n \"active\":false\n }\n }]\n}\n```", - "operationId": "enterprise-admin/update-attribute-for-enterprise-user", - "tags": ["enterprise-admin"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/enterprise-admin#update-an-attribute-for-a-scim-enterprise-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/enterprise" }, - { "$ref": "#/components/parameters/scim_user_id" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "schemas": { - "type": "array", - "description": "The SCIM schema URIs.", - "items": { "type": "string" } - }, - "Operations": { - "type": "array", - "description": "Array of [SCIM operations](https://tools.ietf.org/html/rfc7644#section-3.5.2).", - "items": { "type": "object" } - } - }, - "required": ["schemas", "Operations"] - }, - "example": { - "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"], - "Operations": [ - { - "op": "add", - "path": "emails", - "value": [ - { "value": "monalisa@octocat.github.com", "type": "home" } - ] - }, - { - "op": "replace", - "path": "name.givenName", - "value": "Monalisa" - } - ] - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/scim-enterprise-user" - }, - "examples": { - "default": { - "$ref": "#/components/examples/scim-enterprise-user-2" - } - } - } - } - } - }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": true, - "previews": [], - "category": "enterprise-admin", - "subcategory": "scim" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a SCIM user from an enterprise", - "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.", - "operationId": "enterprise-admin/delete-user-from-enterprise", - "tags": ["enterprise-admin"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/enterprise-admin#delete-a-scim-user-from-an-enterprise" - }, - "parameters": [ - { "$ref": "#/components/parameters/enterprise" }, - { "$ref": "#/components/parameters/scim_user_id" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "enabledForGitHubApps": true, - "githubCloudOnly": true, - "previews": [], - "category": "enterprise-admin", - "subcategory": "scim" - }, - "x-octokit": {} - } - }, - "/scim/v2/organizations/{org}/Users": { - "get": { - "summary": "List SCIM provisioned identities", - "description": "Retrieves a paginated list of all provisioned organization members, including pending invitations. If you provide the `filter` parameter, the resources for all matching provisions members are returned.\n\nWhen a user with a SAML-provisioned external identity leaves (or is removed from) an organization, the account's metadata is immediately removed. However, the returned list of user accounts might not always match the organization or enterprise member list you see on GitHub. This can happen in certain cases where an external identity associated with an organization will not match an organization member:\n - When a user with a SCIM-provisioned external identity is removed from an organization, the account's metadata is preserved to allow the user to re-join the organization in the future.\n - When inviting a user to join an organization, you can expect to see their external identity in the results before they accept the invitation, or if the invitation is cancelled (or never accepted).\n - When a user is invited over SCIM, an external identity is created that matches with the invitee's email address. However, this identity is only linked to a user account when the user accepts the invitation by going through SAML SSO.\n\nThe returned list of external identities can include an entry for a `null` user. These are unlinked SAML identities that are created when a user goes through the following Single Sign-On (SSO) process but does not sign in to their GitHub account after completing SSO:\n\n1. The user is granted access by the IdP and is not a member of the GitHub organization.\n\n1. The user attempts to access the GitHub organization and initiates the SAML SSO process, and is not currently signed in to their GitHub account.\n\n1. After successfully authenticating with the SAML SSO IdP, the `null` external identity entry is created and the user is prompted to sign in to their GitHub account:\n - If the user signs in, their GitHub account is linked to this entry.\n - If the user does not sign in (or does not create a new account when prompted), they are not added to the GitHub organization, and the external identity `null` entry remains in place.", - "tags": ["scim"], - "operationId": "scim/list-provisioned-identities", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/scim/#list-scim-provisioned-identities" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { - "name": "startIndex", - "description": "Used for pagination: the index of the first result to return.", - "in": "query", - "required": false, - "schema": { "type": "integer" } - }, - { - "name": "count", - "description": "Used for pagination: the number of results to return.", - "in": "query", - "required": false, - "schema": { "type": "integer" } - }, - { - "name": "filter", - "description": "Filters results using the equals query parameter operator (`eq`). You can filter results that are equal to `id`, `userName`, `emails`, and `external_id`. For example, to search for an identity with the `userName` Octocat, you would use this query:\n\n`?filter=userName%20eq%20\\\"Octocat\\\"`.\n\nTo filter results for the identity with the email `octocat@github.com`, you would use this query:\n\n`?filter=emails%20eq%20\\\"octocat@github.com\\\"`.", - "in": "query", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/scim+json": { - "schema": { "$ref": "#/components/schemas/scim-user-list" }, - "examples": { - "response-with-filter": { - "$ref": "#/components/examples/scim-user-list-response-with-filter" - }, - "response-without-filter": { - "$ref": "#/components/examples/scim-user-list-response-without-filter" - } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "400": { "$ref": "#/components/responses/scim_bad_request" }, - "403": { "$ref": "#/components/responses/scim_forbidden" }, - "404": { "$ref": "#/components/responses/scim_not_found" } - }, - "x-github": { - "githubCloudOnly": true, - "enabledForGitHubApps": true, - "previews": [], - "category": "scim", - "subcategory": null - }, - "x-octokit": {} - }, - "post": { - "summary": "Provision and invite a SCIM user", - "description": "Provision organization membership for a user, and send an activation email to the email address.", - "tags": ["scim"], - "operationId": "scim/provision-and-invite-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/scim/#provision-and-invite-a-scim-user" - }, - "parameters": [{ "$ref": "#/components/parameters/org" }], - "responses": { - "201": { - "description": "response", - "content": { - "application/scim+json": { - "schema": { "$ref": "#/components/schemas/scim-user" }, - "examples": { - "default": { "$ref": "#/components/examples/scim-user" } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "400": { "$ref": "#/components/responses/scim_bad_request" }, - "403": { "$ref": "#/components/responses/scim_forbidden" }, - "404": { "$ref": "#/components/responses/scim_not_found" }, - "409": { "$ref": "#/components/responses/scim_conflict" }, - "500": { "$ref": "#/components/responses/scim_internal_error" } - }, - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "userName": { - "description": "Configured by the admin. Could be an email, login, or username", - "example": "someone@example.com", - "type": "string" - }, - "displayName": { - "description": "The name of the user, suitable for display to end-users", - "example": "Jon Doe", - "type": "string" - }, - "name": { - "type": "object", - "properties": { - "givenName": { "type": "string" }, - "familyName": { "type": "string" }, - "formatted": { "type": "string" } - }, - "required": ["givenName", "familyName"], - "example": { "givenName": "Jane", "familyName": "User" } - }, - "emails": { - "description": "user emails", - "example": [ - { "value": "someone@example.com", "primary": true }, - { "value": "another@example.com", "primary": false } - ], - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "properties": { - "value": { "type": "string" }, - "primary": { "type": "boolean" }, - "type": { "type": "string" } - }, - "required": ["value"] - } - }, - "schemas": { "type": "array", "items": { "type": "string" } }, - "externalId": { "type": "string" }, - "groups": { "type": "array", "items": { "type": "string" } }, - "active": { "type": "boolean" } - }, - "required": ["userName", "name", "emails"] - } - } - } - }, - "x-github": { - "githubCloudOnly": true, - "enabledForGitHubApps": true, - "previews": [], - "category": "scim", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/scim/v2/organizations/{org}/Users/{scim_user_id}": { - "get": { - "summary": "Get SCIM provisioning information for a user", - "description": "", - "tags": ["scim"], - "operationId": "scim/get-provisioning-information-for-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/scim/#get-scim-provisioning-information-for-a-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/scim_user_id" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/scim+json": { - "schema": { "$ref": "#/components/schemas/scim-user" }, - "examples": { - "default": { "$ref": "#/components/examples/scim-user" } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "403": { "$ref": "#/components/responses/scim_forbidden" }, - "404": { "$ref": "#/components/responses/scim_not_found" } - }, - "x-github": { - "githubCloudOnly": true, - "enabledForGitHubApps": true, - "previews": [], - "category": "scim", - "subcategory": null - }, - "x-octokit": {} - }, - "put": { - "summary": "Update a provisioned organization membership", - "description": "Replaces an existing provisioned user's information. You must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the [Update an attribute for a SCIM user](https://docs.github.com/rest/reference/scim#update-an-attribute-for-a-scim-user) endpoint instead.\n\nYou must at least provide the required values for the user: `userName`, `name`, and `emails`.\n\n**Warning:** Setting `active: false` removes the user from the organization, deletes the external identity, and deletes the associated `{scim_user_id}`.", - "tags": ["scim"], - "operationId": "scim/set-information-for-provisioned-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/scim/#set-scim-information-for-a-provisioned-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/scim_user_id" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/scim+json": { - "schema": { "$ref": "#/components/schemas/scim-user" }, - "examples": { - "default": { "$ref": "#/components/examples/scim-user" } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "403": { "$ref": "#/components/responses/scim_forbidden" }, - "404": { "$ref": "#/components/responses/scim_not_found" } - }, - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "schemas": { "type": "array", "items": { "type": "string" } }, - "displayName": { - "description": "The name of the user, suitable for display to end-users", - "example": "Jon Doe", - "type": "string" - }, - "externalId": { "type": "string" }, - "groups": { "type": "array", "items": { "type": "string" } }, - "active": { "type": "boolean" }, - "userName": { - "description": "Configured by the admin. Could be an email, login, or username", - "example": "someone@example.com", - "type": "string" - }, - "name": { - "type": "object", - "properties": { - "givenName": { "type": "string" }, - "familyName": { "type": "string" }, - "formatted": { "type": "string" } - }, - "required": ["givenName", "familyName"], - "example": { "givenName": "Jane", "familyName": "User" } - }, - "emails": { - "description": "user emails", - "example": [ - { "value": "someone@example.com", "primary": true }, - { "value": "another@example.com", "primary": false } - ], - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "properties": { - "type": { "type": "string" }, - "value": { "type": "string" }, - "primary": { "type": "boolean" } - }, - "required": ["value"] - } - } - }, - "required": ["userName", "name", "emails"] - } - } - } - }, - "x-github": { - "githubCloudOnly": true, - "enabledForGitHubApps": true, - "previews": [], - "category": "scim", - "subcategory": null - }, - "x-octokit": {} - }, - "patch": { - "summary": "Update an attribute for a SCIM user", - "description": "Allows you to change a provisioned user's individual attributes. To change a user's values, you must provide a specific `Operations` JSON format that contains at least one of the `add`, `remove`, or `replace` operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2).\n\n**Note:** Complicated SCIM `path` selectors that include filters are not supported. For example, a `path` selector defined as `\"path\": \"emails[type eq \\\"work\\\"]\"` will not work.\n\n**Warning:** If you set `active:false` using the `replace` operation (as shown in the JSON example below), it removes the user from the organization, deletes the external identity, and deletes the associated `:scim_user_id`.\n\n```\n{\n \"Operations\":[{\n \"op\":\"replace\",\n \"value\":{\n \"active\":false\n }\n }]\n}\n```", - "tags": ["scim"], - "operationId": "scim/update-attribute-for-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/scim/#update-an-attribute-for-a-scim-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/scim_user_id" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/scim+json": { - "schema": { "$ref": "#/components/schemas/scim-user" }, - "examples": { - "default": { "$ref": "#/components/examples/scim-user" } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "400": { "$ref": "#/components/responses/scim_bad_request" }, - "403": { "$ref": "#/components/responses/scim_forbidden" }, - "404": { "$ref": "#/components/responses/scim_not_found" }, - "429": { - "description": "Too many requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/basic-error" } - } - } - } - }, - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "schemas": { "type": "array", "items": { "type": "string" } }, - "Operations": { - "description": "Set of operations to be performed", - "example": [ - { "op": "replace", "value": { "active": false } } - ], - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "properties": { - "op": { - "type": "string", - "enum": ["add", "remove", "replace"] - }, - "path": { "type": "string" }, - "value": { - "oneOf": [ - { - "type": "object", - "properties": { - "active": { - "type": "boolean", - "nullable": true - }, - "userName": { - "type": "string", - "nullable": true - }, - "externalId": { - "type": "string", - "nullable": true - }, - "givenName": { - "type": "string", - "nullable": true - }, - "familyName": { - "type": "string", - "nullable": true - } - } - }, - { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { "type": "string" }, - "primary": { "type": "boolean" } - } - } - }, - { "type": "string" } - ] - } - }, - "required": ["op"] - } - } - }, - "required": ["Operations"], - "type": "object" - } - } - } - }, - "x-github": { - "githubCloudOnly": true, - "enabledForGitHubApps": true, - "previews": [], - "category": "scim", - "subcategory": null - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a SCIM user from an organization", - "description": "", - "tags": ["scim"], - "operationId": "scim/delete-user-from-org", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/scim/#delete-a-scim-user-from-an-organization" - }, - "parameters": [ - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/scim_user_id" } - ], - "responses": { - "204": { "description": "Empty response" }, - "304": { "$ref": "#/components/responses/not_modified" }, - "403": { "$ref": "#/components/responses/scim_forbidden" }, - "404": { "$ref": "#/components/responses/scim_not_found" } - }, - "x-github": { - "githubCloudOnly": true, - "enabledForGitHubApps": true, - "previews": [], - "category": "scim", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/search/code": { - "get": { - "summary": "Search code", - "description": "Searches for query terms inside of a file. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination).\n\nWhen searching for code, you can get text match metadata for the file **content** and file **path** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata).\n\nFor example, if you want to find the definition of the `addClass` function inside [jQuery](https://github.com/jquery/jquery) repository, your query would look something like this:\n\n`q=addClass+in:file+language:js+repo:jquery/jquery`\n\nThis query searches for the keyword `addClass` within a file's contents. The query limits the search to files where the language is JavaScript in the `jquery/jquery` repository.\n\n#### Considerations for code search\n\nDue to the complexity of searching code, there are a few restrictions on how searches are performed:\n\n* Only the _default branch_ is considered. In most cases, this will be the `master` branch.\n* Only files smaller than 384 KB are searchable.\n* You must always include at least one search term when searching source code. For example, searching for [`language:go`](https://github.com/search?utf8=%E2%9C%93&q=language%3Ago&type=Code) is not valid, while [`amazing\nlanguage:go`](https://github.com/search?utf8=%E2%9C%93&q=amazing+language%3Ago&type=Code) is.", - "tags": ["search"], - "operationId": "search/code", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/search/#search-code" - }, - "parameters": [ - { - "name": "q", - "description": "The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See \"[Searching code](https://help.github.com/articles/searching-code/)\" for a detailed list of qualifiers.", - "in": "query", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "sort", - "description": "Sorts the results of your query. Can only be `indexed`, which indicates how recently a file has been indexed by the GitHub search infrastructure. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results)", - "in": "query", - "required": false, - "schema": { "type": "string", "enum": ["indexed"] } - }, - { "$ref": "#/components/parameters/order" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["total_count", "incomplete_results", "items"], - "properties": { - "total_count": { "type": "integer" }, - "incomplete_results": { "type": "boolean" }, - "items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/code-search-result-item" - } - } - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/code-search-result-item-paginated" - } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "422": { "$ref": "#/components/responses/validation_failed" }, - "503": { "$ref": "#/components/responses/service_unavailable" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "search", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/search/commits": { - "get": { - "summary": "Search commits", - "description": "Find commits via various criteria on the default branch (usually `master`). This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination).\n\nWhen searching for commits, you can get text match metadata for the **message** field when you provide the `text-match` media type. For more details about how to receive highlighted search results, see [Text match\nmetadata](https://docs.github.com/rest/reference/search#text-match-metadata).\n\nFor example, if you want to find commits related to CSS in the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. Your query would look something like this:\n\n`q=repo:octocat/Spoon-Knife+css`", - "tags": ["search"], - "operationId": "search/commits", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/search/#search-commits" - }, - "parameters": [ - { - "name": "q", - "description": "The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See \"[Searching commits](https://help.github.com/articles/searching-commits/)\" for a detailed list of qualifiers.", - "in": "query", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "sort", - "description": "Sorts the results of your query by `author-date` or `committer-date`. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results)", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["author-date", "committer-date"] - } - }, - { "$ref": "#/components/parameters/order" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["total_count", "incomplete_results", "items"], - "properties": { - "total_count": { "type": "integer" }, - "incomplete_results": { "type": "boolean" }, - "items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/commit-search-result-item" - } - } - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/commit-search-result-item-paginated" - } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "415": { "$ref": "#/components/responses/preview_header_missing" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "cloak", - "note": "The Commit Search API is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2017-01-05-commit-search-api/) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.cloak-preview\n```" - } - ], - "category": "search", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/search/issues": { - "get": { - "summary": "Search issues and pull requests", - "description": "Find issues by state and keyword. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination).\n\nWhen searching for issues, you can get text match metadata for the issue **title**, issue **body**, and issue **comment body** fields when you pass the `text-match` media type. For more details about how to receive highlighted\nsearch results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata).\n\nFor example, if you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this.\n\n`q=windows+label:bug+language:python+state:open&sort=created&order=asc`\n\nThis query searches for the keyword `windows`, within any open issue that is labeled as `bug`. The search runs across repositories whose primary language is Python. The results are sorted by creation date in ascending order, which means the oldest issues appear first in the search results.\n\n**Note:** For [user-to-server](https://docs.github.com/developers/apps/identifying-and-authorizing-users-for-github-apps#user-to-server-requests) GitHub App requests, you can't retrieve a combination of issues and pull requests in a single query. Requests that don't include the `is:issue` or `is:pull-request` qualifier will receive an HTTP `422 Unprocessable Entity` response. To get results for both issues and pull requests, you must send separate queries for issues and pull requests. For more information about the `is` qualifier, see \"[Searching only issues or pull requests](https://docs.github.com/github/searching-for-information-on-github/searching-issues-and-pull-requests#search-only-issues-or-pull-requests).\"", - "tags": ["search"], - "operationId": "search/issues-and-pull-requests", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/search/#search-issues-and-pull-requests" - }, - "parameters": [ - { - "name": "q", - "description": "The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See \"[Searching issues and pull requests](https://help.github.com/articles/searching-issues-and-pull-requests/)\" for a detailed list of qualifiers.", - "in": "query", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "sort", - "description": "Sorts the results of your query by the number of `comments`, `reactions`, `reactions-+1`, `reactions--1`, `reactions-smile`, `reactions-thinking_face`, `reactions-heart`, `reactions-tada`, or `interactions`. You can also sort results by how recently the items were `created` or `updated`, Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results)", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": [ - "comments", - "reactions", - "reactions-+1", - "reactions--1", - "reactions-smile", - "reactions-thinking_face", - "reactions-heart", - "reactions-tada", - "interactions", - "created", - "updated" - ] - } - }, - { "$ref": "#/components/parameters/order" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["total_count", "incomplete_results", "items"], - "properties": { - "total_count": { "type": "integer" }, - "incomplete_results": { "type": "boolean" }, - "items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/issue-search-result-item" - } - } - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/issue-search-result-item-paginated" - } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "422": { "$ref": "#/components/responses/validation_failed" }, - "503": { "$ref": "#/components/responses/service_unavailable" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "search", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/search/labels": { - "get": { - "summary": "Search labels", - "description": "Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination).\n\nWhen searching for labels, you can get text match metadata for the label **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata).\n\nFor example, if you want to find labels in the `linguist` repository that match `bug`, `defect`, or `enhancement`. Your query might look like this:\n\n`q=bug+defect+enhancement&repository_id=64778136`\n\nThe labels that best match the query appear first in the search results.", - "tags": ["search"], - "operationId": "search/labels", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/search/#search-labels" - }, - "parameters": [ - { - "name": "repository_id", - "description": "The id of the repository.", - "in": "query", - "required": true, - "schema": { "type": "integer" } - }, - { - "name": "q", - "description": "The search keywords. This endpoint does not accept qualifiers in the query. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query).", - "in": "query", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "sort", - "description": "Sorts the results of your query by when the label was `created` or `updated`. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results)", - "in": "query", - "required": false, - "schema": { "type": "string", "enum": ["created", "updated"] } - }, - { "$ref": "#/components/parameters/order" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["total_count", "incomplete_results", "items"], - "properties": { - "total_count": { "type": "integer" }, - "incomplete_results": { "type": "boolean" }, - "items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/label-search-result-item" - } - } - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/label-search-result-item-paginated" - } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "search", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/search/repositories": { - "get": { - "summary": "Search repositories", - "description": "Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination).\n\nWhen searching for repositories, you can get text match metadata for the **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata).\n\nFor example, if you want to search for popular Tetris repositories written in assembly code, your query might look like this:\n\n`q=tetris+language:assembly&sort=stars&order=desc`\n\nThis query searches for repositories with the word `tetris` in the name, the description, or the README. The results are limited to repositories where the primary language is assembly. The results are sorted by stars in descending order, so that the most popular repositories appear first in the search results.\n\nWhen you include the `mercy` preview header, you can also search for multiple topics by adding more `topic:` instances. For example, your query might look like this:\n\n`q=topic:ruby+topic:rails`", - "tags": ["search"], - "operationId": "search/repos", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/search/#search-repositories" - }, - "parameters": [ - { - "name": "q", - "description": "The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See \"[Searching for repositories](https://help.github.com/articles/searching-for-repositories/)\" for a detailed list of qualifiers.", - "in": "query", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "sort", - "description": "Sorts the results of your query by number of `stars`, `forks`, or `help-wanted-issues` or how recently the items were `updated`. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results)", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["stars", "forks", "help-wanted-issues", "updated"] - } - }, - { "$ref": "#/components/parameters/order" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["total_count", "incomplete_results", "items"], - "properties": { - "total_count": { "type": "integer" }, - "incomplete_results": { "type": "boolean" }, - "items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/repo-search-result-item" - } - } - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/repo-search-result-item-paginated" - } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "422": { "$ref": "#/components/responses/validation_failed" }, - "503": { "$ref": "#/components/responses/service_unavailable" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "mercy", - "note": "The `topics` property for repositories on GitHub is currently available for developers to preview. To view the `topics` property in calls that return repository results, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.mercy-preview+json\n```" - } - ], - "category": "search", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/search/topics": { - "get": { - "summary": "Search topics", - "description": "Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). See \"[Searching topics](https://help.github.com/articles/searching-topics/)\" for a detailed list of qualifiers.\n\nWhen searching for topics, you can get text match metadata for the topic's **short\\_description**, **description**, **name**, or **display\\_name** field when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata).\n\nFor example, if you want to search for topics related to Ruby that are featured on https://github.com/topics. Your query might look like this:\n\n`q=ruby+is:featured`\n\nThis query searches for topics with the keyword `ruby` and limits the results to find only topics that are featured. The topics that are the best match for the query appear first in the search results.", - "tags": ["search"], - "operationId": "search/topics", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/search/#search-topics" - }, - "parameters": [ - { - "name": "q", - "description": "The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query).", - "in": "query", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["total_count", "incomplete_results", "items"], - "properties": { - "total_count": { "type": "integer" }, - "incomplete_results": { "type": "boolean" }, - "items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/topic-search-result-item" - } - } - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/topic-search-result-item-paginated" - } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "415": { "$ref": "#/components/responses/preview_header_missing" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "mercy", - "note": "The `topics` property for repositories on GitHub is currently available for developers to preview. To view the `topics` property in calls that return repository results, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.mercy-preview+json\n```" - } - ], - "category": "search", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/search/users": { - "get": { - "summary": "Search users", - "description": "Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination).\n\nWhen searching for users, you can get text match metadata for the issue **login**, **email**, and **name** fields when you pass the `text-match` media type. For more details about highlighting search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata).\n\nFor example, if you're looking for a list of popular users, you might try this query:\n\n`q=tom+repos:%3E42+followers:%3E1000`\n\nThis query searches for users with the name `tom`. The results are restricted to users with more than 42 repositories and over 1,000 followers.", - "tags": ["search"], - "operationId": "search/users", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/search/#search-users" - }, - "parameters": [ - { - "name": "q", - "description": "The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See \"[Searching users](https://help.github.com/articles/searching-users/)\" for a detailed list of qualifiers.", - "in": "query", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "sort", - "description": "Sorts the results of your query by number of `followers` or `repositories`, or when the person `joined` GitHub. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results)", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["followers", "repositories", "joined"] - } - }, - { "$ref": "#/components/parameters/order" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["total_count", "incomplete_results", "items"], - "properties": { - "total_count": { "type": "integer" }, - "incomplete_results": { "type": "boolean" }, - "items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/user-search-result-item" - } - } - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/user-search-result-item-paginated" - } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "422": { "$ref": "#/components/responses/validation_failed" }, - "503": { "$ref": "#/components/responses/service_unavailable" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "search", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/teams/{team_id}": { - "get": { - "summary": "Get a team (Legacy)", - "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the [Get a team by name](https://docs.github.com/rest/reference/teams#get-a-team-by-name) endpoint.", - "tags": ["teams"], - "operationId": "teams/get-legacy", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/teams/#get-a-team-legacy" - }, - "parameters": [{ "$ref": "#/components/parameters/team-id" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/team-full" }, - "examples": { - "default": { "$ref": "#/components/examples/team-full" } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "removalDate": "2021-02-01", - "deprecationDate": "2020-01-21", - "category": "teams", - "subcategory": null - }, - "deprecated": true, - "x-octokit": {} - }, - "patch": { - "summary": "Update a team (Legacy)", - "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a team](https://docs.github.com/rest/reference/teams#update-a-team) endpoint.\n\nTo edit a team, the authenticated user must either be an organization owner or a team maintainer.\n\n**Note:** With nested teams, the `privacy` for parent teams cannot be `secret`.", - "tags": ["teams"], - "operationId": "teams/update-legacy", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/teams/#update-a-team-legacy" - }, - "parameters": [{ "$ref": "#/components/parameters/team-id" }], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The name of the team." - }, - "description": { - "type": "string", - "description": "The description of the team." - }, - "privacy": { - "type": "string", - "description": "The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. The options are: \n**For a non-nested team:** \n\\* `secret` - only visible to organization owners and members of this team. \n\\* `closed` - visible to all members of this organization. \n**For a parent or child team:** \n\\* `closed` - visible to all members of this organization.", - "enum": ["secret", "closed"] - }, - "permission": { - "type": "string", - "description": "**Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of: \n\\* `pull` - team members can pull, but not push to or administer newly-added repositories. \n\\* `push` - team members can pull and push, but not administer newly-added repositories. \n\\* `admin` - team members can pull, push and administer newly-added repositories.", - "enum": ["pull", "push", "admin"], - "default": "pull" - }, - "parent_team_id": { - "type": "integer", - "description": "The ID of a team to set as the parent team.", - "nullable": true - } - }, - "required": ["name"] - }, - "example": { - "name": "new team name", - "description": "new team description", - "privacy": "closed" - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/team-full" }, - "examples": { - "default": { "$ref": "#/components/examples/team-full" } - } - } - } - }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "removalDate": "2021-02-01", - "deprecationDate": "2020-01-21", - "category": "teams", - "subcategory": null - }, - "deprecated": true, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a team (Legacy)", - "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a team](https://docs.github.com/rest/reference/teams#delete-a-team) endpoint.\n\nTo delete a team, the authenticated user must be an organization owner or team maintainer.\n\nIf you are an organization owner, deleting a parent team will delete all of its child teams as well.", - "tags": ["teams"], - "operationId": "teams/delete-legacy", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/teams/#delete-a-team-legacy" - }, - "parameters": [{ "$ref": "#/components/parameters/team-id" }], - "responses": { - "204": { "description": "Empty response" }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "removalDate": "2021-02-01", - "deprecationDate": "2020-01-21", - "category": "teams", - "subcategory": null - }, - "deprecated": true, - "x-octokit": {} - } - }, - "/teams/{team_id}/discussions": { - "get": { - "summary": "List discussions (Legacy)", - "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://docs.github.com/rest/reference/teams#list-discussions) endpoint.\n\nList all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", - "tags": ["teams"], - "operationId": "teams/list-discussions-legacy", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/teams#list-discussions-legacy" - }, - "parameters": [ - { "$ref": "#/components/parameters/team-id" }, - { "$ref": "#/components/parameters/direction" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/team-discussion" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/team-discussion-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "removalDate": "2021-02-01", - "deprecationDate": "2020-01-21", - "category": "teams", - "subcategory": "discussions" - }, - "deprecated": true, - "x-octokit": {} - }, - "post": { - "summary": "Create a discussion (Legacy)", - "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://docs.github.com/rest/reference/teams#create-a-discussion) endpoint.\n\nCreates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\nThis endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.", - "tags": ["teams"], - "operationId": "teams/create-discussion-legacy", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/teams#create-a-discussion-legacy" - }, - "parameters": [{ "$ref": "#/components/parameters/team-id" }], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "title": { - "type": "string", - "description": "The discussion post's title." - }, - "body": { - "type": "string", - "description": "The discussion post's body text." - }, - "private": { - "type": "boolean", - "description": "Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post.", - "default": false - } - }, - "required": ["title", "body"] - }, - "example": { - "title": "Our first team post", - "body": "Hi! This is an area for us to collaborate as a team." - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/team-discussion" }, - "examples": { - "default": { "$ref": "#/components/examples/team-discussion" } - } - } - } - } - }, - "x-github": { - "triggersNotification": true, - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "removalDate": "2021-02-01", - "deprecationDate": "2020-01-21", - "category": "teams", - "subcategory": "discussions" - }, - "deprecated": true, - "x-octokit": {} - } - }, - "/teams/{team_id}/discussions/{discussion_number}": { - "get": { - "summary": "Get a discussion (Legacy)", - "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion](https://docs.github.com/rest/reference/teams#get-a-discussion) endpoint.\n\nGet a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", - "tags": ["teams"], - "operationId": "teams/get-discussion-legacy", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/teams#get-a-discussion-legacy" - }, - "parameters": [ - { "$ref": "#/components/parameters/team-id" }, - { "$ref": "#/components/parameters/discussion-number" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/team-discussion" }, - "examples": { - "default": { "$ref": "#/components/examples/team-discussion" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "removalDate": "2021-02-01", - "deprecationDate": "2020-01-21", - "category": "teams", - "subcategory": "discussions" - }, - "deprecated": true, - "x-octokit": {} - }, - "patch": { - "summary": "Update a discussion (Legacy)", - "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion](https://docs.github.com/rest/reference/teams#update-a-discussion) endpoint.\n\nEdits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", - "tags": ["teams"], - "operationId": "teams/update-discussion-legacy", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/teams#update-a-discussion-legacy" - }, - "parameters": [ - { "$ref": "#/components/parameters/team-id" }, - { "$ref": "#/components/parameters/discussion-number" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "title": { - "type": "string", - "description": "The discussion post's title." - }, - "body": { - "type": "string", - "description": "The discussion post's body text." - } - } - }, - "example": { "title": "Welcome to our first team post" } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/team-discussion" }, - "examples": { - "default": { - "$ref": "#/components/examples/team-discussion-2" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "removalDate": "2021-02-01", - "deprecationDate": "2020-01-21", - "category": "teams", - "subcategory": "discussions" - }, - "deprecated": true, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a discussion (Legacy)", - "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://docs.github.com/rest/reference/teams#delete-a-discussion) endpoint.\n\nDelete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", - "tags": ["teams"], - "operationId": "teams/delete-discussion-legacy", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/teams#delete-a-discussion-legacy" - }, - "parameters": [ - { "$ref": "#/components/parameters/team-id" }, - { "$ref": "#/components/parameters/discussion-number" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "removalDate": "2021-02-01", - "deprecationDate": "2020-01-21", - "category": "teams", - "subcategory": "discussions" - }, - "deprecated": true, - "x-octokit": {} - } - }, - "/teams/{team_id}/discussions/{discussion_number}/comments": { - "get": { - "summary": "List discussion comments (Legacy)", - "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List discussion comments](https://docs.github.com/rest/reference/teams#list-discussion-comments) endpoint.\n\nList all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", - "tags": ["teams"], - "operationId": "teams/list-discussion-comments-legacy", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/teams#list-discussion-comments-legacy" - }, - "parameters": [ - { "$ref": "#/components/parameters/team-id" }, - { "$ref": "#/components/parameters/discussion-number" }, - { "$ref": "#/components/parameters/direction" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/team-discussion-comment" - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/team-discussion-comment-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "removalDate": "2021-02-01", - "deprecationDate": "2020-01-21", - "category": "teams", - "subcategory": "discussion-comments" - }, - "deprecated": true, - "x-octokit": {} - }, - "post": { - "summary": "Create a discussion comment (Legacy)", - "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Create a discussion comment](https://docs.github.com/rest/reference/teams#create-a-discussion-comment) endpoint.\n\nCreates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\nThis endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.", - "tags": ["teams"], - "operationId": "teams/create-discussion-comment-legacy", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/teams#create-a-discussion-comment-legacy" - }, - "parameters": [ - { "$ref": "#/components/parameters/team-id" }, - { "$ref": "#/components/parameters/discussion-number" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "body": { - "type": "string", - "description": "The discussion comment's body text." - } - }, - "required": ["body"] - }, - "example": { "body": "Do you like apples?" } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/team-discussion-comment" - }, - "examples": { - "default": { - "$ref": "#/components/examples/team-discussion-comment" - } - } - } - } - } - }, - "x-github": { - "triggersNotification": true, - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "removalDate": "2021-02-01", - "deprecationDate": "2020-01-21", - "category": "teams", - "subcategory": "discussion-comments" - }, - "deprecated": true, - "x-octokit": {} - } - }, - "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": { - "get": { - "summary": "Get a discussion comment (Legacy)", - "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion comment](https://docs.github.com/rest/reference/teams#get-a-discussion-comment) endpoint.\n\nGet a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", - "tags": ["teams"], - "operationId": "teams/get-discussion-comment-legacy", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/teams#get-a-discussion-comment-legacy" - }, - "parameters": [ - { "$ref": "#/components/parameters/team-id" }, - { "$ref": "#/components/parameters/discussion-number" }, - { "$ref": "#/components/parameters/comment-number" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/team-discussion-comment" - }, - "examples": { - "default": { - "$ref": "#/components/examples/team-discussion-comment" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "removalDate": "2021-02-01", - "deprecationDate": "2020-01-21", - "category": "teams", - "subcategory": "discussion-comments" - }, - "deprecated": true, - "x-octokit": {} - }, - "patch": { - "summary": "Update a discussion comment (Legacy)", - "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion comment](https://docs.github.com/rest/reference/teams#update-a-discussion-comment) endpoint.\n\nEdits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", - "tags": ["teams"], - "operationId": "teams/update-discussion-comment-legacy", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/teams#update-a-discussion-comment-legacy" - }, - "parameters": [ - { "$ref": "#/components/parameters/team-id" }, - { "$ref": "#/components/parameters/discussion-number" }, - { "$ref": "#/components/parameters/comment-number" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "body": { - "type": "string", - "description": "The discussion comment's body text." - } - }, - "required": ["body"] - }, - "example": { "body": "Do you like pineapples?" } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/team-discussion-comment" - }, - "examples": { - "default": { - "$ref": "#/components/examples/team-discussion-comment-2" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "removalDate": "2021-02-01", - "deprecationDate": "2020-01-21", - "category": "teams", - "subcategory": "discussion-comments" - }, - "deprecated": true, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a discussion comment (Legacy)", - "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a discussion comment](https://docs.github.com/rest/reference/teams#delete-a-discussion-comment) endpoint.\n\nDeletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", - "tags": ["teams"], - "operationId": "teams/delete-discussion-comment-legacy", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/teams#delete-a-discussion-comment-legacy" - }, - "parameters": [ - { "$ref": "#/components/parameters/team-id" }, - { "$ref": "#/components/parameters/discussion-number" }, - { "$ref": "#/components/parameters/comment-number" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "removalDate": "2021-02-01", - "deprecationDate": "2020-01-21", - "category": "teams", - "subcategory": "discussion-comments" - }, - "deprecated": true, - "x-octokit": {} - } - }, - "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": { - "get": { - "summary": "List reactions for a team discussion comment (Legacy)", - "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion-comment) endpoint.\n\nList the reactions to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", - "tags": ["reactions"], - "operationId": "reactions/list-for-team-discussion-comment-legacy", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment-legacy" - }, - "parameters": [ - { "$ref": "#/components/parameters/team-id" }, - { "$ref": "#/components/parameters/discussion-number" }, - { "$ref": "#/components/parameters/comment-number" }, - { - "name": "content", - "description": "Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion comment.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": [ - "+1", - "-1", - "laugh", - "confused", - "heart", - "hooray", - "rocket", - "eyes" - ] - } - }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/reaction" } - }, - "examples": { - "default": { "$ref": "#/components/examples/reaction-items" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "removalDate": "2021-02-21", - "deprecationDate": "2020-02-26", - "category": "reactions", - "subcategory": null - }, - "deprecated": true, - "x-octokit": {} - }, - "post": { - "summary": "Create reaction for a team discussion comment (Legacy)", - "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new \"[Create reaction for a team discussion comment](https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion-comment)\" endpoint.\n\nCreate a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion comment.", - "tags": ["reactions"], - "operationId": "reactions/create-for-team-discussion-comment-legacy", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment-legacy" - }, - "parameters": [ - { "$ref": "#/components/parameters/team-id" }, - { "$ref": "#/components/parameters/discussion-number" }, - { "$ref": "#/components/parameters/comment-number" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "content": { - "type": "string", - "description": "The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion comment.", - "enum": [ - "+1", - "-1", - "laugh", - "confused", - "heart", - "hooray", - "rocket", - "eyes" - ] - } - }, - "required": ["content"] - }, - "example": { "content": "heart" } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/reaction" }, - "examples": { - "default": { "$ref": "#/components/examples/reaction" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "removalDate": "2021-02-21", - "deprecationDate": "2020-02-26", - "category": "reactions", - "subcategory": null - }, - "deprecated": true, - "x-octokit": {} - } - }, - "/teams/{team_id}/discussions/{discussion_number}/reactions": { - "get": { - "summary": "List reactions for a team discussion (Legacy)", - "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion) endpoint.\n\nList the reactions to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", - "tags": ["reactions"], - "operationId": "reactions/list-for-team-discussion-legacy", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/reactions/#list-reactions-for-a-team-discussion-legacy" - }, - "parameters": [ - { "$ref": "#/components/parameters/team-id" }, - { "$ref": "#/components/parameters/discussion-number" }, - { - "name": "content", - "description": "Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": [ - "+1", - "-1", - "laugh", - "confused", - "heart", - "hooray", - "rocket", - "eyes" - ] - } - }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/reaction" } - }, - "examples": { - "default": { "$ref": "#/components/examples/reaction-items" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "removalDate": "2021-02-21", - "deprecationDate": "2020-02-26", - "category": "reactions", - "subcategory": null - }, - "deprecated": true, - "x-octokit": {} - }, - "post": { - "summary": "Create reaction for a team discussion (Legacy)", - "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion) endpoint.\n\nCreate a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion.", - "tags": ["reactions"], - "operationId": "reactions/create-for-team-discussion-legacy", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/reactions/#create-reaction-for-a-team-discussion-legacy" - }, - "parameters": [ - { "$ref": "#/components/parameters/team-id" }, - { "$ref": "#/components/parameters/discussion-number" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "content": { - "type": "string", - "description": "The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion.", - "enum": [ - "+1", - "-1", - "laugh", - "confused", - "heart", - "hooray", - "rocket", - "eyes" - ] - } - }, - "required": ["content"] - }, - "example": { "content": "heart" } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/reaction" }, - "examples": { - "default": { "$ref": "#/components/examples/reaction" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [ - { - "required": true, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "removalDate": "2021-02-21", - "deprecationDate": "2020-02-26", - "category": "reactions", - "subcategory": null - }, - "deprecated": true, - "x-octokit": {} - } - }, - "/teams/{team_id}/invitations": { - "get": { - "summary": "List pending team invitations (Legacy)", - "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://docs.github.com/rest/reference/teams#list-pending-team-invitations) endpoint.\n\nThe return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`.", - "tags": ["teams"], - "operationId": "teams/list-pending-invitations-legacy", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/teams#list-pending-team-invitations-legacy" - }, - "parameters": [ - { "$ref": "#/components/parameters/team-id" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/organization-invitation" - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/organization-invitation-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "removalDate": "2021-02-01", - "deprecationDate": "2020-01-21", - "category": "teams", - "subcategory": "members" - }, - "deprecated": true, - "x-octokit": {} - } - }, - "/teams/{team_id}/members": { - "get": { - "summary": "List team members (Legacy)", - "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://docs.github.com/rest/reference/teams#list-team-members) endpoint.\n\nTeam members will include the members of child teams.", - "tags": ["teams"], - "operationId": "teams/list-members-legacy", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/teams#list-team-members-legacy" - }, - "parameters": [ - { "$ref": "#/components/parameters/team-id" }, - { - "name": "role", - "description": "Filters members returned by their role in the team. Can be one of: \n\\* `member` - normal members of the team. \n\\* `maintainer` - team maintainers. \n\\* `all` - all members of the team.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["member", "maintainer", "all"], - "default": "all" - } - }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/simple-user" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/simple-user-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "removalDate": "2021-02-01", - "deprecationDate": "2020-01-21", - "category": "teams", - "subcategory": "members" - }, - "deprecated": true, - "x-octokit": {} - } - }, - "/teams/{team_id}/members/{username}": { - "get": { - "summary": "Get team member (Legacy)", - "description": "The \"Get team member\" endpoint (described below) is deprecated.\n\nWe recommend using the [Get team membership for a user](https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user) endpoint instead. It allows you to get both active and pending memberships.\n\nTo list members in a team, the team must be visible to the authenticated user.", - "tags": ["teams"], - "operationId": "teams/get-member-legacy", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/teams#get-team-member-legacy" - }, - "parameters": [ - { "$ref": "#/components/parameters/team-id" }, - { "$ref": "#/components/parameters/username" } - ], - "responses": { - "204": { "description": "Response if user is a member" }, - "404": { "description": "Response if user is not a member" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "removalDate": "2021-02-01", - "deprecationDate": "2020-01-21", - "category": "teams", - "subcategory": "members" - }, - "deprecated": true, - "x-octokit": {} - }, - "put": { - "summary": "Add team member (Legacy)", - "description": "The \"Add team member\" endpoint (described below) is deprecated.\n\nWe recommend using the [Add or update team membership for a user](https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user) endpoint instead. It allows you to invite new organization members to your teams.\n\nTeam synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nTo add someone to a team, the authenticated user must be an organization owner or a team maintainer in the team they're changing. The person being added to the team must be a member of the team's organization.\n\n**Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see \"[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/).\"\n\nNote that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"", - "tags": ["teams"], - "operationId": "teams/add-member-legacy", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/teams#add-team-member-legacy" - }, - "parameters": [ - { "$ref": "#/components/parameters/team-id" }, - { "$ref": "#/components/parameters/username" } - ], - "responses": { - "204": { "description": "Empty response" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { - "description": "Response if team synchronization is set up" - }, - "422": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { "type": "string" }, - "errors": { - "type": "array", - "items": { - "type": "object", - "properties": { - "code": { "type": "string" }, - "field": { "type": "string" }, - "resource": { "type": "string" } - } - } - }, - "documentation_url": { - "type": "string", - "example": "\"https://docs.github.com/rest\"" - } - } - }, - "examples": { - "response-if-you-attempt-to-add-an-organization-to-a-team": { - "summary": "Response if you attempt to add an organization to a team", - "value": { - "message": "Cannot add an organization as a member.", - "errors": [ - { - "code": "org", - "field": "user", - "resource": "TeamMember" - } - ] - } - }, - "response-if-you-attempt-to-add-a-user-to-a-team-when-they-are-not-a-member-of-at-least-one-other-team-in-the-same-organization": { - "summary": "Response if you attempt to add a user to a team when they are not a member of at least one other team in the same organization", - "value": { - "message": "User isn't a member of this organization. Please invite them first.", - "errors": [ - { - "code": "unaffiliated", - "field": "user", - "resource": "TeamMember" - } - ] - } - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "removalDate": "2021-02-01", - "deprecationDate": "2020-01-21", - "category": "teams", - "subcategory": "members" - }, - "deprecated": true, - "x-octokit": {} - }, - "delete": { - "summary": "Remove team member (Legacy)", - "description": "The \"Remove team member\" endpoint (described below) is deprecated.\n\nWe recommend using the [Remove team membership for a user](https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user) endpoint instead. It allows you to remove both active and pending memberships.\n\nTeam synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nTo remove a team member, the authenticated user must have 'admin' permissions to the team or be an owner of the org that the team is associated with. Removing a team member does not delete the user, it just removes them from the team.\n\n**Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see \"[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/).\"", - "tags": ["teams"], - "operationId": "teams/remove-member-legacy", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/teams#remove-team-member-legacy" - }, - "parameters": [ - { "$ref": "#/components/parameters/team-id" }, - { "$ref": "#/components/parameters/username" } - ], - "responses": { - "204": { "description": "Empty response" }, - "404": { "description": "Response if team synchronization is setup" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "removalDate": "2021-02-01", - "deprecationDate": "2020-01-21", - "category": "teams", - "subcategory": "members" - }, - "deprecated": true, - "x-octokit": {} - } - }, - "/teams/{team_id}/memberships/{username}": { - "get": { - "summary": "Get team membership for a user (Legacy)", - "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get team membership for a user](https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user) endpoint.\n\nTeam members will include the members of child teams.\n\nTo get a user's membership with a team, the team must be visible to the authenticated user.\n\n**Note:** The `role` for organization owners returns as `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/reference/teams#create-a-team).", - "tags": ["teams"], - "operationId": "teams/get-membership-for-user-legacy", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user-legacy" - }, - "parameters": [ - { "$ref": "#/components/parameters/team-id" }, - { "$ref": "#/components/parameters/username" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/team-membership" }, - "examples": { - "response-if-user-has-an-active-membership-with-team": { - "$ref": "#/components/examples/team-membership-response-if-user-has-an-active-membership-with-team" - }, - "response-if-user-is-a-team-maintainer": { - "$ref": "#/components/examples/team-membership-response-if-user-is-a-team-maintainer" - }, - "response-if-user-has-a-pending-membership-with-team": { - "$ref": "#/components/examples/team-membership-response-if-user-has-a-pending-membership-with-team" - } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "removalDate": "2021-02-01", - "deprecationDate": "2020-01-21", - "category": "teams", - "subcategory": "members" - }, - "deprecated": true, - "x-octokit": {} - }, - "put": { - "summary": "Add or update team membership for a user (Legacy)", - "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team membership for a user](https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user) endpoint.\n\nTeam synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nIf the user is already a member of the team's organization, this endpoint will add the user to the team. To add a membership between an organization member and a team, the authenticated user must be an organization owner or a team maintainer.\n\n**Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see \"[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/).\"\n\nIf the user is unaffiliated with the team's organization, this endpoint will send an invitation to the user via email. This newly-created membership will be in the \"pending\" state until the user accepts the invitation, at which point the membership will transition to the \"active\" state and the user will be added as a member of the team. To add a membership between an unaffiliated user and a team, the authenticated user must be an organization owner.\n\nIf the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer.", - "tags": ["teams"], - "operationId": "teams/add-or-update-membership-for-user-legacy", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user-legacy" - }, - "parameters": [ - { "$ref": "#/components/parameters/team-id" }, - { "$ref": "#/components/parameters/username" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "role": { - "type": "string", - "description": "The role that this user should have in the team. Can be one of: \n\\* `member` - a normal member of the team. \n\\* `maintainer` - a team maintainer. Able to add/remove other team members, promote other team members to team maintainer, and edit the team's name and description.", - "enum": ["member", "maintainer"], - "default": "member" - } - } - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/team-membership" }, - "examples": { - "response-if-users-membership-with-team-is-now-active": { - "$ref": "#/components/examples/team-membership-response-if-users-membership-with-team-is-now-active" - }, - "response-if-users-membership-with-team-is-now-pending": { - "$ref": "#/components/examples/team-membership-response-if-users-membership-with-team-is-now-pending" - } - } - } - } - }, - "403": { - "description": "Response if team synchronization is set up" - }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { - "description": "Response if you attempt to add an organization to a team", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { "type": "string" }, - "errors": { - "type": "array", - "items": { - "type": "object", - "properties": { - "code": { "type": "string" }, - "field": { "type": "string" }, - "resource": { "type": "string" } - } - } - }, - "documentation_url": { - "type": "string", - "example": "\"https://help.github.com/articles/github-and-trade-controls\"" - } - } - }, - "examples": { - "response-if-you-attempt-to-add-an-organization-to-a-team": { - "value": { - "message": "Cannot add an organization as a member.", - "errors": [ - { - "code": "org", - "field": "user", - "resource": "TeamMember" - } - ] - } - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "removalDate": "2021-02-01", - "deprecationDate": "2020-01-21", - "category": "teams", - "subcategory": "members" - }, - "deprecated": true, - "x-octokit": {} - }, - "delete": { - "summary": "Remove team membership for a user (Legacy)", - "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove team membership for a user](https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user) endpoint.\n\nTeam synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nTo remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team.\n\n**Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see \"[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/).\"", - "tags": ["teams"], - "operationId": "teams/remove-membership-for-user-legacy", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user-legacy" - }, - "parameters": [ - { "$ref": "#/components/parameters/team-id" }, - { "$ref": "#/components/parameters/username" } - ], - "responses": { - "204": { "description": "Empty response" }, - "403": { "description": "Response if team synchronization is set up" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "removalDate": "2021-02-01", - "deprecationDate": "2020-01-21", - "category": "teams", - "subcategory": "members" - }, - "deprecated": true, - "x-octokit": {} - } - }, - "/teams/{team_id}/projects": { - "get": { - "summary": "List team projects (Legacy)", - "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team projects`](https://docs.github.com/rest/reference/teams#list-team-projects) endpoint.\n\nLists the organization projects for a team.", - "tags": ["teams"], - "operationId": "teams/list-projects-legacy", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/teams/#list-team-projects-legacy" - }, - "parameters": [ - { "$ref": "#/components/parameters/team-id" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/team-project" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/team-project-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "415": { "$ref": "#/components/responses/preview_header_missing" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "inertia", - "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" - } - ], - "removalDate": "2021-02-01", - "deprecationDate": "2020-01-21", - "category": "teams", - "subcategory": null - }, - "deprecated": true, - "x-octokit": {} - } - }, - "/teams/{team_id}/projects/{project_id}": { - "get": { - "summary": "Check team permissions for a project (Legacy)", - "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a project](https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-project) endpoint.\n\nChecks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team.", - "tags": ["teams"], - "operationId": "teams/check-permissions-for-project-legacy", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/teams/#check-team-permissions-for-a-project-legacy" - }, - "parameters": [ - { "$ref": "#/components/parameters/team-id" }, - { "$ref": "#/components/parameters/project-id" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/team-project" }, - "examples": { - "default": { "$ref": "#/components/examples/team-project" } - } - } - } - }, - "404": { - "description": "Response if project is not managed by this team" - }, - "415": { "$ref": "#/components/responses/preview_header_missing" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "inertia", - "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" - } - ], - "removalDate": "2021-02-01", - "deprecationDate": "2020-01-21", - "category": "teams", - "subcategory": null - }, - "deprecated": true, - "x-octokit": {} - }, - "put": { - "summary": "Add or update team project permissions (Legacy)", - "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team project permissions](https://docs.github.com/rest/reference/teams#add-or-update-team-project-permissions) endpoint.\n\nAdds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization.", - "tags": ["teams"], - "operationId": "teams/add-or-update-project-permissions-legacy", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/teams/#add-or-update-team-project-permissions-legacy" - }, - "parameters": [ - { "$ref": "#/components/parameters/team-id" }, - { "$ref": "#/components/parameters/project-id" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "permission": { - "type": "string", - "description": "The permission to grant to the team for this project. Can be one of: \n\\* `read` - team members can read, but not write to or administer this project. \n\\* `write` - team members can read and write, but not administer this project. \n\\* `admin` - team members can read, write and administer this project. \nDefault: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"", - "enum": ["read", "write", "admin"] - } - } - } - } - } - }, - "responses": { - "204": { "description": "Empty response" }, - "403": { - "description": "Response if the project is not owned by the organization", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { "type": "string" }, - "documentation_url": { "type": "string" } - } - }, - "examples": { - "response-if-the-project-is-not-owned-by-the-organization": { - "value": { - "message": "Must have admin rights to Repository.", - "documentation_url": "https://docs.github.com/rest/reference/teams#add-or-update-team-project-permissions" - } - } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "415": { "$ref": "#/components/responses/preview_header_missing" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "inertia", - "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" - } - ], - "removalDate": "2021-02-01", - "deprecationDate": "2020-01-21", - "category": "teams", - "subcategory": null - }, - "deprecated": true, - "x-octokit": {} - }, - "delete": { - "summary": "Remove a project from a team (Legacy)", - "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a project from a team](https://docs.github.com/rest/reference/teams#remove-a-project-from-a-team) endpoint.\n\nRemoves an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. **Note:** This endpoint removes the project from the team, but does not delete it.", - "tags": ["teams"], - "operationId": "teams/remove-project-legacy", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/teams/#remove-a-project-from-a-team-legacy" - }, - "parameters": [ - { "$ref": "#/components/parameters/team-id" }, - { "$ref": "#/components/parameters/project-id" } - ], - "responses": { - "204": { "description": "Empty response" }, - "404": { "$ref": "#/components/responses/not_found" }, - "415": { "$ref": "#/components/responses/preview_header_missing" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "removalDate": "2021-02-01", - "deprecationDate": "2020-01-21", - "category": "teams", - "subcategory": null - }, - "deprecated": true, - "x-octokit": {} - } - }, - "/teams/{team_id}/repos": { - "get": { - "summary": "List team repositories (Legacy)", - "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List team repositories](https://docs.github.com/rest/reference/teams#list-team-repositories) endpoint.", - "tags": ["teams"], - "operationId": "teams/list-repos-legacy", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/teams/#list-team-repositories-legacy" - }, - "parameters": [ - { "$ref": "#/components/parameters/team-id" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/minimal-repository" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/minimal-repository-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "removalDate": "2021-02-01", - "deprecationDate": "2020-01-21", - "category": "teams", - "subcategory": null - }, - "deprecated": true, - "x-octokit": {} - } - }, - "/teams/{team_id}/repos/{owner}/{repo}": { - "get": { - "summary": "Check team permissions for a repository (Legacy)", - "description": "**Note**: Repositories inherited through a parent team will also be checked.\n\n**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a repository](https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-repository) endpoint.\n\nYou can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header:", - "tags": ["teams"], - "operationId": "teams/check-permissions-for-repo-legacy", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/teams/#check-team-permissions-for-a-repository-legacy" - }, - "parameters": [ - { "$ref": "#/components/parameters/team-id" }, - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { - "200": { - "description": "Alternative response with extra repository information", - "content": { - "application/vnd.github.v3.repository+json": { - "schema": { "$ref": "#/components/schemas/team-repository" }, - "examples": { - "alternative-response-with-extra-repository-information": { - "$ref": "#/components/examples/team-repository-alternative-response-with-extra-repository-information" - } - } - } - } - }, - "204": { - "description": "Response if repository is managed by this team" - }, - "404": { - "description": "Response if repository is not managed by this team" - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "removalDate": "2021-02-01", - "deprecationDate": "2020-01-21", - "category": "teams", - "subcategory": null - }, - "deprecated": true, - "x-octokit": {} - }, - "put": { - "summary": "Add or update team repository permissions (Legacy)", - "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new \"[Add or update team repository permissions](https://docs.github.com/rest/reference/teams#add-or-update-team-repository-permissions)\" endpoint.\n\nTo add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization.\n\nNote that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"", - "tags": ["teams"], - "operationId": "teams/add-or-update-repo-permissions-legacy", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/teams/#add-or-update-team-repository-permissions-legacy" - }, - "parameters": [ - { "$ref": "#/components/parameters/team-id" }, - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "permission": { - "type": "string", - "description": "The permission to grant the team on this repository. Can be one of: \n\\* `pull` - team members can pull, but not push to or administer this repository. \n\\* `push` - team members can pull and push, but not administer this repository. \n\\* `admin` - team members can pull, push and administer this repository. \n \nIf no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository.", - "enum": ["pull", "push", "admin"] - } - } - } - } - } - }, - "responses": { - "204": { "description": "Empty response" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "removalDate": "2021-02-01", - "deprecationDate": "2020-01-21", - "category": "teams", - "subcategory": null - }, - "deprecated": true, - "x-octokit": {} - }, - "delete": { - "summary": "Remove a repository from a team (Legacy)", - "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a repository from a team](https://docs.github.com/rest/reference/teams#remove-a-repository-from-a-team) endpoint.\n\nIf the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. NOTE: This does not delete the repository, it just removes it from the team.", - "tags": ["teams"], - "operationId": "teams/remove-repo-legacy", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/teams/#remove-a-repository-from-a-team-legacy" - }, - "parameters": [ - { "$ref": "#/components/parameters/team-id" }, - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "removalDate": "2021-02-01", - "deprecationDate": "2020-01-21", - "category": "teams", - "subcategory": null - }, - "deprecated": true, - "x-octokit": {} - } - }, - "/teams/{team_id}/team-sync/group-mappings": { - "get": { - "summary": "List IdP groups for a team (Legacy)", - "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List IdP groups for a team`](https://docs.github.com/rest/reference/teams#list-idp-groups-for-a-team) endpoint.\n\nTeam synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nList IdP groups connected to a team on GitHub.", - "tags": ["teams"], - "operationId": "teams/list-idp-groups-for-legacy", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/teams#list-idp-groups-for-a-team-legacy" - }, - "parameters": [{ "$ref": "#/components/parameters/team-id" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/group-mapping" }, - "examples": { - "default": { "$ref": "#/components/examples/group-mapping-3" } - } - } - } - }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": true, - "enabledForGitHubApps": false, - "previews": [], - "removalDate": "2021-02-01", - "deprecationDate": "2020-01-21", - "category": "teams", - "subcategory": "team-sync" - }, - "deprecated": true, - "x-octokit": {} - }, - "patch": { - "summary": "Create or update IdP group connections (Legacy)", - "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create or update IdP group connections`](https://docs.github.com/rest/reference/teams#create-or-update-idp-group-connections) endpoint.\n\nTeam synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nCreates, updates, or removes a connection between a team and an IdP group. When adding groups to a team, you must include all new and existing groups to avoid replacing existing groups with the new ones. Specifying an empty `groups` array will remove all connections for a team.", - "tags": ["teams"], - "operationId": "teams/create-or-update-idp-group-connections-legacy", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/teams#create-or-update-idp-group-connections-legacy" - }, - "parameters": [{ "$ref": "#/components/parameters/team-id" }], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "groups": { - "type": "array", - "description": "The IdP groups you want to connect to a GitHub team. When updating, the new `groups` object will replace the original one. You must include any existing groups that you don't want to remove.", - "items": { - "type": "object", - "properties": { - "group_id": { - "type": "string", - "description": "ID of the IdP group." - }, - "group_name": { - "type": "string", - "description": "Name of the IdP group." - }, - "group_description": { - "type": "string", - "description": "Description of the IdP group." - }, - "id": { - "type": "string", - "example": "\"caceab43fc9ffa20081c\"" - }, - "name": { - "type": "string", - "example": "\"external-team-6c13e7288ef7\"" - }, - "description": { - "type": "string", - "example": "\"moar cheese pleese\"" - } - }, - "required": [ - "group_id", - "group_name", - "group_description" - ] - } - }, - "synced_at": { - "type": "string", - "example": "\"I am not a timestamp\"" - } - }, - "required": ["groups"] - }, - "example": { - "groups": [ - { - "group_id": "123", - "group_name": "Octocat admins", - "description": "The people who configure your octoworld.", - "group_description": "string" - } - ] - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/group-mapping" }, - "examples": { - "default": { "$ref": "#/components/examples/group-mapping-2" } - } - } - } - }, - "403": { "$ref": "#/components/responses/forbidden" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": true, - "enabledForGitHubApps": false, - "previews": [], - "removalDate": "2021-02-01", - "deprecationDate": "2020-01-21", - "category": "teams", - "subcategory": "team-sync" - }, - "deprecated": true, - "x-octokit": {} - } - }, - "/teams/{team_id}/teams": { - "get": { - "summary": "List child teams (Legacy)", - "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://docs.github.com/rest/reference/teams#list-child-teams) endpoint.", - "tags": ["teams"], - "operationId": "teams/list-child-legacy", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/teams/#list-child-teams-legacy" - }, - "parameters": [ - { "$ref": "#/components/parameters/team-id" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "Response if child teams exist", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/team" } - }, - "examples": { - "response-if-child-teams-exist": { - "$ref": "#/components/examples/team-items-response-if-child-teams-exist" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "removalDate": "2021-02-01", - "deprecationDate": "2020-01-21", - "category": "teams", - "subcategory": null - }, - "deprecated": true, - "x-octokit": {} - } - }, - "/user": { - "get": { - "summary": "Get the authenticated user", - "description": "If the authenticated user is authenticated through basic authentication or OAuth with the `user` scope, then the response lists public and private profile information.\n\nIf the authenticated user is authenticated through OAuth without the `user` scope, then the response lists only public profile information.", - "tags": ["users"], - "operationId": "users/get-authenticated", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/users/#get-the-authenticated-user" - }, - "parameters": [], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "oneOf": [ - { "$ref": "#/components/schemas/private-user" }, - { "$ref": "#/components/schemas/public-user" } - ] - }, - "examples": { - "response-with-public-and-private-profile-information": { - "$ref": "#/components/examples/private-user-response-with-public-and-private-profile-information" - }, - "response-with-public-profile-information": { - "$ref": "#/components/examples/private-user-response-with-public-profile-information" - } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "users", - "subcategory": null - }, - "x-octokit": {} - }, - "patch": { - "summary": "Update the authenticated user", - "description": "**Note:** If your email is set to private and you send an `email` parameter as part of this request to update your profile, your privacy settings are still enforced: the email address will not be displayed on your public profile or via the API.", - "tags": ["users"], - "operationId": "users/update-authenticated", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/users/#update-the-authenticated-user" - }, - "parameters": [], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "description": "The new name of the user.", - "type": "string", - "example": "Omar Jahandar" - }, - "email": { - "description": "The publicly visible email address of the user.", - "type": "string", - "example": "omar@example.com" - }, - "blog": { - "description": "The new blog URL of the user.", - "type": "string", - "example": "blog.example.com" - }, - "twitter_username": { - "description": "The new Twitter username of the user.", - "type": "string", - "example": "therealomarj", - "nullable": true - }, - "company": { - "description": "The new company of the user.", - "type": "string", - "example": "Acme corporation" - }, - "location": { - "description": "The new location of the user.", - "type": "string", - "example": "Berlin, Germany" - }, - "hireable": { - "description": "The new hiring availability of the user.", - "type": "boolean" - }, - "bio": { - "description": "The new short biography of the user.", - "type": "string" - } - } - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/private-user" }, - "examples": { - "default": { "$ref": "#/components/examples/private-user" } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "users", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/user/blocks": { - "get": { - "summary": "List users blocked by the authenticated user", - "description": "List the users you've blocked on your personal account.", - "tags": ["users"], - "operationId": "users/list-blocked-by-authenticated", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/users#list-users-blocked-by-the-authenticated-user" - }, - "parameters": [], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/simple-user" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/simple-user-items" - } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "415": { "$ref": "#/components/responses/preview_header_missing" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "users", - "subcategory": "blocking" - }, - "x-octokit": {} - } - }, - "/user/blocks/{username}": { - "get": { - "summary": "Check if a user is blocked by the authenticated user", - "description": "", - "tags": ["users"], - "operationId": "users/check-blocked", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/users#check-if-a-user-is-blocked-by-the-authenticated-user" - }, - "parameters": [{ "$ref": "#/components/parameters/username" }], - "responses": { - "204": { "description": "If the user is blocked:" }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { - "description": "If the user is not blocked:", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/basic-error" } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "users", - "subcategory": "blocking" - }, - "x-octokit": {} - }, - "put": { - "summary": "Block a user", - "description": "", - "tags": ["users"], - "operationId": "users/block", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/users#block-a-user" - }, - "parameters": [{ "$ref": "#/components/parameters/username" }], - "responses": { - "204": { "description": "Empty response" }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "users", - "subcategory": "blocking" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Unblock a user", - "description": "", - "tags": ["users"], - "operationId": "users/unblock", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/users#unblock-a-user" - }, - "parameters": [{ "$ref": "#/components/parameters/username" }], - "responses": { - "204": { "description": "Empty response" }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "users", - "subcategory": "blocking" - }, - "x-octokit": {} - } - }, - "/user/email/visibility": { - "patch": { - "summary": "Set primary email visibility for the authenticated user", - "description": "Sets the visibility for your primary email addresses.", - "tags": ["users"], - "operationId": "users/set-primary-email-visibility-for-authenticated", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/users#set-primary-email-visibility-for-the-authenticated-user" - }, - "parameters": [], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "email": { - "description": "An email address associated with the GitHub user account to manage.", - "type": "string", - "example": "org@example.com" - }, - "visibility": { - "description": "Denotes whether an email is publically visible.", - "type": "string", - "enum": ["public", "private"] - } - }, - "required": ["email", "visibility"], - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/email" } - }, - "examples": { - "default": { "$ref": "#/components/examples/email-items-3" } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "users", - "subcategory": "emails" - }, - "x-octokit": {} - } - }, - "/user/emails": { - "get": { - "summary": "List email addresses for the authenticated user", - "description": "Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the `user:email` scope.", - "tags": ["users"], - "operationId": "users/list-emails-for-authenticated", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/users#list-email-addresses-for-the-authenticated-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/email" } - }, - "examples": { - "default": { "$ref": "#/components/examples/email-items-2" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "users", - "subcategory": "emails" - }, - "x-octokit": {} - }, - "post": { - "summary": "Add an email address for the authenticated user", - "description": "This endpoint is accessible with the `user` scope.", - "tags": ["users"], - "operationId": "users/add-email-for-authenticated", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/users#add-an-email-address-for-the-authenticated-user" - }, - "parameters": [], - "requestBody": { - "content": { - "application/json": { - "schema": { - "oneOf": [ - { - "type": "object", - "properties": { - "emails": { - "description": "Adds one or more email addresses to your GitHub account. Must contain at least one email address. **Note:** Alternatively, you can pass a single email address or an `array` of emails addresses directly, but we recommend that you pass an object using the `emails` key.", - "type": "array", - "items": { - "type": "string", - "example": "username@example.com", - "minItems": 1 - }, - "example": [] - } - }, - "required": ["emails"], - "example": { - "emails": ["octocat@github.com", "mona@github.com"] - } - }, - { - "type": "array", - "items": { - "type": "string", - "example": "username@example.com", - "minItems": 1 - } - }, - { "type": "string" } - ] - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/email" } - }, - "examples": { - "default": { "$ref": "#/components/examples/email-items" } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "users", - "subcategory": "emails" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete an email address for the authenticated user", - "description": "This endpoint is accessible with the `user` scope.", - "tags": ["users"], - "operationId": "users/delete-email-for-authenticated", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/users#delete-an-email-address-for-the-authenticated-user" - }, - "parameters": [], - "requestBody": { - "content": { - "application/json": { - "schema": { - "oneOf": [ - { - "type": "object", - "description": "Deletes one or more email addresses from your GitHub account. Must contain at least one email address. **Note:** Alternatively, you can pass a single email address or an `array` of emails addresses directly, but we recommend that you pass an object using the `emails` key.", - "properties": { - "emails": { - "description": "Email addresses associated with the GitHub user account.", - "type": "array", - "items": { - "type": "string", - "example": "username@example.com", - "minItems": 1 - } - } - }, - "example": { - "emails": ["octocat@github.com", "mona@github.com"] - }, - "required": ["emails"] - }, - { - "type": "array", - "items": { - "type": "string", - "example": "username@example.com", - "minItems": 1 - } - }, - { "type": "string" } - ] - } - } - } - }, - "responses": { - "204": { "description": "Empty response" }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "users", - "subcategory": "emails" - }, - "x-octokit": {} - } - }, - "/user/followers": { - "get": { - "summary": "List followers of the authenticated user", - "description": "Lists the people following the authenticated user.", - "tags": ["users"], - "operationId": "users/list-followers-for-authenticated-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/users#list-followers-of-the-authenticated-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/simple-user" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/simple-user-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "users", - "subcategory": "followers" - }, - "x-octokit": {} - } - }, - "/user/following": { - "get": { - "summary": "List the people the authenticated user follows", - "description": "Lists the people who the authenticated user follows.", - "tags": ["users"], - "operationId": "users/list-followed-by-authenticated", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/users#list-the-people-the-authenticated-user-follows" - }, - "parameters": [ - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/simple-user" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/simple-user-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "users", - "subcategory": "followers" - }, - "x-octokit": {} - } - }, - "/user/following/{username}": { - "get": { - "summary": "Check if a person is followed by the authenticated user", - "description": "", - "tags": ["users"], - "operationId": "users/check-person-is-followed-by-authenticated", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/users#check-if-a-person-is-followed-by-the-authenticated-user" - }, - "parameters": [{ "$ref": "#/components/parameters/username" }], - "responses": { - "204": { - "description": "Response if the person is followed by the authenticated user" - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { - "description": "Response if the person is not followed by the authenticated user", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/basic-error" } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "users", - "subcategory": "followers" - }, - "x-octokit": {} - }, - "put": { - "summary": "Follow a user", - "description": "Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"\n\nFollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope.", - "tags": ["users"], - "operationId": "users/follow", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/users#follow-a-user" - }, - "parameters": [{ "$ref": "#/components/parameters/username" }], - "responses": { - "204": { "description": "Empty response" }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "users", - "subcategory": "followers" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Unfollow a user", - "description": "Unfollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope.", - "tags": ["users"], - "operationId": "users/unfollow", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/users#unfollow-a-user" - }, - "parameters": [{ "$ref": "#/components/parameters/username" }], - "responses": { - "204": { "description": "Empty response" }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "users", - "subcategory": "followers" - }, - "x-octokit": {} - } - }, - "/user/gpg_keys": { - "get": { - "summary": "List GPG keys for the authenticated user", - "description": "Lists the current user's GPG keys. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", - "tags": ["users"], - "operationId": "users/list-gpg-keys-for-authenticated", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/users#list-gpg-keys-for-the-authenticated-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/gpg-key" } - }, - "examples": { - "default": { "$ref": "#/components/examples/gpg-key-items" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "users", - "subcategory": "gpg-keys" - }, - "x-octokit": {} - }, - "post": { - "summary": "Create a GPG key for the authenticated user", - "description": "Adds a GPG key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", - "operationId": "users/create-gpg-key-for-authenticated", - "tags": ["users"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/users#create-a-gpg-key-for-the-authenticated-user" - }, - "parameters": [], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "armored_public_key": { - "description": "A GPG key in ASCII-armored format.", - "type": "string" - } - }, - "type": "object", - "required": ["armored_public_key"] - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/gpg-key" }, - "examples": { - "default": { "$ref": "#/components/examples/gpg-key" } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "users", - "subcategory": "gpg-keys" - }, - "x-octokit": {} - } - }, - "/user/gpg_keys/{gpg_key_id}": { - "get": { - "summary": "Get a GPG key for the authenticated user", - "description": "View extended details for a single GPG key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", - "tags": ["users"], - "operationId": "users/get-gpg-key-for-authenticated", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/users#get-a-gpg-key-for-the-authenticated-user" - }, - "parameters": [{ "$ref": "#/components/parameters/gpg_key_id" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/gpg-key" }, - "examples": { - "default": { "$ref": "#/components/examples/gpg-key" } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "users", - "subcategory": "gpg-keys" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a GPG key for the authenticated user", - "description": "Removes a GPG key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", - "tags": ["users"], - "operationId": "users/delete-gpg-key-for-authenticated", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/users#delete-a-gpg-key-for-the-authenticated-user" - }, - "parameters": [{ "$ref": "#/components/parameters/gpg_key_id" }], - "responses": { - "204": { "description": "Empty response" }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "users", - "subcategory": "gpg-keys" - }, - "x-octokit": {} - } - }, - "/user/installations": { - "get": { - "summary": "List app installations accessible to the user access token", - "description": "Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access.\n\nYou must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint.\n\nThe authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership.\n\nYou can find the permissions for the installation under the `permissions` key.", - "tags": ["apps"], - "operationId": "apps/list-installations-for-authenticated-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/apps#list-app-installations-accessible-to-the-user-access-token" - }, - "parameters": [ - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "You can find the permissions for the installation under the `permissions` key.", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["total_count", "installations"], - "properties": { - "total_count": { "type": "integer" }, - "installations": { - "type": "array", - "items": { "$ref": "#/components/schemas/installation" } - } - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/base-installation-for-auth-user-paginated" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "415": { "$ref": "#/components/responses/preview_header_missing" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "apps", - "subcategory": "installations" - }, - "x-octokit": {} - } - }, - "/user/installations/{installation_id}/repositories": { - "get": { - "summary": "List repositories accessible to the user access token", - "description": "List repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access for an installation.\n\nThe authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership.\n\nYou must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint.\n\nThe access the user has to each repository is included in the hash under the `permissions` key.", - "tags": ["apps"], - "operationId": "apps/list-installation-repos-for-authenticated-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/apps#list-repositories-accessible-to-the-user-access-token" - }, - "parameters": [ - { "$ref": "#/components/parameters/installation_id" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "The access the user has to each repository is included in the hash under the `permissions` key.", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["total_count", "repositories"], - "properties": { - "total_count": { "type": "integer" }, - "repository_selection": { "type": "string" }, - "repositories": { - "type": "array", - "items": { "$ref": "#/components/schemas/repository" } - } - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/repository-paginated" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [ - { - "required": false, - "name": "mercy", - "note": "The `topics` property for repositories on GitHub is currently available for developers to preview. To view the `topics` property in calls that return repository results, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.mercy-preview+json\n```" - } - ], - "category": "apps", - "subcategory": "installations" - }, - "x-octokit": {} - } - }, - "/user/installations/{installation_id}/repositories/{repository_id}": { - "put": { - "summary": "Add a repository to an app installation", - "description": "Add a single repository to an installation. The authenticated user must have admin access to the repository.\n\nYou must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint.", - "tags": ["apps"], - "operationId": "apps/add-repo-to-installation", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/apps#add-a-repository-to-an-app-installation" - }, - "parameters": [ - { "$ref": "#/components/parameters/installation_id" }, - { "$ref": "#/components/parameters/repository_id" } - ], - "responses": { - "204": { "description": "Empty response" }, - "304": { "$ref": "#/components/responses/not_modified" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "apps", - "subcategory": "installations" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Remove a repository from an app installation", - "description": "Remove a single repository from an installation. The authenticated user must have admin access to the repository.\n\nYou must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint.", - "tags": ["apps"], - "operationId": "apps/remove-repo-from-installation", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/apps#remove-a-repository-from-an-app-installation" - }, - "parameters": [ - { "$ref": "#/components/parameters/installation_id" }, - { "$ref": "#/components/parameters/repository_id" } - ], - "responses": { - "204": { "description": "Empty response" }, - "304": { "$ref": "#/components/responses/not_modified" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "apps", - "subcategory": "installations" - }, - "x-octokit": {} - } - }, - "/user/interaction-limits": { - "get": { - "summary": "Get interaction restrictions for your public repositories", - "description": "Shows which type of GitHub user can interact with your public repositories and when the restriction expires. If there are no restrictions, you will see an empty response.", - "tags": ["interactions"], - "operationId": "interactions/get-restrictions-for-authenticated-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/interactions#get-interaction-restrictions-for-your-public-repositories" - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/interaction-limit-response" - }, - "examples": { - "default": { - "$ref": "#/components/examples/interaction-limit-user" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "interactions", - "subcategory": "user" - }, - "x-octokit": { - "changes": [ - { - "type": "OPERATION", - "date": "2021-02-02", - "before": { - "operationId": "interactions/get-restrictions-for-your-public-repos" - } - } - ] - } - }, - "put": { - "summary": "Set interaction restrictions for your public repositories", - "description": "Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user.", - "tags": ["interactions"], - "operationId": "interactions/set-restrictions-for-authenticated-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/interactions#set-interaction-restrictions-for-your-public-repositories" - }, - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/interaction-limit" } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/interaction-limit-response" - }, - "examples": { - "default": { - "$ref": "#/components/examples/interaction-limit-user" - } - } - } - } - }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "interactions", - "subcategory": "user" - }, - "x-octokit": { - "changes": [ - { - "type": "OPERATION", - "date": "2021-02-02", - "before": { - "operationId": "interactions/set-restrictions-for-your-public-repos" - } - } - ] - } - }, - "delete": { - "summary": "Remove interaction restrictions from your public repositories", - "description": "Removes any interaction restrictions from your public repositories.", - "tags": ["interactions"], - "operationId": "interactions/remove-restrictions-for-authenticated-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/interactions#remove-interaction-restrictions-from-your-public-repositories" - }, - "responses": { "204": { "description": "Empty response" } }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "interactions", - "subcategory": "user" - }, - "x-octokit": { - "changes": [ - { - "type": "OPERATION", - "date": "2021-02-02", - "before": { - "operationId": "interactions/remove-restrictions-for-your-public-repos" - } - } - ] - } - } - }, - "/user/issues": { - "get": { - "summary": "List user account issues assigned to the authenticated user", - "description": "List issues across owned and member repositories assigned to the authenticated user.\n\n**Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this\nreason, \"Issues\" endpoints may return both issues and pull requests in the response. You can identify pull requests by\nthe `pull_request` key. Be aware that the `id` of a pull request returned from \"Issues\" endpoints will be an _issue id_. To find out the pull\nrequest id, use the \"[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)\" endpoint.", - "tags": ["issues"], - "operationId": "issues/list-for-authenticated-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/issues/#list-user-account-issues-assigned-to-the-authenticated-user" - }, - "parameters": [ - { - "name": "filter", - "description": "Indicates which sorts of issues to return. Can be one of: \n\\* `assigned`: Issues assigned to you \n\\* `created`: Issues created by you \n\\* `mentioned`: Issues mentioning you \n\\* `subscribed`: Issues you're subscribed to updates for \n\\* `all`: All issues the authenticated user can see, regardless of participation or creation", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["assigned", "created", "mentioned", "subscribed", "all"], - "default": "assigned" - } - }, - { - "name": "state", - "description": "Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["open", "closed", "all"], - "default": "open" - } - }, - { "$ref": "#/components/parameters/labels" }, - { - "name": "sort", - "description": "What to sort results by. Can be either `created`, `updated`, `comments`.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["created", "updated", "comments"], - "default": "created" - } - }, - { "$ref": "#/components/parameters/direction" }, - { "$ref": "#/components/parameters/since" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/issue" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/issue-with-repo-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [ - { - "required": false, - "name": "squirrel-girl", - "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." - } - ], - "category": "issues", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/user/keys": { - "get": { - "summary": "List public SSH keys for the authenticated user", - "description": "Lists the public SSH keys for the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", - "tags": ["users"], - "operationId": "users/list-public-ssh-keys-for-authenticated", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/users#list-public-ssh-keys-for-the-authenticated-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/key" } - }, - "examples": { - "default": { "$ref": "#/components/examples/key-items" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "users", - "subcategory": "keys" - }, - "x-octokit": {} - }, - "post": { - "summary": "Create a public SSH key for the authenticated user", - "description": "Adds a public SSH key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", - "operationId": "users/create-public-ssh-key-for-authenticated", - "tags": ["users"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/users#create-a-public-ssh-key-for-the-authenticated-user" - }, - "parameters": [], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "title": { - "description": "A descriptive name for the new key.", - "type": "string", - "example": "Personal MacBook Air" - }, - "key": { - "description": "The public SSH key to add to your GitHub account.", - "type": "string", - "pattern": "^ssh-(rsa|dss|ed25519) |^ecdsa-sha2-nistp(256|384|521) " - } - }, - "required": ["key"], - "type": "object" - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/key" }, - "examples": { - "default": { "$ref": "#/components/examples/key" } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "users", - "subcategory": "keys" - }, - "x-octokit": {} - } - }, - "/user/keys/{key_id}": { - "get": { - "summary": "Get a public SSH key for the authenticated user", - "description": "View extended details for a single public SSH key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", - "tags": ["users"], - "operationId": "users/get-public-ssh-key-for-authenticated", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/users#get-a-public-ssh-key-for-the-authenticated-user" - }, - "parameters": [{ "$ref": "#/components/parameters/key_id" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/key" }, - "examples": { - "default": { "$ref": "#/components/examples/key" } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "users", - "subcategory": "keys" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a public SSH key for the authenticated user", - "description": "Removes a public SSH key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", - "tags": ["users"], - "operationId": "users/delete-public-ssh-key-for-authenticated", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/users#delete-a-public-ssh-key-for-the-authenticated-user" - }, - "parameters": [{ "$ref": "#/components/parameters/key_id" }], - "responses": { - "204": { "description": "Empty response" }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "users", - "subcategory": "keys" - }, - "x-octokit": {} - } - }, - "/user/marketplace_purchases": { - "get": { - "summary": "List subscriptions for the authenticated user", - "description": "Lists the active subscriptions for the authenticated user. You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. . OAuth Apps must authenticate using an [OAuth token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/).", - "tags": ["apps"], - "operationId": "apps/list-subscriptions-for-authenticated-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/apps#list-subscriptions-for-the-authenticated-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/user-marketplace-purchase" - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/user-marketplace-purchase-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "apps", - "subcategory": "marketplace" - }, - "x-octokit": {} - } - }, - "/user/marketplace_purchases/stubbed": { - "get": { - "summary": "List subscriptions for the authenticated user (stubbed)", - "description": "Lists the active subscriptions for the authenticated user. You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. . OAuth Apps must authenticate using an [OAuth token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/).", - "tags": ["apps"], - "operationId": "apps/list-subscriptions-for-authenticated-user-stubbed", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/apps#list-subscriptions-for-the-authenticated-user-stubbed" - }, - "parameters": [ - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/user-marketplace-purchase" - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/user-marketplace-purchase-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "apps", - "subcategory": "marketplace" - }, - "x-octokit": {} - } - }, - "/user/memberships/orgs": { - "get": { - "summary": "List organization memberships for the authenticated user", - "description": "", - "tags": ["orgs"], - "operationId": "orgs/list-memberships-for-authenticated-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/orgs#list-organization-memberships-for-the-authenticated-user" - }, - "parameters": [ - { - "name": "state", - "description": "Indicates the state of the memberships to return. Can be either `active` or `pending`. If not specified, the API returns both active and pending memberships.", - "in": "query", - "required": false, - "schema": { "type": "string", "enum": ["active", "pending"] } - }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/org-membership" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/org-membership-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "orgs", - "subcategory": "members" - }, - "x-octokit": {} - } - }, - "/user/memberships/orgs/{org}": { - "get": { - "summary": "Get an organization membership for the authenticated user", - "description": "", - "tags": ["orgs"], - "operationId": "orgs/get-membership-for-authenticated-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/orgs#get-an-organization-membership-for-the-authenticated-user" - }, - "parameters": [{ "$ref": "#/components/parameters/org" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/org-membership" }, - "examples": { - "default": { "$ref": "#/components/examples/org-membership" } - } - } - } - }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "orgs", - "subcategory": "members" - }, - "x-octokit": {} - }, - "patch": { - "summary": "Update an organization membership for the authenticated user", - "description": "", - "tags": ["orgs"], - "operationId": "orgs/update-membership-for-authenticated-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/orgs#update-an-organization-membership-for-the-authenticated-user" - }, - "parameters": [{ "$ref": "#/components/parameters/org" }], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "state": { - "type": "string", - "description": "The state that the membership should be in. Only `\"active\"` will be accepted.", - "enum": ["active"] - } - }, - "required": ["state"] - }, - "example": { "state": "active" } - } - } - }, - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/org-membership" }, - "examples": { - "default": { - "$ref": "#/components/examples/org-membership-2" - } - } - } - } - }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "orgs", - "subcategory": "members" - }, - "x-octokit": {} - } - }, - "/user/migrations": { - "get": { - "summary": "List user migrations", - "description": "Lists all migrations a user has started.", - "tags": ["migrations"], - "operationId": "migrations/list-for-authenticated-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/migrations#list-user-migrations" - }, - "parameters": [ - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/migration" } - }, - "examples": { - "default": { "$ref": "#/components/examples/migration-items" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [ - { - "required": true, - "name": "wyandotte", - "note": "To access the Migrations API, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.wyandotte-preview+json\n```" - } - ], - "category": "migrations", - "subcategory": "users" - }, - "x-octokit": {} - }, - "post": { - "summary": "Start a user migration", - "description": "Initiates the generation of a user migration archive.", - "tags": ["migrations"], - "operationId": "migrations/start-for-authenticated-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/migrations#start-a-user-migration" - }, - "parameters": [], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "lock_repositories": { - "description": "Lock the repositories being migrated at the start of the migration", - "example": true, - "readOnly": false, - "type": "boolean" - }, - "exclude_attachments": { - "description": "Do not include attachments in the migration", - "example": true, - "readOnly": false, - "type": "boolean" - }, - "exclude": { - "description": "Exclude attributes from the API response to improve performance", - "example": ["repositories"], - "readOnly": false, - "type": "array", - "items": { - "description": "Allowed values that can be passed to the exclude param.", - "enum": ["repositories"], - "example": "repositories", - "type": "string" - } - }, - "repositories": { - "type": "array", - "items": { - "description": "Repository path, owner and name", - "example": "acme/widgets", - "type": "string" - } - } - }, - "required": ["repositories"], - "type": "object" - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/migration" }, - "examples": { - "default": { "$ref": "#/components/examples/migration-2" } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "migrations", - "subcategory": "users" - }, - "x-octokit": {} - } - }, - "/user/migrations/{migration_id}": { - "get": { - "summary": "Get a user migration status", - "description": "Fetches a single user migration. The response includes the `state` of the migration, which can be one of the following values:\n\n* `pending` - the migration hasn't started yet.\n* `exporting` - the migration is in progress.\n* `exported` - the migration finished successfully.\n* `failed` - the migration failed.\n\nOnce the migration has been `exported` you can [download the migration archive](https://docs.github.com/rest/reference/migrations#download-a-user-migration-archive).", - "tags": ["migrations"], - "operationId": "migrations/get-status-for-authenticated-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/migrations#get-a-user-migration-status" - }, - "parameters": [ - { "$ref": "#/components/parameters/migration_id" }, - { - "name": "exclude", - "in": "query", - "required": false, - "schema": { "type": "array", "items": { "type": "string" } } - } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/migration" }, - "examples": { - "default": { "$ref": "#/components/examples/migration" } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [ - { - "required": true, - "name": "wyandotte", - "note": "To access the Migrations API, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.wyandotte-preview+json\n```" - } - ], - "category": "migrations", - "subcategory": "users" - }, - "x-octokit": {} - } - }, - "/user/migrations/{migration_id}/archive": { - "get": { - "summary": "Download a user migration archive", - "description": "Fetches the URL to download the migration archive as a `tar.gz` file. Depending on the resources your repository uses, the migration archive can contain JSON files with data for these objects:\n\n* attachments\n* bases\n* commit\\_comments\n* issue\\_comments\n* issue\\_events\n* issues\n* milestones\n* organizations\n* projects\n* protected\\_branches\n* pull\\_request\\_reviews\n* pull\\_requests\n* releases\n* repositories\n* review\\_comments\n* schema\n* users\n\nThe archive will also contain an `attachments` directory that includes all attachment files uploaded to GitHub.com and a `repositories` directory that contains the repository's Git data.", - "tags": ["migrations"], - "operationId": "migrations/get-archive-for-authenticated-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/migrations#download-a-user-migration-archive" - }, - "parameters": [{ "$ref": "#/components/parameters/migration_id" }], - "responses": { - "302": { "description": "response" }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [ - { - "required": true, - "name": "wyandotte", - "note": "To access the Migrations API, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.wyandotte-preview+json\n```" - } - ], - "category": "migrations", - "subcategory": "users" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Delete a user migration archive", - "description": "Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [List user migrations](https://docs.github.com/rest/reference/migrations#list-user-migrations) and [Get a user migration status](https://docs.github.com/rest/reference/migrations#get-a-user-migration-status) endpoints, will continue to be available even after an archive is deleted.", - "tags": ["migrations"], - "operationId": "migrations/delete-archive-for-authenticated-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/migrations#delete-a-user-migration-archive" - }, - "parameters": [{ "$ref": "#/components/parameters/migration_id" }], - "responses": { - "204": { "description": "Empty response" }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [ - { - "required": true, - "name": "wyandotte", - "note": "To access the Migrations API, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.wyandotte-preview+json\n```" - } - ], - "category": "migrations", - "subcategory": "users" - }, - "x-octokit": {} - } - }, - "/user/migrations/{migration_id}/repos/{repo_name}/lock": { - "delete": { - "summary": "Unlock a user repository", - "description": "Unlocks a repository. You can lock repositories when you [start a user migration](https://docs.github.com/rest/reference/migrations#start-a-user-migration). Once the migration is complete you can unlock each repository to begin using it again or [delete the repository](https://docs.github.com/rest/reference/repos#delete-a-repository) if you no longer need the source data. Returns a status of `404 Not Found` if the repository is not locked.", - "tags": ["migrations"], - "operationId": "migrations/unlock-repo-for-authenticated-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/migrations#unlock-a-user-repository" - }, - "parameters": [ - { "$ref": "#/components/parameters/migration_id" }, - { "$ref": "#/components/parameters/repo_name" } - ], - "responses": { - "204": { "description": "Empty response" }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [ - { - "required": true, - "name": "wyandotte", - "note": "To access the Migrations API, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.wyandotte-preview+json\n```" - } - ], - "category": "migrations", - "subcategory": "users" - }, - "x-octokit": {} - } - }, - "/user/migrations/{migration_id}/repositories": { - "get": { - "summary": "List repositories for a user migration", - "description": "Lists all the repositories for this user migration.", - "tags": ["migrations"], - "operationId": "migrations/list-repos-for-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/migrations#list-repositories-for-a-user-migration" - }, - "parameters": [ - { "$ref": "#/components/parameters/migration_id" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/minimal-repository" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/minimal-repository-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [ - { - "required": true, - "name": "wyandotte", - "note": "To access the Migrations API, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.wyandotte-preview+json\n```" - } - ], - "category": "migrations", - "subcategory": "users" - }, - "x-octokit": {} - } - }, - "/user/orgs": { - "get": { - "summary": "List organizations for the authenticated user", - "description": "List organizations for the authenticated user.\n\n**OAuth scope requirements**\n\nThis only lists organizations that your authorization allows you to operate on in some way (e.g., you can list teams with `read:org` scope, you can publicize your organization membership with `user` scope, etc.). Therefore, this API requires at least `user` or `read:org` scope. OAuth requests with insufficient scope receive a `403 Forbidden` response.", - "tags": ["orgs"], - "operationId": "orgs/list-for-authenticated-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/orgs/#list-organizations-for-the-authenticated-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/organization-simple" - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/organization-simple-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "orgs", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/user/projects": { - "post": { - "summary": "Create a user project", - "description": "", - "tags": ["projects"], - "operationId": "projects/create-for-authenticated-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/projects/#create-a-user-project" - }, - "parameters": [], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "name": { - "description": "Name of the project", - "example": "Week One Sprint", - "type": "string" - }, - "body": { - "description": "Body of the project", - "example": "This project represents the sprint of the first week in January", - "type": "string", - "nullable": true - } - }, - "required": ["name"], - "type": "object" - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/project" }, - "examples": { - "default": { "$ref": "#/components/examples/project" } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "415": { "$ref": "#/components/responses/preview_header_missing" }, - "422": { "$ref": "#/components/responses/validation_failed_simple" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": true, - "name": "inertia", - "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" - } - ], - "category": "projects", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/user/public_emails": { - "get": { - "summary": "List public email addresses for the authenticated user", - "description": "Lists your publicly visible email address, which you can set with the [Set primary email visibility for the authenticated user](https://docs.github.com/rest/reference/users#set-primary-email-visibility-for-the-authenticated-user) endpoint. This endpoint is accessible with the `user:email` scope.", - "tags": ["users"], - "operationId": "users/list-public-emails-for-authenticated", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/users#list-public-email-addresses-for-the-authenticated-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/email" } - }, - "examples": { - "default": { "$ref": "#/components/examples/email-items-2" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "users", - "subcategory": "emails" - }, - "x-octokit": {} - } - }, - "/user/repos": { - "get": { - "summary": "List repositories for the authenticated user", - "description": "Lists repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access.\n\nThe authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership.", - "tags": ["repos"], - "operationId": "repos/list-for-authenticated-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/repos/#list-repositories-for-the-authenticated-user" - }, - "parameters": [ - { - "name": "visibility", - "description": "Can be one of `all`, `public`, or `private`.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["all", "public", "private"], - "default": "all" - } - }, - { - "name": "affiliation", - "description": "Comma-separated list of values. Can include: \n\\* `owner`: Repositories that are owned by the authenticated user. \n\\* `collaborator`: Repositories that the user has been added to as a collaborator. \n\\* `organization_member`: Repositories that the user has access to through being a member of an organization. This includes every repository on every team that the user is on.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "default": "owner,collaborator,organization_member" - } - }, - { - "name": "type", - "description": "Can be one of `all`, `owner`, `public`, `private`, `member`. Default: `all` \n \nWill cause a `422` error if used in the same request as **visibility** or **affiliation**. Will cause a `422` error if used in the same request as **visibility** or **affiliation**.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["all", "owner", "public", "private", "member"], - "default": "all" - } - }, - { - "name": "sort", - "description": "Can be one of `created`, `updated`, `pushed`, `full_name`.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["created", "updated", "pushed", "full_name"], - "default": "full_name" - } - }, - { - "name": "direction", - "description": "Can be one of `asc` or `desc`. Default: `asc` when using `full_name`, otherwise `desc`", - "in": "query", - "required": false, - "schema": { "type": "string", "enum": ["asc", "desc"] } - }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" }, - { "$ref": "#/components/parameters/since" }, - { "$ref": "#/components/parameters/before" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/repository" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/repository-items-default-response" - } - } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "repos", - "subcategory": null - }, - "x-octokit": {} - }, - "post": { - "summary": "Create a repository for the authenticated user", - "description": "Creates a new repository for the authenticated user.\n\n**OAuth scope requirements**\n\nWhen using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include:\n\n* `public_repo` scope or `repo` scope to create a public repository\n* `repo` scope to create a private repository", - "tags": ["repos"], - "operationId": "repos/create-for-authenticated-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/repos/#create-a-repository-for-the-authenticated-user" - }, - "parameters": [], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "name": { - "description": "The name of the repository.", - "type": "string", - "example": "Team Environment" - }, - "description": { - "description": "A short description of the repository.", - "type": "string" - }, - "homepage": { - "description": "A URL with more information about the repository.", - "type": "string" - }, - "private": { - "description": "Whether the repository is private or public.", - "default": false, - "type": "boolean" - }, - "has_issues": { - "description": "Whether issues are enabled.", - "default": true, - "type": "boolean", - "example": true - }, - "has_projects": { - "description": "Whether projects are enabled.", - "default": true, - "type": "boolean", - "example": true - }, - "has_wiki": { - "description": "Whether the wiki is enabled.", - "default": true, - "type": "boolean", - "example": true - }, - "team_id": { - "description": "The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization.", - "type": "integer" - }, - "auto_init": { - "description": "Whether the repository is initialized with a minimal README.", - "default": false, - "type": "boolean" - }, - "gitignore_template": { - "description": "The desired language or platform to apply to the .gitignore.", - "example": "Haskell", - "type": "string" - }, - "license_template": { - "description": "The license keyword of the open source license for this repository.", - "example": "mit", - "type": "string" - }, - "allow_squash_merge": { - "description": "Whether to allow squash merges for pull requests.", - "default": true, - "type": "boolean", - "example": true - }, - "allow_merge_commit": { - "description": "Whether to allow merge commits for pull requests.", - "default": true, - "type": "boolean", - "example": true - }, - "allow_rebase_merge": { - "description": "Whether to allow rebase merges for pull requests.", - "default": true, - "type": "boolean", - "example": true - }, - "delete_branch_on_merge": { - "description": "Whether to delete head branches when pull requests are merged", - "default": false, - "type": "boolean", - "example": false - }, - "has_downloads": { - "description": "Whether downloads are enabled.", - "default": true, - "type": "boolean", - "example": true - }, - "is_template": { - "description": "Whether this repository acts as a template that can be used to generate new repositories.", - "default": false, - "type": "boolean", - "example": true - } - }, - "required": ["name"], - "type": "object" - } - } - } - }, - "responses": { - "201": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/repository" }, - "examples": { - "default": { "$ref": "#/components/examples/repository" } - } - } - }, - "headers": { - "Location": { - "example": "https://api.github.com/repos/octocat/Hello-World", - "schema": { "type": "string" } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "400": { "$ref": "#/components/responses/bad_request" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [ - { - "required": false, - "name": "nebula", - "note": "You can set the visibility of a repository using the new `visibility` parameter in the [Repositories API](https://docs.github.com/rest/reference/repos/), and get a repository's visibility with a new response key. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes/).\n\nTo access repository visibility during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.nebula-preview+json\n```" - }, - { - "required": false, - "name": "baptiste", - "note": "The `is_template` and `template_repository` keys are currently available for developer to preview. See [Create a repository using a template](https://docs.github.com/rest/reference/repos#create-a-repository-using-a-template) to learn how to create template repositories. To access these new response keys during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n\n```shell\napplication/vnd.github.baptiste-preview+json\n```" - } - ], - "category": "repos", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/user/repository_invitations": { - "get": { - "summary": "List repository invitations for the authenticated user", - "description": "When authenticating as a user, this endpoint will list all currently open repository invitations for that user.", - "tags": ["repos"], - "operationId": "repos/list-invitations-for-authenticated-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#list-repository-invitations-for-the-authenticated-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/repository-invitation" - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/repository-invitation-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "repos", - "subcategory": "invitations" - }, - "x-octokit": {} - } - }, - "/user/repository_invitations/{invitation_id}": { - "patch": { - "summary": "Accept a repository invitation", - "description": "", - "tags": ["repos"], - "operationId": "repos/accept-invitation", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#accept-a-repository-invitation" - }, - "parameters": [{ "$ref": "#/components/parameters/invitation_id" }], - "responses": { - "204": { "description": "Empty response" }, - "304": { "$ref": "#/components/responses/not_modified" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "409": { "$ref": "#/components/responses/conflict" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "repos", - "subcategory": "invitations" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Decline a repository invitation", - "description": "", - "tags": ["repos"], - "operationId": "repos/decline-invitation", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/repos#decline-a-repository-invitation" - }, - "parameters": [{ "$ref": "#/components/parameters/invitation_id" }], - "responses": { - "204": { "description": "Empty response" }, - "304": { "$ref": "#/components/responses/not_modified" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" }, - "409": { "$ref": "#/components/responses/conflict" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "repos", - "subcategory": "invitations" - }, - "x-octokit": {} - } - }, - "/user/starred": { - "get": { - "summary": "List repositories starred by the authenticated user", - "description": "Lists repositories the authenticated user has starred.\n\nYou can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header:", - "tags": ["activity"], - "operationId": "activity/list-repos-starred-by-authenticated-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/activity#list-repositories-starred-by-the-authenticated-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/sort" }, - { "$ref": "#/components/parameters/direction" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/repository" } - }, - "examples": { - "default-response": { - "$ref": "#/components/examples/repository-items-default-response" - } - } - }, - "application/vnd.github.v3.star+json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/starred-repository" } - }, - "examples": { - "alternative-response-with-star-creation-timestamps": { - "$ref": "#/components/examples/starred-repository-items-alternative-response-with-star-creation-timestamps" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "activity", - "subcategory": "starring" - }, - "x-octokit": {} - } - }, - "/user/starred/{owner}/{repo}": { - "get": { - "summary": "Check if a repository is starred by the authenticated user", - "description": "", - "tags": ["activity"], - "operationId": "activity/check-repo-is-starred-by-authenticated-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/activity#check-if-a-repository-is-starred-by-the-authenticated-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { - "204": { - "description": "Response if this repository is starred by you" - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { - "description": "Response if this repository is not starred by you", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/basic-error" } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "activity", - "subcategory": "starring" - }, - "x-octokit": {} - }, - "put": { - "summary": "Star a repository for the authenticated user", - "description": "Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"", - "tags": ["activity"], - "operationId": "activity/star-repo-for-authenticated-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/activity#star-a-repository-for-the-authenticated-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { - "204": { "description": "Empty response" }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "activity", - "subcategory": "starring" - }, - "x-octokit": {} - }, - "delete": { - "summary": "Unstar a repository for the authenticated user", - "description": "", - "tags": ["activity"], - "operationId": "activity/unstar-repo-for-authenticated-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/activity#unstar-a-repository-for-the-authenticated-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/owner" }, - { "$ref": "#/components/parameters/repo" } - ], - "responses": { - "204": { "description": "Empty response" }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "activity", - "subcategory": "starring" - }, - "x-octokit": {} - } - }, - "/user/subscriptions": { - "get": { - "summary": "List repositories watched by the authenticated user", - "description": "Lists repositories the authenticated user is watching.", - "tags": ["activity"], - "operationId": "activity/list-watched-repos-for-authenticated-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/activity#list-repositories-watched-by-the-authenticated-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/minimal-repository" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/minimal-repository-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "401": { "$ref": "#/components/responses/requires_authentication" }, - "403": { "$ref": "#/components/responses/forbidden" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "activity", - "subcategory": "watching" - }, - "x-octokit": {} - } - }, - "/user/teams": { - "get": { - "summary": "List teams for the authenticated user", - "description": "List all of the teams across all of the organizations to which the authenticated user belongs. This method requires `user`, `repo`, or `read:org` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) when authenticating via [OAuth](https://docs.github.com/apps/building-oauth-apps/).", - "tags": ["teams"], - "operationId": "teams/list-for-authenticated-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/teams/#list-teams-for-the-authenticated-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/team-full" } - }, - "examples": { - "default": { "$ref": "#/components/examples/team-full-items" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "304": { "$ref": "#/components/responses/not_modified" }, - "403": { "$ref": "#/components/responses/forbidden" }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "teams", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/users": { - "get": { - "summary": "List users", - "description": "Lists all users, in the order that they signed up on GitHub. This list includes personal user accounts and organization accounts.\n\nNote: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of users.", - "tags": ["users"], - "operationId": "users/list", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/users/#list-users" - }, - "parameters": [ - { "$ref": "#/components/parameters/since-user" }, - { "$ref": "#/components/parameters/per_page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/simple-user" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/simple-user-items" - } - } - } - }, - "headers": { - "Link": { - "example": "; rel=\"next\"", - "schema": { "type": "string" } - } - } - }, - "304": { "$ref": "#/components/responses/not_modified" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "users", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/users/{username}": { - "get": { - "summary": "Get a user", - "description": "Provides publicly available information about someone with a GitHub account.\n\nGitHub Apps with the `Plan` user permission can use this endpoint to retrieve information about a user's GitHub plan. The GitHub App must be authenticated as a user. See \"[Identifying and authorizing users for GitHub Apps](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)\" for details about authentication. For an example response, see 'Response with GitHub plan information' below\"\n\nThe `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be “public” which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/overview/resources-in-the-rest-api#authentication).\n\nThe Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see \"[Emails API](https://docs.github.com/rest/reference/users#emails)\".", - "tags": ["users"], - "operationId": "users/get-by-username", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/users/#get-a-user" - }, - "parameters": [{ "$ref": "#/components/parameters/username" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "oneOf": [ - { "$ref": "#/components/schemas/private-user" }, - { "$ref": "#/components/schemas/public-user" } - ] - }, - "examples": { - "default-response": { - "$ref": "#/components/examples/public-user-default-response" - }, - "response-with-git-hub-plan-information": { - "$ref": "#/components/examples/public-user-response-with-git-hub-plan-information" - } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "users", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/users/{username}/events": { - "get": { - "summary": "List events for the authenticated user", - "description": "If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events.", - "tags": ["activity"], - "operationId": "activity/list-events-for-authenticated-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/activity#list-events-for-the-authenticated-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/username" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/event" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "activity", - "subcategory": "events" - }, - "x-octokit": {} - } - }, - "/users/{username}/events/orgs/{org}": { - "get": { - "summary": "List organization events for the authenticated user", - "description": "This is the user's organization dashboard. You must be authenticated as the user to view this.", - "tags": ["activity"], - "operationId": "activity/list-org-events-for-authenticated-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/activity#list-organization-events-for-the-authenticated-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/username" }, - { "$ref": "#/components/parameters/org" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/event" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "activity", - "subcategory": "events" - }, - "x-octokit": {} - } - }, - "/users/{username}/events/public": { - "get": { - "summary": "List public events for a user", - "description": "", - "tags": ["activity"], - "operationId": "activity/list-public-events-for-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/activity#list-public-events-for-a-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/username" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/event" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "activity", - "subcategory": "events" - }, - "x-octokit": {} - } - }, - "/users/{username}/followers": { - "get": { - "summary": "List followers of a user", - "description": "Lists the people following the specified user.", - "tags": ["users"], - "operationId": "users/list-followers-for-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/users#list-followers-of-a-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/username" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/simple-user" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/simple-user-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "users", - "subcategory": "followers" - }, - "x-octokit": {} - } - }, - "/users/{username}/following": { - "get": { - "summary": "List the people a user follows", - "description": "Lists the people who the specified user follows.", - "tags": ["users"], - "operationId": "users/list-following-for-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/users#list-the-people-a-user-follows" - }, - "parameters": [ - { "$ref": "#/components/parameters/username" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/simple-user" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/simple-user-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "users", - "subcategory": "followers" - }, - "x-octokit": {} - } - }, - "/users/{username}/following/{target_user}": { - "get": { - "summary": "Check if a user follows another user", - "description": "", - "tags": ["users"], - "operationId": "users/check-following-for-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/users#check-if-a-user-follows-another-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/username" }, - { - "name": "target_user", - "in": "path", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "204": { - "description": "Response if the user follows the target user" - }, - "404": { - "description": "Response if the user does not follow the target user" - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "users", - "subcategory": "followers" - }, - "x-octokit": {} - } - }, - "/users/{username}/gists": { - "get": { - "summary": "List gists for a user", - "description": "Lists public gists for the specified user:", - "tags": ["gists"], - "operationId": "gists/list-for-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/gists/#list-gists-for-a-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/username" }, - { "$ref": "#/components/parameters/since" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/base-gist" } - }, - "examples": { - "default": { "$ref": "#/components/examples/base-gist-items" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "gists", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/users/{username}/gpg_keys": { - "get": { - "summary": "List GPG keys for a user", - "description": "Lists the GPG keys for a user. This information is accessible by anyone.", - "tags": ["users"], - "operationId": "users/list-gpg-keys-for-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/users#list-gpg-keys-for-a-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/username" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/gpg-key" } - }, - "examples": { - "default": { "$ref": "#/components/examples/gpg-key-items" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "users", - "subcategory": "gpg-keys" - }, - "x-octokit": {} - } - }, - "/users/{username}/hovercard": { - "get": { - "summary": "Get contextual information for a user", - "description": "Provides hovercard information when authenticated through basic auth or OAuth with the `repo` scope. You can find out more about someone in relation to their pull requests, issues, repositories, and organizations.\n\nThe `subject_type` and `subject_id` parameters provide context for the person's hovercard, which returns more information than without the parameters. For example, if you wanted to find out more about `octocat` who owns the `Spoon-Knife` repository via cURL, it would look like this:\n\n```shell\n curl -u username:token\n https://api.github.com/users/octocat/hovercard?subject_type=repository&subject_id=1300192\n```", - "tags": ["users"], - "operationId": "users/get-context-for-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/users/#get-contextual-information-for-a-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/username" }, - { - "name": "subject_type", - "description": "Identifies which additional information you'd like to receive about the person's hovercard. Can be `organization`, `repository`, `issue`, `pull_request`. **Required** when using `subject_id`.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["organization", "repository", "issue", "pull_request"] - } - }, - { - "name": "subject_id", - "description": "Uses the ID for the `subject_type` you specified. **Required** when using `subject_type`.", - "in": "query", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/hovercard" }, - "examples": { - "default": { "$ref": "#/components/examples/hovercard" } - } - } - } - }, - "404": { "$ref": "#/components/responses/not_found" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "users", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/users/{username}/installation": { - "get": { - "summary": "Get a user installation for the authenticated app", - "description": "Enables an authenticated GitHub App to find the user’s installation information.\n\nYou must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.", - "tags": ["apps"], - "operationId": "apps/get-user-installation", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/apps/#get-a-user-installation-for-the-authenticated-app" - }, - "parameters": [{ "$ref": "#/components/parameters/username" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/installation" }, - "examples": { - "default": { "$ref": "#/components/examples/installation" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "apps", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/users/{username}/keys": { - "get": { - "summary": "List public keys for a user", - "description": "Lists the _verified_ public SSH keys for a user. This is accessible by anyone.", - "tags": ["users"], - "operationId": "users/list-public-keys-for-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/users#list-public-keys-for-a-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/username" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/key-simple" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/key-simple-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "users", - "subcategory": "keys" - }, - "x-octokit": {} - } - }, - "/users/{username}/orgs": { - "get": { - "summary": "List organizations for a user", - "description": "List [public organization memberships](https://help.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user.\n\nThis method only lists _public_ memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the [List organizations for the authenticated user](https://docs.github.com/rest/reference/orgs#list-organizations-for-the-authenticated-user) API instead.", - "tags": ["orgs"], - "operationId": "orgs/list-for-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/orgs/#list-organizations-for-a-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/username" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/organization-simple" - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/organization-simple-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "orgs", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/users/{username}/projects": { - "get": { - "summary": "List user projects", - "description": "", - "tags": ["projects"], - "operationId": "projects/list-for-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/projects/#list-user-projects" - }, - "parameters": [ - { "$ref": "#/components/parameters/username" }, - { - "name": "state", - "description": "Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["open", "closed", "all"], - "default": "open" - } - }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/project" } - }, - "examples": { - "default": { "$ref": "#/components/examples/project-items-3" } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - }, - "415": { "$ref": "#/components/responses/preview_header_missing" }, - "422": { "$ref": "#/components/responses/validation_failed" } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [ - { - "required": true, - "name": "inertia", - "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" - } - ], - "category": "projects", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/users/{username}/received_events": { - "get": { - "summary": "List events received by the authenticated user", - "description": "These are events that you've received by watching repos and following users. If you are authenticated as the given user, you will see private events. Otherwise, you'll only see public events.", - "tags": ["activity"], - "operationId": "activity/list-received-events-for-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/activity#list-events-received-by-the-authenticated-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/username" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/event" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "activity", - "subcategory": "events" - }, - "x-octokit": {} - } - }, - "/users/{username}/received_events/public": { - "get": { - "summary": "List public events received by a user", - "description": "", - "tags": ["activity"], - "operationId": "activity/list-received-public-events-for-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/activity#list-public-events-received-by-a-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/username" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/event" } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "activity", - "subcategory": "events" - }, - "x-octokit": {} - } - }, - "/users/{username}/repos": { - "get": { - "summary": "List repositories for a user", - "description": "Lists public repositories for the specified user.", - "tags": ["repos"], - "operationId": "repos/list-for-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/repos/#list-repositories-for-a-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/username" }, - { - "name": "type", - "description": "Can be one of `all`, `owner`, `member`.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["all", "owner", "member"], - "default": "owner" - } - }, - { - "name": "sort", - "description": "Can be one of `created`, `updated`, `pushed`, `full_name`.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["created", "updated", "pushed", "full_name"], - "default": "full_name" - } - }, - { - "name": "direction", - "description": "Can be one of `asc` or `desc`. Default: `asc` when using `full_name`, otherwise `desc`", - "in": "query", - "required": false, - "schema": { "type": "string", "enum": ["asc", "desc"] } - }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/minimal-repository" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/minimal-repository-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [ - { - "required": false, - "name": "nebula", - "note": "You can set the visibility of a repository using the new `visibility` parameter in the [Repositories API](https://docs.github.com/rest/reference/repos/), and get a repository's visibility with a new response key. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes/).\n\nTo access repository visibility during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.nebula-preview+json\n```" - } - ], - "category": "repos", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/users/{username}/settings/billing/actions": { - "get": { - "summary": "Get GitHub Actions billing for a user", - "description": "Gets the summary of the free and paid GitHub Actions minutes used.\n\nPaid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see \"[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)\".\n\nAccess tokens must have the `user` scope.", - "operationId": "billing/get-github-actions-billing-user", - "tags": ["billing"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/billing/#get-github-actions-billing-for-a-user" - }, - "parameters": [{ "$ref": "#/components/parameters/username" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/actions-billing-usage" - }, - "examples": { - "default": { - "$ref": "#/components/examples/actions-billing-usage" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "billing", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/users/{username}/settings/billing/packages": { - "get": { - "summary": "Get GitHub Packages billing for a user", - "description": "Gets the free and paid storage used for GitHub Packages in gigabytes.\n\nPaid minutes only apply to packages stored for private repositories. For more information, see \"[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages).\"\n\nAccess tokens must have the `user` scope.", - "operationId": "billing/get-github-packages-billing-user", - "tags": ["billing"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/billing/#get-github-packages-billing-for-a-user" - }, - "parameters": [{ "$ref": "#/components/parameters/username" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/packages-billing-usage" - }, - "examples": { - "default": { - "$ref": "#/components/examples/packages-billing-usage" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "billing", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/users/{username}/settings/billing/shared-storage": { - "get": { - "summary": "Get shared storage billing for a user", - "description": "Gets the estimated paid and estimated total storage used for GitHub Actions and Github Packages.\n\nPaid minutes only apply to packages stored for private repositories. For more information, see \"[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages).\"\n\nAccess tokens must have the `user` scope.", - "operationId": "billing/get-shared-storage-billing-user", - "tags": ["billing"], - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/v3/billing/#get-shared-storage-billing-for-a-user" - }, - "parameters": [{ "$ref": "#/components/parameters/username" }], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/combined-billing-usage" - }, - "examples": { - "default": { - "$ref": "#/components/examples/combined-billing-usage" - } - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": false, - "previews": [], - "category": "billing", - "subcategory": null - }, - "x-octokit": {} - } - }, - "/users/{username}/starred": { - "get": { - "summary": "List repositories starred by a user", - "description": "Lists repositories a user has starred.\n\nYou can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header:", - "tags": ["activity"], - "operationId": "activity/list-repos-starred-by-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/activity#list-repositories-starred-by-a-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/username" }, - { "$ref": "#/components/parameters/sort" }, - { "$ref": "#/components/parameters/direction" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/repository" } - }, - "examples": { - "default-response": { - "$ref": "#/components/examples/repository-items-default-response" - } - } - }, - "application/vnd.github.v3.star+json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/starred-repository" } - }, - "examples": { - "alternative-response-with-star-creation-timestamps": { - "$ref": "#/components/examples/starred-repository-items-alternative-response-with-star-creation-timestamps" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "activity", - "subcategory": "starring" - }, - "x-octokit": {} - } - }, - "/users/{username}/subscriptions": { - "get": { - "summary": "List repositories watched by a user", - "description": "Lists repositories a user is watching.", - "tags": ["activity"], - "operationId": "activity/list-repos-watched-by-user", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/reference/activity#list-repositories-watched-by-a-user" - }, - "parameters": [ - { "$ref": "#/components/parameters/username" }, - { "$ref": "#/components/parameters/per_page" }, - { "$ref": "#/components/parameters/page" } - ], - "responses": { - "200": { - "description": "response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/minimal-repository" } - }, - "examples": { - "default": { - "$ref": "#/components/examples/minimal-repository-items" - } - } - } - }, - "headers": { "Link": { "$ref": "#/components/headers/link" } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "activity", - "subcategory": "watching" - }, - "x-octokit": {} - } - }, - "/zen": { - "get": { - "summary": "Get the Zen of GitHub", - "description": "Get a random sentence from the Zen of GitHub", - "tags": ["meta"], - "operationId": "meta/get-zen", - "responses": { - "200": { - "description": "response", - "content": { "text/plain": { "schema": { "type": "string" } } } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "previews": [], - "category": "meta" - }, - "x-octokit": {} - } - } - }, - "components": { - "schemas": { - "simple-user": { - "title": "Simple User", - "description": "Simple User", - "type": "object", - "properties": { - "login": { "type": "string", "example": "octocat" }, - "id": { "type": "integer", "example": 1 }, - "node_id": { "type": "string", "example": "MDQ6VXNlcjE=" }, - "avatar_url": { - "type": "string", - "format": "uri", - "example": "https://github.com/images/error/octocat_happy.gif" - }, - "gravatar_id": { - "type": "string", - "example": "41d064eb2195891e12d0413f63227ea7", - "nullable": true - }, - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/users/octocat" - }, - "html_url": { - "type": "string", - "format": "uri", - "example": "https://github.com/octocat" - }, - "followers_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/users/octocat/followers" - }, - "following_url": { - "type": "string", - "example": "https://api.github.com/users/octocat/following{/other_user}" - }, - "gists_url": { - "type": "string", - "example": "https://api.github.com/users/octocat/gists{/gist_id}" - }, - "starred_url": { - "type": "string", - "example": "https://api.github.com/users/octocat/starred{/owner}{/repo}" - }, - "subscriptions_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/users/octocat/subscriptions" - }, - "organizations_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/users/octocat/orgs" - }, - "repos_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/users/octocat/repos" - }, - "events_url": { - "type": "string", - "example": "https://api.github.com/users/octocat/events{/privacy}" - }, - "received_events_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/users/octocat/received_events" - }, - "type": { "type": "string", "example": "User" }, - "site_admin": { "type": "boolean" }, - "starred_at": { - "type": "string", - "example": "\"2020-07-09T00:17:55Z\"" - } - }, - "required": [ - "avatar_url", - "events_url", - "followers_url", - "following_url", - "gists_url", - "gravatar_id", - "html_url", - "id", - "node_id", - "login", - "organizations_url", - "received_events_url", - "repos_url", - "site_admin", - "starred_url", - "subscriptions_url", - "type", - "url" - ], - "nullable": true - }, - "integration": { - "title": "GitHub app", - "description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.", - "type": "object", - "properties": { - "id": { - "description": "Unique identifier of the GitHub app", - "example": 37, - "type": "integer" - }, - "slug": { - "description": "The slug name of the GitHub app", - "example": "probot-owners", - "type": "string" - }, - "node_id": { - "type": "string", - "example": "MDExOkludGVncmF0aW9uMQ==" - }, - "owner": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "name": { - "description": "The name of the GitHub app", - "example": "Probot Owners", - "type": "string" - }, - "description": { - "type": "string", - "example": "The description of the app.", - "nullable": true - }, - "external_url": { - "type": "string", - "format": "uri", - "example": "https://example.com" - }, - "html_url": { - "type": "string", - "format": "uri", - "example": "https://github.com/apps/super-ci" - }, - "created_at": { - "type": "string", - "format": "date-time", - "example": "2017-07-08T16:18:44-04:00" - }, - "updated_at": { - "type": "string", - "format": "date-time", - "example": "2017-07-08T16:18:44-04:00" - }, - "permissions": { - "description": "The set of permissions for the GitHub app", - "type": "object", - "properties": { - "issues": { "type": "string" }, - "checks": { "type": "string" }, - "metadata": { "type": "string" }, - "contents": { "type": "string" }, - "deployments": { "type": "string" } - }, - "additionalProperties": { "type": "string" }, - "example": { "issues": "read", "deployments": "write" } - }, - "events": { - "description": "The list of events for the GitHub app", - "example": ["label", "deployment"], - "type": "array", - "items": { "type": "string" } - }, - "installations_count": { - "description": "The number of installations associated with the GitHub app", - "example": 5, - "type": "integer" - }, - "client_id": { - "type": "string", - "example": "\"Iv1.25b5d1e65ffc4022\"" - }, - "client_secret": { - "type": "string", - "example": "\"1d4b2097ac622ba702d19de498f005747a8b21d3\"" - }, - "webhook_secret": { - "type": "string", - "example": "\"6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b\"" - }, - "pem": { - "type": "string", - "example": "\"-----BEGIN RSA PRIVATE KEY-----\\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\\n-----END RSA PRIVATE KEY-----\\n\"" - } - }, - "required": [ - "id", - "node_id", - "owner", - "name", - "description", - "external_url", - "html_url", - "created_at", - "updated_at", - "permissions", - "events" - ], - "additionalProperties": true - }, - "basic-error": { - "title": "Basic Error", - "description": "Basic Error", - "type": "object", - "properties": { - "message": { "type": "string" }, - "documentation_url": { "type": "string" } - } - }, - "validation-error-simple": { - "title": "Validation Error Simple", - "description": "Validation Error Simple", - "type": "object", - "required": ["message", "documentation_url"], - "properties": { - "message": { "type": "string" }, - "documentation_url": { "type": "string" }, - "errors": { "type": "array", "items": { "type": "string" } } - } - }, - "webhook-config-url": { - "type": "string", - "description": "The URL to which the payloads will be delivered.", - "example": "https://example.com/webhook", - "format": "uri" - }, - "webhook-config-content-type": { - "type": "string", - "description": "The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`.", - "example": "\"json\"" - }, - "webhook-config-secret": { - "type": "string", - "description": "If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/webhooks/event-payloads/#delivery-headers).", - "example": "\"********\"" - }, - "webhook-config-insecure-ssl": { - "type": "string", - "description": "Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.**", - "example": "\"0\"" - }, - "webhook-config": { - "title": "Webhook Configuration", - "description": "Configuration object of the webhook", - "type": "object", - "properties": { - "url": { "$ref": "#/components/schemas/webhook-config-url" }, - "content_type": { - "$ref": "#/components/schemas/webhook-config-content-type" - }, - "secret": { "$ref": "#/components/schemas/webhook-config-secret" }, - "insecure_ssl": { - "$ref": "#/components/schemas/webhook-config-insecure-ssl" - } - } - }, - "enterprise": { - "title": "Enterprise", - "description": "An enterprise account", - "type": "object", - "properties": { - "description": { - "description": "A short description of the enterprise.", - "type": "string", - "nullable": true - }, - "html_url": { - "type": "string", - "format": "uri", - "example": "https://github.com/enterprises/octo-business" - }, - "website_url": { - "description": "The enterprise's website URL.", - "type": "string", - "nullable": true, - "format": "uri" - }, - "id": { - "description": "Unique identifier of the enterprise", - "example": 42, - "type": "integer" - }, - "node_id": { - "type": "string", - "example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5" - }, - "name": { - "description": "The name of the enterprise.", - "type": "string", - "example": "Octo Business" - }, - "slug": { - "description": "The slug url identifier for the enterprise.", - "type": "string", - "example": "octo-business" - }, - "created_at": { - "type": "string", - "nullable": true, - "format": "date-time", - "example": "2019-01-26T19:01:12Z" - }, - "updated_at": { - "type": "string", - "nullable": true, - "format": "date-time", - "example": "2019-01-26T19:14:43Z" - }, - "avatar_url": { "type": "string", "format": "uri" } - }, - "required": [ - "id", - "node_id", - "name", - "slug", - "html_url", - "created_at", - "updated_at", - "avatar_url" - ] - }, - "installation": { - "title": "Installation", - "description": "Installation", - "type": "object", - "properties": { - "id": { - "description": "The ID of the installation.", - "type": "integer", - "example": 1 - }, - "account": { - "nullable": true, - "anyOf": [ - { "$ref": "#/components/schemas/simple-user" }, - { "$ref": "#/components/schemas/enterprise" } - ] - }, - "repository_selection": { - "description": "Describe whether all repositories have been selected or there's a selection involved", - "type": "string", - "enum": ["all", "selected"] - }, - "access_tokens_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/installations/1/access_tokens" - }, - "repositories_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/installation/repositories" - }, - "html_url": { - "type": "string", - "format": "uri", - "example": "https://github.com/organizations/github/settings/installations/1" - }, - "app_id": { "type": "integer", "example": 1 }, - "target_id": { - "description": "The ID of the user or organization this token is being scoped to.", - "type": "integer" - }, - "target_type": { "type": "string", "example": "Organization" }, - "permissions": { - "type": "object", - "example": { "issues": "read", "deployments": "write" }, - "properties": { - "deployments": { "type": "string" }, - "checks": { "type": "string" }, - "metadata": { "type": "string" }, - "contents": { "type": "string" }, - "pull_requests": { "type": "string" }, - "statuses": { "type": "string" }, - "issues": { "type": "string", "example": "\"read\"" }, - "organization_administration": { - "type": "string", - "example": "\"read\"" - } - } - }, - "events": { "type": "array", "items": { "type": "string" } }, - "created_at": { "type": "string", "format": "date-time" }, - "updated_at": { "type": "string", "format": "date-time" }, - "single_file_name": { - "type": "string", - "example": "config.yaml", - "nullable": true - }, - "has_multiple_single_files": { "type": "boolean", "example": true }, - "single_file_paths": { - "type": "array", - "items": { "type": "string" }, - "example": ["config.yml", ".github/issue_TEMPLATE.md"] - }, - "app_slug": { "type": "string", "example": "github-actions" }, - "suspended_by": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "suspended_at": { - "type": "string", - "format": "date-time", - "nullable": true - }, - "contact_email": { - "type": "string", - "example": "\"test_13f1e99741e3e004@d7e1eb0bc0a1ba12.com\"", - "nullable": true - } - }, - "required": [ - "id", - "app_id", - "app_slug", - "target_id", - "target_type", - "single_file_name", - "repository_selection", - "access_tokens_url", - "html_url", - "repositories_url", - "events", - "account", - "permissions", - "created_at", - "updated_at" - ] - }, - "app-permissions": { - "title": "App Permissions", - "type": "object", - "description": "The permissions granted to the user-to-server access token.", - "properties": { - "actions": { - "type": "string", - "description": "The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. Can be one of: `read` or `write`.", - "enum": ["read", "write"] - }, - "administration": { - "type": "string", - "description": "The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. Can be one of: `read` or `write`.", - "enum": ["read", "write"] - }, - "checks": { - "type": "string", - "description": "The level of permission to grant the access token for checks on code. Can be one of: `read` or `write`.", - "enum": ["read", "write"] - }, - "content_references": { - "type": "string", - "description": "The level of permission to grant the access token for notification of content references and creation content attachments. Can be one of: `read` or `write`.", - "enum": ["read", "write"] - }, - "contents": { - "type": "string", - "description": "The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. Can be one of: `read` or `write`.", - "enum": ["read", "write"] - }, - "deployments": { - "type": "string", - "description": "The level of permission to grant the access token for deployments and deployment statuses. Can be one of: `read` or `write`.", - "enum": ["read", "write"] - }, - "environments": { - "type": "string", - "description": "The level of permission to grant the access token for managing repository environments. Can be one of: `read` or `write`.", - "enum": ["read", "write"] - }, - "issues": { - "type": "string", - "description": "The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. Can be one of: `read` or `write`.", - "enum": ["read", "write"] - }, - "metadata": { - "type": "string", - "description": "The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. Can be one of: `read` or `write`.", - "enum": ["read", "write"] - }, - "packages": { - "type": "string", - "description": "The level of permission to grant the access token for packages published to GitHub Packages. Can be one of: `read` or `write`.", - "enum": ["read", "write"] - }, - "pages": { - "type": "string", - "description": "The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. Can be one of: `read` or `write`.", - "enum": ["read", "write"] - }, - "pull_requests": { - "type": "string", - "description": "The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. Can be one of: `read` or `write`.", - "enum": ["read", "write"] - }, - "repository_hooks": { - "type": "string", - "description": "The level of permission to grant the access token to manage the post-receive hooks for a repository. Can be one of: `read` or `write`.", - "enum": ["read", "write"] - }, - "repository_projects": { - "type": "string", - "description": "The level of permission to grant the access token to manage repository projects, columns, and cards. Can be one of: `read`, `write`, or `admin`.", - "enum": ["read", "write", "admin"] - }, - "secret_scanning_alerts": { - "type": "string", - "description": "The level of permission to grant the access token to view and manage secret scanning alerts. Can be one of: `read` or `write`.", - "enum": ["read", "write"] - }, - "secrets": { - "type": "string", - "description": "The level of permission to grant the access token to manage repository secrets. Can be one of: `read` or `write`.", - "enum": ["read", "write"] - }, - "security_events": { - "type": "string", - "description": "The level of permission to grant the access token to view and manage security events like code scanning alerts. Can be one of: `read` or `write`.", - "enum": ["read", "write"] - }, - "single_file": { - "type": "string", - "description": "The level of permission to grant the access token to manage just a single file. Can be one of: `read` or `write`.", - "enum": ["read", "write"] - }, - "statuses": { - "type": "string", - "description": "The level of permission to grant the access token for commit statuses. Can be one of: `read` or `write`.", - "enum": ["read", "write"] - }, - "vulnerability_alerts": { - "type": "string", - "description": "The level of permission to grant the access token to retrieve Dependabot alerts. Can be one of: `read`.", - "enum": ["read"] - }, - "workflows": { - "type": "string", - "description": "The level of permission to grant the access token to update GitHub Actions workflow files. Can be one of: `write`.", - "enum": ["write"] - }, - "members": { - "type": "string", - "description": "The level of permission to grant the access token for organization teams and members. Can be one of: `read` or `write`.", - "enum": ["read", "write"] - }, - "organization_administration": { - "type": "string", - "description": "The level of permission to grant the access token to manage access to an organization. Can be one of: `read` or `write`.", - "enum": ["read", "write"] - }, - "organization_hooks": { - "type": "string", - "description": "The level of permission to grant the access token to manage the post-receive hooks for an organization. Can be one of: `read` or `write`.", - "enum": ["read", "write"] - }, - "organization_plan": { - "type": "string", - "description": "The level of permission to grant the access token for viewing an organization's plan. Can be one of: `read`.", - "enum": ["read"] - }, - "organization_projects": { - "type": "string", - "description": "The level of permission to grant the access token to manage organization projects, columns, and cards. Can be one of: `read`, `write`, or `admin`.", - "enum": ["read", "write", "admin"] - }, - "organization_secrets": { - "type": "string", - "description": "The level of permission to grant the access token to manage organization secrets. Can be one of: `read` or `write`.", - "enum": ["read", "write"] - }, - "organization_self_hosted_runners": { - "type": "string", - "description": "The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. Can be one of: `read` or `write`.", - "enum": ["read", "write"] - }, - "organization_user_blocking": { - "type": "string", - "description": "The level of permission to grant the access token to view and manage users blocked by the organization. Can be one of: `read` or `write`.", - "enum": ["read", "write"] - }, - "team_discussions": { - "type": "string", - "description": "The level of permission to grant the access token to manage team discussions and related comments. Can be one of: `read` or `write`.", - "enum": ["read", "write"] - } - }, - "example": { - "contents": "read", - "issues": "read", - "deployments": "write", - "single_file": "read" - } - }, - "license-simple": { - "title": "License Simple", - "description": "License Simple", - "type": "object", - "properties": { - "key": { "type": "string", "example": "mit" }, - "name": { "type": "string", "example": "MIT License" }, - "url": { - "type": "string", - "nullable": true, - "format": "uri", - "example": "https://api.github.com/licenses/mit" - }, - "spdx_id": { "type": "string", "nullable": true, "example": "MIT" }, - "node_id": { "type": "string", "example": "MDc6TGljZW5zZW1pdA==" }, - "html_url": { "type": "string", "format": "uri" } - }, - "required": ["key", "name", "url", "spdx_id", "node_id"] - }, - "repository": { - "title": "Repository", - "description": "A git repository", - "type": "object", - "properties": { - "id": { - "description": "Unique identifier of the repository", - "example": 42, - "type": "integer" - }, - "node_id": { - "type": "string", - "example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5" - }, - "name": { - "description": "The name of the repository.", - "type": "string", - "example": "Team Environment" - }, - "full_name": { "type": "string", "example": "octocat/Hello-World" }, - "license": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/license-simple" }] - }, - "forks": { "type": "integer" }, - "permissions": { - "type": "object", - "properties": { - "admin": { "type": "boolean" }, - "pull": { "type": "boolean" }, - "triage": { "type": "boolean" }, - "push": { "type": "boolean" }, - "maintain": { "type": "boolean" } - }, - "required": ["admin", "pull", "push"] - }, - "owner": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "private": { - "description": "Whether the repository is private or public.", - "default": false, - "type": "boolean" - }, - "html_url": { - "type": "string", - "format": "uri", - "example": "https://github.com/octocat/Hello-World" - }, - "description": { - "type": "string", - "example": "This your first repo!", - "nullable": true - }, - "fork": { "type": "boolean" }, - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World" - }, - "archive_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}" - }, - "assignees_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}" - }, - "blobs_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}" - }, - "branches_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}" - }, - "collaborators_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}" - }, - "comments_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/comments{/number}" - }, - "commits_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}" - }, - "compare_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}" - }, - "contents_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}" - }, - "contributors_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/contributors" - }, - "deployments_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/deployments" - }, - "downloads_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/downloads" - }, - "events_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/events" - }, - "forks_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/forks" - }, - "git_commits_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}" - }, - "git_refs_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}" - }, - "git_tags_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}" - }, - "git_url": { - "type": "string", - "example": "git:github.com/octocat/Hello-World.git" - }, - "issue_comment_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}" - }, - "issue_events_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}" - }, - "issues_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/issues{/number}" - }, - "keys_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}" - }, - "labels_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/labels{/name}" - }, - "languages_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/languages" - }, - "merges_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/merges" - }, - "milestones_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}" - }, - "notifications_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}" - }, - "pulls_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}" - }, - "releases_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/releases{/id}" - }, - "ssh_url": { - "type": "string", - "example": "git@github.com:octocat/Hello-World.git" - }, - "stargazers_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/stargazers" - }, - "statuses_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}" - }, - "subscribers_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/subscribers" - }, - "subscription_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/subscription" - }, - "tags_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/tags" - }, - "teams_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/teams" - }, - "trees_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}" - }, - "clone_url": { - "type": "string", - "example": "https://github.com/octocat/Hello-World.git" - }, - "mirror_url": { - "type": "string", - "format": "uri", - "example": "git:git.example.com/octocat/Hello-World", - "nullable": true - }, - "hooks_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/hooks" - }, - "svn_url": { - "type": "string", - "format": "uri", - "example": "https://svn.github.com/octocat/Hello-World" - }, - "homepage": { - "type": "string", - "format": "uri", - "example": "https://github.com", - "nullable": true - }, - "language": { "type": "string", "nullable": true }, - "forks_count": { "type": "integer", "example": 9 }, - "stargazers_count": { "type": "integer", "example": 80 }, - "watchers_count": { "type": "integer", "example": 80 }, - "size": { "type": "integer", "example": 108 }, - "default_branch": { - "description": "The default branch of the repository.", - "type": "string", - "example": "master" - }, - "open_issues_count": { "type": "integer", "example": 0 }, - "is_template": { - "description": "Whether this repository acts as a template that can be used to generate new repositories.", - "default": false, - "type": "boolean", - "example": true - }, - "topics": { "type": "array", "items": { "type": "string" } }, - "has_issues": { - "description": "Whether issues are enabled.", - "default": true, - "type": "boolean", - "example": true - }, - "has_projects": { - "description": "Whether projects are enabled.", - "default": true, - "type": "boolean", - "example": true - }, - "has_wiki": { - "description": "Whether the wiki is enabled.", - "default": true, - "type": "boolean", - "example": true - }, - "has_pages": { "type": "boolean" }, - "has_downloads": { - "description": "Whether downloads are enabled.", - "default": true, - "type": "boolean", - "example": true - }, - "archived": { - "description": "Whether the repository is archived.", - "default": false, - "type": "boolean" - }, - "disabled": { - "type": "boolean", - "description": "Returns whether or not this repository disabled." - }, - "visibility": { - "description": "The repository visibility: public, private, or internal.", - "default": "public", - "type": "string" - }, - "pushed_at": { - "type": "string", - "format": "date-time", - "example": "2011-01-26T19:06:43Z", - "nullable": true - }, - "created_at": { - "type": "string", - "format": "date-time", - "example": "2011-01-26T19:01:12Z", - "nullable": true - }, - "updated_at": { - "type": "string", - "format": "date-time", - "example": "2011-01-26T19:14:43Z", - "nullable": true - }, - "allow_rebase_merge": { - "description": "Whether to allow rebase merges for pull requests.", - "default": true, - "type": "boolean", - "example": true - }, - "template_repository": { - "nullable": true, - "type": "object", - "properties": { - "id": { "type": "integer" }, - "node_id": { "type": "string" }, - "name": { "type": "string" }, - "full_name": { "type": "string" }, - "owner": { - "type": "object", - "properties": { - "login": { "type": "string" }, - "id": { "type": "integer" }, - "node_id": { "type": "string" }, - "avatar_url": { "type": "string" }, - "gravatar_id": { "type": "string" }, - "url": { "type": "string" }, - "html_url": { "type": "string" }, - "followers_url": { "type": "string" }, - "following_url": { "type": "string" }, - "gists_url": { "type": "string" }, - "starred_url": { "type": "string" }, - "subscriptions_url": { "type": "string" }, - "organizations_url": { "type": "string" }, - "repos_url": { "type": "string" }, - "events_url": { "type": "string" }, - "received_events_url": { "type": "string" }, - "type": { "type": "string" }, - "site_admin": { "type": "boolean" } - } - }, - "private": { "type": "boolean" }, - "html_url": { "type": "string" }, - "description": { "type": "string" }, - "fork": { "type": "boolean" }, - "url": { "type": "string" }, - "archive_url": { "type": "string" }, - "assignees_url": { "type": "string" }, - "blobs_url": { "type": "string" }, - "branches_url": { "type": "string" }, - "collaborators_url": { "type": "string" }, - "comments_url": { "type": "string" }, - "commits_url": { "type": "string" }, - "compare_url": { "type": "string" }, - "contents_url": { "type": "string" }, - "contributors_url": { "type": "string" }, - "deployments_url": { "type": "string" }, - "downloads_url": { "type": "string" }, - "events_url": { "type": "string" }, - "forks_url": { "type": "string" }, - "git_commits_url": { "type": "string" }, - "git_refs_url": { "type": "string" }, - "git_tags_url": { "type": "string" }, - "git_url": { "type": "string" }, - "issue_comment_url": { "type": "string" }, - "issue_events_url": { "type": "string" }, - "issues_url": { "type": "string" }, - "keys_url": { "type": "string" }, - "labels_url": { "type": "string" }, - "languages_url": { "type": "string" }, - "merges_url": { "type": "string" }, - "milestones_url": { "type": "string" }, - "notifications_url": { "type": "string" }, - "pulls_url": { "type": "string" }, - "releases_url": { "type": "string" }, - "ssh_url": { "type": "string" }, - "stargazers_url": { "type": "string" }, - "statuses_url": { "type": "string" }, - "subscribers_url": { "type": "string" }, - "subscription_url": { "type": "string" }, - "tags_url": { "type": "string" }, - "teams_url": { "type": "string" }, - "trees_url": { "type": "string" }, - "clone_url": { "type": "string" }, - "mirror_url": { "type": "string" }, - "hooks_url": { "type": "string" }, - "svn_url": { "type": "string" }, - "homepage": { "type": "string" }, - "language": { "type": "string" }, - "forks_count": { "type": "integer" }, - "stargazers_count": { "type": "integer" }, - "watchers_count": { "type": "integer" }, - "size": { "type": "integer" }, - "default_branch": { "type": "string" }, - "open_issues_count": { "type": "integer" }, - "is_template": { "type": "boolean" }, - "topics": { "type": "array", "items": { "type": "string" } }, - "has_issues": { "type": "boolean" }, - "has_projects": { "type": "boolean" }, - "has_wiki": { "type": "boolean" }, - "has_pages": { "type": "boolean" }, - "has_downloads": { "type": "boolean" }, - "archived": { "type": "boolean" }, - "disabled": { "type": "boolean" }, - "visibility": { "type": "string" }, - "pushed_at": { "type": "string" }, - "created_at": { "type": "string" }, - "updated_at": { "type": "string" }, - "permissions": { - "type": "object", - "properties": { - "admin": { "type": "boolean" }, - "push": { "type": "boolean" }, - "pull": { "type": "boolean" } - } - }, - "allow_rebase_merge": { "type": "boolean" }, - "temp_clone_token": { "type": "string" }, - "allow_squash_merge": { "type": "boolean" }, - "delete_branch_on_merge": { "type": "boolean" }, - "allow_merge_commit": { "type": "boolean" }, - "subscribers_count": { "type": "integer" }, - "network_count": { "type": "integer" } - } - }, - "temp_clone_token": { "type": "string" }, - "allow_squash_merge": { - "description": "Whether to allow squash merges for pull requests.", - "default": true, - "type": "boolean", - "example": true - }, - "delete_branch_on_merge": { - "description": "Whether to delete head branches when pull requests are merged", - "default": false, - "type": "boolean", - "example": false - }, - "allow_merge_commit": { - "description": "Whether to allow merge commits for pull requests.", - "default": true, - "type": "boolean", - "example": true - }, - "subscribers_count": { "type": "integer" }, - "network_count": { "type": "integer" }, - "open_issues": { "type": "integer" }, - "watchers": { "type": "integer" }, - "master_branch": { "type": "string" }, - "starred_at": { - "type": "string", - "example": "\"2020-07-09T00:17:42Z\"" - } - }, - "required": [ - "archive_url", - "assignees_url", - "blobs_url", - "branches_url", - "collaborators_url", - "comments_url", - "commits_url", - "compare_url", - "contents_url", - "contributors_url", - "deployments_url", - "description", - "downloads_url", - "events_url", - "fork", - "forks_url", - "full_name", - "git_commits_url", - "git_refs_url", - "git_tags_url", - "hooks_url", - "html_url", - "id", - "node_id", - "issue_comment_url", - "issue_events_url", - "issues_url", - "keys_url", - "labels_url", - "languages_url", - "merges_url", - "milestones_url", - "name", - "notifications_url", - "owner", - "private", - "pulls_url", - "releases_url", - "stargazers_url", - "statuses_url", - "subscribers_url", - "subscription_url", - "tags_url", - "teams_url", - "trees_url", - "url", - "clone_url", - "default_branch", - "forks", - "forks_count", - "git_url", - "has_downloads", - "has_issues", - "has_projects", - "has_wiki", - "has_pages", - "homepage", - "language", - "archived", - "disabled", - "mirror_url", - "open_issues", - "open_issues_count", - "license", - "pushed_at", - "size", - "ssh_url", - "stargazers_count", - "svn_url", - "watchers", - "watchers_count", - "created_at", - "updated_at" - ] - }, - "installation-token": { - "title": "Installation Token", - "description": "Authentication token for a GitHub App installed on a user or org.", - "type": "object", - "properties": { - "token": { "type": "string" }, - "expires_at": { "type": "string" }, - "permissions": { - "type": "object", - "properties": { - "issues": { "type": "string" }, - "contents": { "type": "string" }, - "metadata": { "type": "string", "example": "read" }, - "single_file": { "type": "string", "example": "read" } - } - }, - "repository_selection": { - "type": "string", - "enum": ["all", "selected"] - }, - "repositories": { - "type": "array", - "items": { "$ref": "#/components/schemas/repository" } - }, - "single_file": { "type": "string", "example": "README.md" }, - "has_multiple_single_files": { "type": "boolean", "example": true }, - "single_file_paths": { - "type": "array", - "items": { "type": "string" }, - "example": ["config.yml", ".github/issue_TEMPLATE.md"] - } - }, - "required": ["token", "expires_at"] - }, - "validation-error": { - "title": "Validation Error", - "description": "Validation Error", - "type": "object", - "required": ["message", "documentation_url"], - "properties": { - "message": { "type": "string" }, - "documentation_url": { "type": "string" }, - "errors": { - "type": "array", - "items": { - "type": "object", - "required": ["code"], - "properties": { - "resource": { "type": "string" }, - "field": { "type": "string" }, - "message": { "type": "string" }, - "code": { "type": "string" }, - "index": { "type": "integer" }, - "value": { - "oneOf": [ - { "type": "string", "nullable": true }, - { "type": "integer", "nullable": true }, - { - "type": "array", - "nullable": true, - "items": { "type": "string" } - } - ] - } - } - } - } - } - }, - "application-grant": { - "title": "Application Grant", - "description": "The authorization associated with an OAuth Access.", - "type": "object", - "properties": { - "id": { "type": "integer", "example": 1 }, - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/applications/grants/1" - }, - "app": { - "type": "object", - "properties": { - "client_id": { "type": "string" }, - "name": { "type": "string" }, - "url": { "type": "string", "format": "uri" } - }, - "required": ["client_id", "name", "url"] - }, - "created_at": { - "type": "string", - "format": "date-time", - "example": "2011-09-06T17:26:27Z" - }, - "updated_at": { - "type": "string", - "format": "date-time", - "example": "2011-09-06T20:39:23Z" - }, - "scopes": { - "type": "array", - "items": { "type": "string" }, - "example": ["public_repo"] - }, - "user": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - } - }, - "required": ["app", "id", "scopes", "url", "created_at", "updated_at"] - }, - "scoped-installation": { - "title": "Scoped Installation", - "type": "object", - "properties": { - "permissions": { "$ref": "#/components/schemas/app-permissions" }, - "repository_selection": { - "description": "Describe whether all repositories have been selected or there's a selection involved", - "type": "string", - "enum": ["all", "selected"] - }, - "single_file_name": { - "type": "string", - "example": "config.yaml", - "nullable": true - }, - "has_multiple_single_files": { "type": "boolean", "example": true }, - "single_file_paths": { - "type": "array", - "items": { "type": "string" }, - "example": ["config.yml", ".github/issue_TEMPLATE.md"] - }, - "repositories_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/users/octocat/repos" - }, - "account": { "$ref": "#/components/schemas/simple-user" } - }, - "required": [ - "permissions", - "repository_selection", - "single_file_name", - "repositories_url", - "account" - ] - }, - "authorization": { - "title": "Authorization", - "description": "The authorization for an OAuth app, GitHub App, or a Personal Access Token.", - "type": "object", - "properties": { - "id": { "type": "integer" }, - "url": { "type": "string", "format": "uri" }, - "scopes": { - "description": "A list of scopes that this authorization is in.", - "type": "array", - "items": { "type": "string" }, - "nullable": true - }, - "token": { "type": "string" }, - "token_last_eight": { "type": "string", "nullable": true }, - "hashed_token": { "type": "string", "nullable": true }, - "app": { - "type": "object", - "properties": { - "client_id": { "type": "string" }, - "name": { "type": "string" }, - "url": { "type": "string", "format": "uri" } - }, - "required": ["client_id", "name", "url"] - }, - "note": { "type": "string", "nullable": true }, - "note_url": { "type": "string", "format": "uri", "nullable": true }, - "updated_at": { "type": "string", "format": "date-time" }, - "created_at": { "type": "string", "format": "date-time" }, - "fingerprint": { "type": "string", "nullable": true }, - "user": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "installation": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/scoped-installation" }] - } - }, - "required": [ - "app", - "id", - "note", - "note_url", - "scopes", - "token", - "hashed_token", - "token_last_eight", - "fingerprint", - "url", - "created_at", - "updated_at" - ] - }, - "code-of-conduct": { - "title": "Code Of Conduct", - "description": "Code Of Conduct", - "type": "object", - "properties": { - "key": { "type": "string", "example": "contributor_covenant" }, - "name": { "type": "string", "example": "Contributor Covenant" }, - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/codes_of_conduct/contributor_covenant" - }, - "body": { - "type": "string", - "example": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nIn the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.\n\n## Our Standards\n\nExamples of behavior that contributes to creating a positive environment include:\n\n* Using welcoming and inclusive language\n* Being respectful of differing viewpoints and experiences\n* Gracefully accepting constructive criticism\n* Focusing on what is best for the community\n* Showing empathy towards other community members\n\nExamples of unacceptable behavior by participants include:\n\n* The use of sexualized language or imagery and unwelcome sexual attention or advances\n* Trolling, insulting/derogatory comments, and personal or political attacks\n* Public or private harassment\n* Publishing others' private information, such as a physical or electronic address, without explicit permission\n* Other conduct which could reasonably be considered inappropriate in a professional setting\n\n## Our Responsibilities\n\nProject maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response\n to any instances of unacceptable behavior.\n\nProject maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.\n\n## Scope\n\nThis Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address,\n posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.\n\n## Enforcement\n\nInstances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.\n\nProject maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.\n\n## Attribution\n\nThis Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]\n\n[homepage]: http://contributor-covenant.org\n[version]: http://contributor-covenant.org/version/1/4/\n" - }, - "html_url": { "type": "string", "format": "uri", "nullable": true } - }, - "required": ["url", "html_url", "key", "name"] - }, - "content-reference-attachment": { - "title": "ContentReferenceAttachment", - "description": "Content Reference attachments allow you to provide context around URLs posted in comments", - "type": "object", - "properties": { - "id": { - "description": "The ID of the attachment", - "example": 21, - "type": "integer" - }, - "title": { - "description": "The title of the attachment", - "example": "Title of the attachment", - "type": "string", - "maxLength": 1024 - }, - "body": { - "description": "The body of the attachment", - "example": "Body of the attachment", - "type": "string", - "maxLength": 262144 - }, - "node_id": { - "description": "The node_id of the content attachment", - "example": "MDE3OkNvbnRlbnRBdHRhY2htZW50MjE=", - "type": "string" - } - }, - "required": ["id", "title", "body"] - }, - "enabled-organizations": { - "type": "string", - "description": "The policy that controls the organizations in the enterprise that are allowed to run GitHub Actions. Can be one of: `all`, `none`, or `selected`.", - "enum": ["all", "none", "selected"] - }, - "allowed-actions": { - "type": "string", - "description": "The permissions policy that controls the actions that are allowed to run. Can be one of: `all`, `local_only`, or `selected`.", - "enum": ["all", "local_only", "selected"] - }, - "selected-actions-url": { - "type": "string", - "description": "The API URL to use to get or set the actions that are allowed to run, when `allowed_actions` is set to `selected`." - }, - "actions-enterprise-permissions": { - "type": "object", - "properties": { - "enabled_organizations": { - "$ref": "#/components/schemas/enabled-organizations" - }, - "selected_organizations_url": { - "type": "string", - "description": "The API URL to use to get or set the selected organizations that are allowed to run GitHub Actions, when `enabled_organizations` is set to `selected`." - }, - "allowed_actions": { "$ref": "#/components/schemas/allowed-actions" }, - "selected_actions_url": { - "$ref": "#/components/schemas/selected-actions-url" - } - }, - "required": ["enabled_organizations", "allowed_actions"] - }, - "organization-simple": { - "title": "Organization Simple", - "description": "Organization Simple", - "type": "object", - "properties": { - "login": { "type": "string", "example": "github" }, - "id": { "type": "integer", "example": 1 }, - "node_id": { - "type": "string", - "example": "MDEyOk9yZ2FuaXphdGlvbjE=" - }, - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/orgs/github" - }, - "repos_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/orgs/github/repos" - }, - "events_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/orgs/github/events" - }, - "hooks_url": { - "type": "string", - "example": "https://api.github.com/orgs/github/hooks" - }, - "issues_url": { - "type": "string", - "example": "https://api.github.com/orgs/github/issues" - }, - "members_url": { - "type": "string", - "example": "https://api.github.com/orgs/github/members{/member}" - }, - "public_members_url": { - "type": "string", - "example": "https://api.github.com/orgs/github/public_members{/member}" - }, - "avatar_url": { - "type": "string", - "example": "https://github.com/images/error/octocat_happy.gif" - }, - "description": { - "type": "string", - "example": "A great organization", - "nullable": true - } - }, - "required": [ - "login", - "url", - "id", - "node_id", - "repos_url", - "events_url", - "hooks_url", - "issues_url", - "members_url", - "public_members_url", - "avatar_url", - "description" - ] - }, - "selected-actions": { - "type": "object", - "properties": { - "github_owned_allowed": { - "type": "boolean", - "description": "Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization." - }, - "verified_allowed": { - "type": "boolean", - "description": "Whether actions in GitHub Marketplace from verified creators are allowed. Set to `true` to allow all GitHub Marketplace actions by verified creators." - }, - "patterns_allowed": { - "type": "array", - "description": "Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`.\"", - "items": { "type": "string" } - } - }, - "required": [ - "github_owned_allowed", - "patterns_allowed", - "verified_allowed" - ] - }, - "runner-groups-enterprise": { - "type": "object", - "properties": { - "id": { "type": "number" }, - "name": { "type": "string" }, - "visibility": { "type": "string" }, - "default": { "type": "boolean" }, - "selected_organizations_url": { "type": "string" }, - "runners_url": { "type": "string" }, - "allows_public_repositories": { "type": "boolean" } - }, - "required": [ - "id", - "name", - "visibility", - "allows_public_repositories", - "default", - "runners_url" - ] - }, - "runner": { - "title": "Self hosted runners", - "description": "A self hosted runner", - "type": "object", - "properties": { - "id": { - "description": "The id of the runner.", - "type": "integer", - "example": 5 - }, - "name": { - "description": "The name of the runner.", - "type": "string", - "example": "iMac" - }, - "os": { - "description": "The Operating System of the runner.", - "type": "string", - "example": "macos" - }, - "status": { - "description": "The status of the runner.", - "type": "string", - "example": "online" - }, - "busy": { "type": "boolean" }, - "labels": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "integer", - "description": "Unique identifier of the label." - }, - "name": { - "type": "string", - "description": "Name of the label." - }, - "type": { - "type": "string", - "description": "The type of label. Read-only labels are applied automatically when the runner is configured.", - "enum": ["read-only", "custom"] - } - } - } - } - }, - "required": ["id", "name", "os", "status", "busy", "labels"] - }, - "runner-application": { - "title": "Runner Application", - "description": "Runner Application", - "type": "object", - "properties": { - "os": { "type": "string" }, - "architecture": { "type": "string" }, - "download_url": { "type": "string" }, - "filename": { "type": "string" } - }, - "required": ["os", "architecture", "download_url", "filename"] - }, - "authentication-token": { - "title": "Authentication Token", - "description": "Authentication Token", - "type": "object", - "properties": { - "token": { - "description": "The token used for authentication", - "type": "string", - "example": "v1.1f699f1069f60xxx" - }, - "expires_at": { - "description": "The time this token expires", - "type": "string", - "format": "date-time", - "example": "2016-07-11T22:14:10Z" - }, - "permissions": { - "type": "object", - "example": { "issues": "read", "deployments": "write" } - }, - "repositories": { - "description": "The repositories this token has access to", - "type": "array", - "items": { "$ref": "#/components/schemas/repository" } - }, - "single_file": { - "type": "string", - "example": "config.yaml", - "nullable": true - }, - "repository_selection": { - "description": "Describe whether all repositories have been selected or there's a selection involved", - "type": "string", - "enum": ["all", "selected"] - } - }, - "required": ["token", "expires_at"] - }, - "audit-log-event": { - "type": "object", - "properties": { - "@timestamp": { - "type": "integer", - "description": "The time the audit log event occurred, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time)." - }, - "action": { - "type": "string", - "description": "The name of the action that was performed, for example `user.login` or `repo.create`." - }, - "active": { "type": "boolean" }, - "active_was": { "type": "boolean" }, - "actor": { - "type": "string", - "description": "The actor who performed the action." - }, - "blocked_user": { - "type": "string", - "description": "The username of the account being blocked." - }, - "business": { "type": "string" }, - "config": { "type": "array" }, - "config_was": { "type": "array" }, - "content_type": { "type": "string" }, - "created_at": { - "type": "integer", - "description": "The time the audit log event was recorded, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time)." - }, - "deploy_key_fingerprint": { "type": "string" }, - "emoji": { "type": "string" }, - "events": { "type": "array" }, - "events_were": { "type": "array" }, - "explanation": { "type": "string" }, - "fingerprint": { "type": "string" }, - "hook_id": { "type": "integer" }, - "limited_availability": { "type": "boolean" }, - "message": { "type": "string" }, - "name": { "type": "string" }, - "old_user": { "type": "string" }, - "openssh_public_key": { "type": "string" }, - "org": { "type": "string" }, - "previous_visibility": { "type": "string" }, - "read_only": { "type": "boolean" }, - "repo": { - "type": "string", - "description": "The name of the repository." - }, - "repository": { - "type": "string", - "description": "The name of the repository." - }, - "repository_public": { "type": "boolean" }, - "target_login": { "type": "string" }, - "team": { "type": "string" }, - "transport_protocol": { - "type": "integer", - "description": "The type of protocol (for example, HTTP or SSH) used to transfer Git data." - }, - "transport_protocol_name": { - "type": "string", - "description": "A human readable name for the protocol (for example, HTTP or SSH) used to transfer Git data." - }, - "user": { - "type": "string", - "description": "The user that was affected by the action performed (if available)." - }, - "visibility": { - "type": "string", - "description": "The repository visibility, for example `public` or `private`." - } - } - }, - "actions-billing-usage": { - "type": "object", - "properties": { - "total_minutes_used": { - "type": "integer", - "description": "The sum of the free and paid GitHub Actions minutes used." - }, - "total_paid_minutes_used": { - "type": "integer", - "description": "The total paid GitHub Actions minutes used." - }, - "included_minutes": { - "type": "integer", - "description": "The amount of free GitHub Actions minutes available." - }, - "minutes_used_breakdown": { - "type": "object", - "properties": { - "UBUNTU": { - "type": "integer", - "description": "Total minutes used on Ubuntu runner machines." - }, - "MACOS": { - "type": "integer", - "description": "Total minutes used on macOS runner machines." - }, - "WINDOWS": { - "type": "integer", - "description": "Total minutes used on Windows runner machines." - } - } - } - }, - "required": [ - "total_minutes_used", - "total_paid_minutes_used", - "included_minutes", - "minutes_used_breakdown" - ] - }, - "packages-billing-usage": { - "type": "object", - "properties": { - "total_gigabytes_bandwidth_used": { - "type": "integer", - "description": "Sum of the free and paid storage space (GB) for GitHuub Packages." - }, - "total_paid_gigabytes_bandwidth_used": { - "type": "integer", - "description": "Total paid storage space (GB) for GitHuub Packages." - }, - "included_gigabytes_bandwidth": { - "type": "integer", - "description": "Free storage space (GB) for GitHub Packages." - } - }, - "required": [ - "total_gigabytes_bandwidth_used", - "total_paid_gigabytes_bandwidth_used", - "included_gigabytes_bandwidth" - ] - }, - "combined-billing-usage": { - "type": "object", - "properties": { - "days_left_in_billing_cycle": { - "type": "integer", - "description": "Numbers of days left in billing cycle." - }, - "estimated_paid_storage_for_month": { - "type": "integer", - "description": "Estimated storage space (GB) used in billing cycle." - }, - "estimated_storage_for_month": { - "type": "integer", - "description": "Estimated sum of free and paid storage space (GB) used in billing cycle." - } - }, - "required": [ - "days_left_in_billing_cycle", - "estimated_paid_storage_for_month", - "estimated_storage_for_month" - ] - }, - "actor": { - "title": "Actor", - "description": "Actor", - "type": "object", - "properties": { - "id": { "type": "integer" }, - "login": { "type": "string" }, - "display_login": { "type": "string" }, - "gravatar_id": { "type": "string", "nullable": true }, - "url": { "type": "string", "format": "uri" }, - "avatar_url": { "type": "string", "format": "uri" } - }, - "required": ["id", "login", "gravatar_id", "url", "avatar_url"] - }, - "label": { - "title": "Label", - "description": "Color-coded labels help you categorize and filter your issues (just like labels in Gmail).", - "type": "object", - "properties": { - "id": { "type": "integer", "example": 208045946 }, - "node_id": { - "type": "string", - "example": "MDU6TGFiZWwyMDgwNDU5NDY=" - }, - "url": { - "description": "URL for the label", - "example": "https://api.github.com/repositories/42/labels/bug", - "type": "string", - "format": "uri" - }, - "name": { - "description": "The name of the label.", - "example": "bug", - "type": "string" - }, - "description": { - "type": "string", - "example": "Something isn't working", - "nullable": true - }, - "color": { - "description": "6-character hex code, without the leading #, identifying the color", - "example": "FFFFFF", - "type": "string" - }, - "default": { "type": "boolean", "example": true } - }, - "required": [ - "id", - "node_id", - "url", - "name", - "description", - "color", - "default" - ] - }, - "milestone": { - "title": "Milestone", - "description": "A collection of related issues and pull requests.", - "type": "object", - "properties": { - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World/milestones/1" - }, - "html_url": { - "type": "string", - "format": "uri", - "example": "https://github.com/octocat/Hello-World/milestones/v1.0" - }, - "labels_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World/milestones/1/labels" - }, - "id": { "type": "integer", "example": 1002604 }, - "node_id": { - "type": "string", - "example": "MDk6TWlsZXN0b25lMTAwMjYwNA==" - }, - "number": { - "description": "The number of the milestone.", - "type": "integer", - "example": 42 - }, - "state": { - "description": "The state of the milestone.", - "example": "open", - "type": "string", - "enum": ["open", "closed"], - "default": "open" - }, - "title": { - "description": "The title of the milestone.", - "example": "v1.0", - "type": "string" - }, - "description": { - "type": "string", - "example": "Tracking milestone for version 1.0", - "nullable": true - }, - "creator": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "open_issues": { "type": "integer", "example": 4 }, - "closed_issues": { "type": "integer", "example": 8 }, - "created_at": { - "type": "string", - "format": "date-time", - "example": "2011-04-10T20:09:31Z" - }, - "updated_at": { - "type": "string", - "format": "date-time", - "example": "2014-03-03T18:58:10Z" - }, - "closed_at": { - "type": "string", - "format": "date-time", - "example": "2013-02-12T13:22:01Z", - "nullable": true - }, - "due_on": { - "type": "string", - "format": "date-time", - "example": "2012-10-09T23:39:01Z", - "nullable": true - } - }, - "required": [ - "closed_issues", - "creator", - "description", - "due_on", - "closed_at", - "id", - "node_id", - "labels_url", - "html_url", - "number", - "open_issues", - "state", - "title", - "url", - "created_at", - "updated_at" - ] - }, - "author_association": { - "title": "author_association", - "type": "string", - "example": "OWNER", - "description": "How the author is associated with the repository.", - "enum": [ - "COLLABORATOR", - "CONTRIBUTOR", - "FIRST_TIMER", - "FIRST_TIME_CONTRIBUTOR", - "MANNEQUIN", - "MEMBER", - "NONE", - "OWNER" - ] - }, - "issue-simple": { - "title": "Issue Simple", - "description": "Issue Simple", - "type": "object", - "properties": { - "id": { "type": "integer", "example": 1 }, - "node_id": { "type": "string", "example": "MDU6SXNzdWUx" }, - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World/issues/1347" - }, - "repository_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World" - }, - "labels_url": { - "type": "string", - "example": "https://api.github.com/repos/octocat/Hello-World/issues/1347/labels{/name}" - }, - "comments_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World/issues/1347/comments" - }, - "events_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World/issues/1347/events" - }, - "html_url": { - "type": "string", - "format": "uri", - "example": "https://github.com/octocat/Hello-World/issues/1347" - }, - "number": { "type": "integer", "example": 1347 }, - "state": { "type": "string", "example": "open" }, - "title": { "type": "string", "example": "Found a bug" }, - "body": { - "type": "string", - "example": "I'm having a problem with this." - }, - "user": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "labels": { - "type": "array", - "items": { "$ref": "#/components/schemas/label" } - }, - "assignee": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "assignees": { - "type": "array", - "items": { "$ref": "#/components/schemas/simple-user" }, - "nullable": true - }, - "milestone": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/milestone" }] - }, - "locked": { "type": "boolean", "example": true }, - "active_lock_reason": { - "type": "string", - "example": "too heated", - "nullable": true - }, - "comments": { "type": "integer", "example": 0 }, - "pull_request": { - "type": "object", - "properties": { - "merged_at": { - "type": "string", - "format": "date-time", - "nullable": true - }, - "diff_url": { - "type": "string", - "format": "uri", - "nullable": true - }, - "html_url": { - "type": "string", - "format": "uri", - "nullable": true - }, - "patch_url": { - "type": "string", - "format": "uri", - "nullable": true - }, - "url": { "type": "string", "format": "uri", "nullable": true } - }, - "required": ["diff_url", "html_url", "patch_url", "url"] - }, - "closed_at": { - "type": "string", - "format": "date-time", - "nullable": true - }, - "created_at": { - "type": "string", - "format": "date-time", - "example": "2011-04-22T13:33:48Z" - }, - "updated_at": { - "type": "string", - "format": "date-time", - "example": "2011-04-22T13:33:48Z" - }, - "author_association": { - "$ref": "#/components/schemas/author_association" - }, - "body_html": { "type": "string" }, - "body_text": { "type": "string" }, - "timeline_url": { "type": "string", "format": "uri" }, - "repository": { "$ref": "#/components/schemas/repository" }, - "performed_via_github_app": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/integration" }] - } - }, - "required": [ - "assignee", - "closed_at", - "comments", - "comments_url", - "events_url", - "html_url", - "id", - "node_id", - "labels", - "labels_url", - "milestone", - "number", - "repository_url", - "state", - "locked", - "title", - "url", - "user", - "author_association", - "created_at", - "updated_at" - ] - }, - "reaction-rollup": { - "title": "Reaction Rollup", - "type": "object", - "properties": { - "url": { "type": "string", "format": "uri" }, - "total_count": { "type": "integer" }, - "+1": { "type": "integer" }, - "-1": { "type": "integer" }, - "laugh": { "type": "integer" }, - "confused": { "type": "integer" }, - "heart": { "type": "integer" }, - "hooray": { "type": "integer" }, - "eyes": { "type": "integer" }, - "rocket": { "type": "integer" } - }, - "required": [ - "url", - "total_count", - "+1", - "-1", - "laugh", - "confused", - "heart", - "hooray", - "eyes", - "rocket" - ] - }, - "issue-comment": { - "title": "Issue Comment", - "description": "Comments provide a way for people to collaborate on an issue.", - "type": "object", - "properties": { - "id": { - "description": "Unique identifier of the issue comment", - "example": 42, - "type": "integer" - }, - "node_id": { "type": "string" }, - "url": { - "description": "URL for the issue comment", - "example": "https://api.github.com/repositories/42/issues/comments/1", - "type": "string", - "format": "uri" - }, - "body": { - "description": "Contents of the issue comment", - "example": "What version of Safari were you using when you observed this bug?", - "type": "string" - }, - "body_text": { "type": "string" }, - "body_html": { "type": "string" }, - "html_url": { "type": "string", "format": "uri" }, - "user": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "created_at": { - "type": "string", - "format": "date-time", - "example": "2011-04-14T16:00:49Z" - }, - "updated_at": { - "type": "string", - "format": "date-time", - "example": "2011-04-14T16:00:49Z" - }, - "issue_url": { "type": "string", "format": "uri" }, - "author_association": { - "$ref": "#/components/schemas/author_association" - }, - "performed_via_github_app": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/integration" }] - }, - "reactions": { "$ref": "#/components/schemas/reaction-rollup" } - }, - "required": [ - "id", - "node_id", - "html_url", - "issue_url", - "author_association", - "user", - "url", - "created_at", - "updated_at" - ] - }, - "event": { - "title": "Event", - "description": "Event", - "type": "object", - "properties": { - "id": { "type": "string" }, - "type": { "type": "string", "nullable": true }, - "actor": { "$ref": "#/components/schemas/actor" }, - "repo": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "name": { "type": "string" }, - "url": { "type": "string", "format": "uri" } - }, - "required": ["id", "name", "url"] - }, - "org": { "$ref": "#/components/schemas/actor" }, - "payload": { - "type": "object", - "properties": { - "action": { "type": "string" }, - "issue": { "$ref": "#/components/schemas/issue-simple" }, - "comment": { "$ref": "#/components/schemas/issue-comment" }, - "pages": { - "type": "array", - "items": { - "type": "object", - "properties": { - "page_name": { "type": "string" }, - "title": { "type": "string" }, - "summary": { "type": "string", "nullable": true }, - "action": { "type": "string" }, - "sha": { "type": "string" }, - "html_url": { "type": "string" } - } - } - } - }, - "required": ["action"] - }, - "public": { "type": "boolean" }, - "created_at": { - "type": "string", - "format": "date-time", - "nullable": true - } - }, - "required": [ - "id", - "type", - "actor", - "repo", - "payload", - "public", - "created_at" - ] - }, - "link-with-type": { - "title": "Link With Type", - "description": "Hypermedia Link with Type", - "type": "object", - "properties": { - "href": { "type": "string" }, - "type": { "type": "string" } - }, - "required": ["href", "type"] - }, - "feed": { - "title": "Feed", - "description": "Feed", - "type": "object", - "properties": { - "timeline_url": { - "type": "string", - "example": "https://github.com/timeline" - }, - "user_url": { - "type": "string", - "example": "https://github.com/{user}" - }, - "current_user_public_url": { - "type": "string", - "example": "https://github.com/octocat" - }, - "current_user_url": { - "type": "string", - "example": "https://github.com/octocat.private?token=abc123" - }, - "current_user_actor_url": { - "type": "string", - "example": "https://github.com/octocat.private.actor?token=abc123" - }, - "current_user_organization_url": { - "type": "string", - "example": "https://github.com/octocat-org" - }, - "current_user_organization_urls": { - "type": "array", - "example": [ - "https://github.com/organizations/github/octocat.private.atom?token=abc123" - ], - "items": { "type": "string", "format": "uri" } - }, - "security_advisories_url": { - "type": "string", - "example": "https://github.com/security-advisories" - }, - "_links": { - "type": "object", - "properties": { - "timeline": { "$ref": "#/components/schemas/link-with-type" }, - "user": { "$ref": "#/components/schemas/link-with-type" }, - "security_advisories": { - "$ref": "#/components/schemas/link-with-type" - }, - "current_user": { "$ref": "#/components/schemas/link-with-type" }, - "current_user_public": { - "$ref": "#/components/schemas/link-with-type" - }, - "current_user_actor": { - "$ref": "#/components/schemas/link-with-type" - }, - "current_user_organization": { - "$ref": "#/components/schemas/link-with-type" - }, - "current_user_organizations": { - "type": "array", - "items": { "$ref": "#/components/schemas/link-with-type" } - } - }, - "required": ["timeline", "user"] - } - }, - "required": ["_links", "timeline_url", "user_url"] - }, - "base-gist": { - "title": "Base Gist", - "description": "Base Gist", - "type": "object", - "properties": { - "url": { "type": "string", "format": "uri" }, - "forks_url": { "type": "string", "format": "uri" }, - "commits_url": { "type": "string", "format": "uri" }, - "id": { "type": "string" }, - "node_id": { "type": "string" }, - "git_pull_url": { "type": "string", "format": "uri" }, - "git_push_url": { "type": "string", "format": "uri" }, - "html_url": { "type": "string", "format": "uri" }, - "files": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": { - "filename": { "type": "string" }, - "type": { "type": "string" }, - "language": { "type": "string" }, - "raw_url": { "type": "string" }, - "size": { "type": "integer" } - } - } - }, - "public": { "type": "boolean" }, - "created_at": { "type": "string", "format": "date-time" }, - "updated_at": { "type": "string", "format": "date-time" }, - "description": { "type": "string", "nullable": true }, - "comments": { "type": "integer" }, - "user": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "comments_url": { "type": "string", "format": "uri" }, - "owner": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "truncated": { "type": "boolean" }, - "forks": { "type": "array", "items": {} }, - "history": { "type": "array", "items": {} } - }, - "required": [ - "id", - "node_id", - "url", - "forks_url", - "commits_url", - "git_pull_url", - "git_push_url", - "html_url", - "comments_url", - "public", - "description", - "comments", - "user", - "files", - "created_at", - "updated_at" - ] - }, - "gist-simple": { - "title": "Gist Simple", - "description": "Gist Simple", - "type": "object", - "properties": { - "url": { "type": "string" }, - "forks_url": { "type": "string" }, - "commits_url": { "type": "string" }, - "id": { "type": "string" }, - "node_id": { "type": "string" }, - "git_pull_url": { "type": "string" }, - "git_push_url": { "type": "string" }, - "html_url": { "type": "string" }, - "files": { - "type": "object", - "additionalProperties": { - "nullable": true, - "type": "object", - "properties": { - "filename": { "type": "string" }, - "type": { "type": "string" }, - "language": { "type": "string" }, - "raw_url": { "type": "string" }, - "size": { "type": "integer" }, - "truncated": { "type": "boolean" }, - "content": { "type": "string" } - } - } - }, - "public": { "type": "boolean" }, - "created_at": { "type": "string" }, - "updated_at": { "type": "string" }, - "description": { "type": "string", "nullable": true }, - "comments": { "type": "integer" }, - "user": { "type": "string", "nullable": true }, - "comments_url": { "type": "string" }, - "owner": { "$ref": "#/components/schemas/simple-user" }, - "truncated": { "type": "boolean" } - } - }, - "gist-comment": { - "title": "Gist Comment", - "description": "A comment made to a gist.", - "type": "object", - "properties": { - "id": { "type": "integer", "example": 1 }, - "node_id": { - "type": "string", - "example": "MDExOkdpc3RDb21tZW50MQ==" - }, - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/gists/a6db0bec360bb87e9418/comments/1" - }, - "body": { - "description": "The comment text.", - "type": "string", - "maxLength": 65535, - "example": "Body of the attachment" - }, - "user": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "created_at": { - "type": "string", - "format": "date-time", - "example": "2011-04-18T23:23:56Z" - }, - "updated_at": { - "type": "string", - "format": "date-time", - "example": "2011-04-18T23:23:56Z" - }, - "author_association": { - "$ref": "#/components/schemas/author_association" - } - }, - "required": [ - "url", - "id", - "node_id", - "user", - "body", - "author_association", - "created_at", - "updated_at" - ] - }, - "gist-commit": { - "title": "Gist Commit", - "description": "Gist Commit", - "type": "object", - "properties": { - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/gists/aa5a315d61ae9438b18d/57a7f021a713b1c5a6a199b54cc514735d2d462f" - }, - "version": { - "type": "string", - "example": "57a7f021a713b1c5a6a199b54cc514735d2d462f" - }, - "user": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "change_status": { - "type": "object", - "properties": { - "total": { "type": "integer" }, - "additions": { "type": "integer" }, - "deletions": { "type": "integer" } - } - }, - "committed_at": { - "type": "string", - "format": "date-time", - "example": "2010-04-14T02:15:15Z" - } - }, - "required": ["url", "user", "version", "committed_at", "change_status"] - }, - "gitignore-template": { - "title": "Gitignore Template", - "description": "Gitignore Template", - "type": "object", - "properties": { - "name": { "type": "string", "example": "C" }, - "source": { - "type": "string", - "example": "# Object files\n*.o\n\n# Libraries\n*.lib\n*.a\n\n# Shared objects (inc. Windows DLLs)\n*.dll\n*.so\n*.so.*\n*.dylib\n\n# Executables\n*.exe\n*.out\n*.app\n" - } - }, - "required": ["name", "source"] - }, - "issue": { - "title": "Issue", - "description": "Issues are a great way to keep track of tasks, enhancements, and bugs for your projects.", - "type": "object", - "properties": { - "id": { "type": "integer" }, - "node_id": { "type": "string" }, - "url": { - "description": "URL for the issue", - "example": "https://api.github.com/repositories/42/issues/1", - "type": "string", - "format": "uri" - }, - "repository_url": { "type": "string", "format": "uri" }, - "labels_url": { "type": "string" }, - "comments_url": { "type": "string", "format": "uri" }, - "events_url": { "type": "string", "format": "uri" }, - "html_url": { "type": "string", "format": "uri" }, - "number": { - "description": "Number uniquely identifying the issue within its repository", - "example": 42, - "type": "integer" - }, - "state": { - "description": "State of the issue; either 'open' or 'closed'", - "example": "open", - "type": "string" - }, - "title": { - "description": "Title of the issue", - "example": "Widget creation fails in Safari on OS X 10.8", - "type": "string" - }, - "body": { - "description": "Contents of the issue", - "example": "It looks like the new widget form is broken on Safari. When I try and create the widget, Safari crashes. This is reproducible on 10.8, but not 10.9. Maybe a browser bug?", - "type": "string" - }, - "user": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "labels": { - "description": "Labels to associate with this issue; pass one or more label names to replace the set of labels on this issue; send an empty array to clear all labels from the issue; note that the labels are silently dropped for users without push access to the repository", - "example": ["bug", "registration"], - "type": "array", - "items": { - "oneOf": [ - { "type": "string" }, - { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "node_id": { "type": "string" }, - "url": { "type": "string", "format": "uri" }, - "name": { "type": "string" }, - "description": { "type": "string", "nullable": true }, - "color": { "type": "string", "nullable": true }, - "default": { "type": "boolean" } - } - } - ] - } - }, - "assignee": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "assignees": { - "type": "array", - "items": { "$ref": "#/components/schemas/simple-user" }, - "nullable": true - }, - "milestone": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/milestone" }] - }, - "locked": { "type": "boolean" }, - "active_lock_reason": { "type": "string", "nullable": true }, - "comments": { "type": "integer" }, - "pull_request": { - "type": "object", - "properties": { - "merged_at": { - "type": "string", - "format": "date-time", - "nullable": true - }, - "diff_url": { - "type": "string", - "format": "uri", - "nullable": true - }, - "html_url": { - "type": "string", - "format": "uri", - "nullable": true - }, - "patch_url": { - "type": "string", - "format": "uri", - "nullable": true - }, - "url": { "type": "string", "format": "uri", "nullable": true } - }, - "required": ["diff_url", "html_url", "patch_url", "url"] - }, - "closed_at": { - "type": "string", - "format": "date-time", - "nullable": true - }, - "created_at": { "type": "string", "format": "date-time" }, - "updated_at": { "type": "string", "format": "date-time" }, - "closed_by": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "body_html": { "type": "string" }, - "body_text": { "type": "string" }, - "timeline_url": { "type": "string", "format": "uri" }, - "repository": { "$ref": "#/components/schemas/repository" }, - "performed_via_github_app": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/integration" }] - }, - "author_association": { - "$ref": "#/components/schemas/author_association" - }, - "reactions": { "$ref": "#/components/schemas/reaction-rollup" } - }, - "required": [ - "assignee", - "closed_at", - "comments", - "comments_url", - "events_url", - "html_url", - "id", - "node_id", - "labels", - "labels_url", - "milestone", - "number", - "repository_url", - "state", - "locked", - "title", - "url", - "user", - "author_association", - "created_at", - "updated_at" - ] - }, - "license": { - "title": "License", - "description": "License", - "type": "object", - "properties": { - "key": { "type": "string", "example": "mit" }, - "name": { "type": "string", "example": "MIT License" }, - "spdx_id": { "type": "string", "example": "MIT", "nullable": true }, - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/licenses/mit", - "nullable": true - }, - "node_id": { "type": "string", "example": "MDc6TGljZW5zZW1pdA==" }, - "html_url": { - "type": "string", - "format": "uri", - "example": "http://choosealicense.com/licenses/mit/" - }, - "description": { - "type": "string", - "example": "A permissive license that is short and to the point. It lets people do anything with your code with proper attribution and without warranty." - }, - "implementation": { - "type": "string", - "example": "Create a text file (typically named LICENSE or LICENSE.txt) in the root of your source code and copy the text of the license into the file. Replace [year] with the current year and [fullname] with the name (or names) of the copyright holders." - }, - "permissions": { - "type": "array", - "example": [ - "commercial-use", - "modifications", - "distribution", - "sublicense", - "private-use" - ], - "items": { "type": "string" } - }, - "conditions": { - "type": "array", - "example": ["include-copyright"], - "items": { "type": "string" } - }, - "limitations": { - "type": "array", - "example": ["no-liability"], - "items": { "type": "string" } - }, - "body": { - "type": "string", - "example": "\n\nThe MIT License (MIT)\n\nCopyright (c) [year] [fullname]\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n" - }, - "featured": { "type": "boolean", "example": true } - }, - "required": [ - "key", - "name", - "url", - "spdx_id", - "node_id", - "html_url", - "description", - "implementation", - "permissions", - "conditions", - "limitations", - "body", - "featured" - ] - }, - "marketplace-listing-plan": { - "title": "Marketplace Listing Plan", - "description": "Marketplace Listing Plan", - "type": "object", - "properties": { - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/marketplace_listing/plans/1313" - }, - "accounts_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/marketplace_listing/plans/1313/accounts" - }, - "id": { "type": "integer", "example": 1313 }, - "number": { "type": "integer", "example": 3 }, - "name": { "type": "string", "example": "Pro" }, - "description": { - "type": "string", - "example": "A professional-grade CI solution" - }, - "monthly_price_in_cents": { "type": "integer", "example": 1099 }, - "yearly_price_in_cents": { "type": "integer", "example": 11870 }, - "price_model": { "type": "string", "example": "flat-rate" }, - "has_free_trial": { "type": "boolean", "example": true }, - "unit_name": { "type": "string", "nullable": true }, - "state": { "type": "string", "example": "published" }, - "bullets": { - "type": "array", - "items": { "type": "string" }, - "example": ["Up to 25 private repositories", "11 concurrent builds"] - } - }, - "required": [ - "url", - "accounts_url", - "id", - "number", - "name", - "description", - "has_free_trial", - "price_model", - "unit_name", - "monthly_price_in_cents", - "state", - "yearly_price_in_cents", - "bullets" - ] - }, - "marketplace-purchase": { - "title": "Marketplace Purchase", - "description": "Marketplace Purchase", - "type": "object", - "properties": { - "url": { "type": "string" }, - "type": { "type": "string" }, - "id": { "type": "integer" }, - "login": { "type": "string" }, - "organization_billing_email": { "type": "string" }, - "marketplace_pending_change": { - "type": "object", - "properties": { - "is_installed": { "type": "boolean" }, - "effective_date": { "type": "string" }, - "unit_count": { "type": "integer", "nullable": true }, - "id": { "type": "integer" }, - "plan": { - "$ref": "#/components/schemas/marketplace-listing-plan" - } - }, - "nullable": true - }, - "marketplace_purchase": { - "type": "object", - "properties": { - "billing_cycle": { "type": "string" }, - "next_billing_date": { "type": "string", "nullable": true }, - "is_installed": { "type": "boolean" }, - "unit_count": { "type": "integer", "nullable": true }, - "on_free_trial": { "type": "boolean" }, - "free_trial_ends_on": { "type": "string", "nullable": true }, - "updated_at": { "type": "string" }, - "plan": { - "$ref": "#/components/schemas/marketplace-listing-plan" - } - } - } - }, - "required": ["url", "id", "type", "login", "marketplace_purchase"] - }, - "api-overview": { - "title": "Api Overview", - "description": "Api Overview", - "type": "object", - "properties": { - "verifiable_password_authentication": { - "type": "boolean", - "example": true - }, - "ssh_key_fingerprints": { - "type": "object", - "properties": { - "SHA256_RSA": { "type": "string" }, - "SHA256_DSA": { "type": "string" } - } - }, - "hooks": { - "type": "array", - "items": { "type": "string" }, - "example": ["127.0.0.1/32"] - }, - "web": { - "type": "array", - "items": { "type": "string" }, - "example": ["127.0.0.1/32"] - }, - "api": { - "type": "array", - "items": { "type": "string" }, - "example": ["127.0.0.1/32"] - }, - "git": { - "type": "array", - "items": { "type": "string" }, - "example": ["127.0.0.1/32"] - }, - "pages": { - "type": "array", - "items": { "type": "string" }, - "example": ["192.30.252.153/32", "192.30.252.154/32"] - }, - "importer": { - "type": "array", - "items": { "type": "string" }, - "example": ["54.158.161.132", "54.226.70.38"] - }, - "actions": { - "type": "array", - "items": { "type": "string" }, - "example": ["13.64.0.0/16", "13.65.0.0/16"] - } - }, - "required": ["verifiable_password_authentication"] - }, - "minimal-repository": { - "title": "Minimal Repository", - "description": "Minimal Repository", - "type": "object", - "properties": { - "id": { "type": "integer", "example": 1296269 }, - "node_id": { - "type": "string", - "example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5" - }, - "name": { "type": "string", "example": "Hello-World" }, - "full_name": { "type": "string", "example": "octocat/Hello-World" }, - "owner": { - "type": "object", - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "private": { "type": "boolean" }, - "html_url": { - "type": "string", - "format": "uri", - "example": "https://github.com/octocat/Hello-World" - }, - "description": { - "type": "string", - "example": "This your first repo!", - "nullable": true - }, - "fork": { "type": "boolean" }, - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World" - }, - "archive_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}" - }, - "assignees_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}" - }, - "blobs_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}" - }, - "branches_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}" - }, - "collaborators_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}" - }, - "comments_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/comments{/number}" - }, - "commits_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}" - }, - "compare_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}" - }, - "contents_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}" - }, - "contributors_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/contributors" - }, - "deployments_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/deployments" - }, - "downloads_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/downloads" - }, - "events_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/events" - }, - "forks_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/forks" - }, - "git_commits_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}" - }, - "git_refs_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}" - }, - "git_tags_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}" - }, - "git_url": { "type": "string" }, - "issue_comment_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}" - }, - "issue_events_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}" - }, - "issues_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/issues{/number}" - }, - "keys_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}" - }, - "labels_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/labels{/name}" - }, - "languages_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/languages" - }, - "merges_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/merges" - }, - "milestones_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}" - }, - "notifications_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}" - }, - "pulls_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}" - }, - "releases_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/releases{/id}" - }, - "ssh_url": { "type": "string" }, - "stargazers_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/stargazers" - }, - "statuses_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}" - }, - "subscribers_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/subscribers" - }, - "subscription_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/subscription" - }, - "tags_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/tags" - }, - "teams_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/teams" - }, - "trees_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}" - }, - "clone_url": { "type": "string" }, - "mirror_url": { "type": "string", "nullable": true }, - "hooks_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/hooks" - }, - "svn_url": { "type": "string" }, - "homepage": { "type": "string", "nullable": true }, - "language": { "type": "string", "nullable": true }, - "forks_count": { "type": "integer" }, - "stargazers_count": { "type": "integer" }, - "watchers_count": { "type": "integer" }, - "size": { "type": "integer" }, - "default_branch": { "type": "string" }, - "open_issues_count": { "type": "integer" }, - "is_template": { "type": "boolean" }, - "topics": { "type": "array", "items": { "type": "string" } }, - "has_issues": { "type": "boolean" }, - "has_projects": { "type": "boolean" }, - "has_wiki": { "type": "boolean" }, - "has_pages": { "type": "boolean" }, - "has_downloads": { "type": "boolean" }, - "archived": { "type": "boolean" }, - "disabled": { "type": "boolean" }, - "visibility": { "type": "string" }, - "pushed_at": { - "type": "string", - "format": "date-time", - "example": "2011-01-26T19:06:43Z", - "nullable": true - }, - "created_at": { - "type": "string", - "format": "date-time", - "example": "2011-01-26T19:01:12Z", - "nullable": true - }, - "updated_at": { - "type": "string", - "format": "date-time", - "example": "2011-01-26T19:14:43Z", - "nullable": true - }, - "permissions": { - "type": "object", - "properties": { - "admin": { "type": "boolean" }, - "push": { "type": "boolean" }, - "pull": { "type": "boolean" } - } - }, - "template_repository": { - "nullable": true, - "type": "object", - "allOf": [{ "$ref": "#/components/schemas/repository" }] - }, - "temp_clone_token": { "type": "string" }, - "delete_branch_on_merge": { "type": "boolean" }, - "subscribers_count": { "type": "integer" }, - "network_count": { "type": "integer" }, - "license": { - "type": "object", - "properties": { - "key": { "type": "string" }, - "name": { "type": "string" }, - "spdx_id": { "type": "string" }, - "url": { "type": "string" }, - "node_id": { "type": "string" } - }, - "nullable": true - }, - "forks": { "type": "integer", "example": 0 }, - "open_issues": { "type": "integer", "example": 0 }, - "watchers": { "type": "integer", "example": 0 } - }, - "required": [ - "archive_url", - "assignees_url", - "blobs_url", - "branches_url", - "collaborators_url", - "comments_url", - "commits_url", - "compare_url", - "contents_url", - "contributors_url", - "deployments_url", - "description", - "downloads_url", - "events_url", - "fork", - "forks_url", - "full_name", - "git_commits_url", - "git_refs_url", - "git_tags_url", - "hooks_url", - "html_url", - "id", - "node_id", - "issue_comment_url", - "issue_events_url", - "issues_url", - "keys_url", - "labels_url", - "languages_url", - "merges_url", - "milestones_url", - "name", - "notifications_url", - "owner", - "private", - "pulls_url", - "releases_url", - "stargazers_url", - "statuses_url", - "subscribers_url", - "subscription_url", - "tags_url", - "teams_url", - "trees_url", - "url" - ] - }, - "thread": { - "title": "Thread", - "description": "Thread", - "type": "object", - "properties": { - "id": { "type": "string" }, - "repository": { "$ref": "#/components/schemas/minimal-repository" }, - "subject": { - "type": "object", - "properties": { - "title": { "type": "string" }, - "url": { "type": "string" }, - "latest_comment_url": { "type": "string" }, - "type": { "type": "string" } - }, - "required": ["title", "url", "latest_comment_url", "type"] - }, - "reason": { "type": "string" }, - "unread": { "type": "boolean" }, - "updated_at": { "type": "string" }, - "last_read_at": { "type": "string", "nullable": true }, - "url": { "type": "string" }, - "subscription_url": { - "type": "string", - "example": "https://api.github.com/notifications/threads/2/subscription" - } - }, - "required": [ - "id", - "unread", - "reason", - "updated_at", - "last_read_at", - "subject", - "repository", - "url", - "subscription_url" - ] - }, - "thread-subscription": { - "title": "Thread Subscription", - "description": "Thread Subscription", - "type": "object", - "properties": { - "subscribed": { "type": "boolean", "example": true }, - "ignored": { "type": "boolean" }, - "reason": { "type": "string", "nullable": true }, - "created_at": { - "type": "string", - "format": "date-time", - "example": "2012-10-06T21:34:12Z", - "nullable": true - }, - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/notifications/threads/1/subscription" - }, - "thread_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/notifications/threads/1" - }, - "repository_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/1" - } - }, - "required": ["created_at", "ignored", "reason", "url", "subscribed"] - }, - "organization-full": { - "title": "Organization Full", - "description": "Organization Full", - "type": "object", - "properties": { - "login": { "type": "string", "example": "github" }, - "id": { "type": "integer", "example": 1 }, - "node_id": { - "type": "string", - "example": "MDEyOk9yZ2FuaXphdGlvbjE=" - }, - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/orgs/github" - }, - "repos_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/orgs/github/repos" - }, - "events_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/orgs/github/events" - }, - "hooks_url": { - "type": "string", - "example": "https://api.github.com/orgs/github/hooks" - }, - "issues_url": { - "type": "string", - "example": "https://api.github.com/orgs/github/issues" - }, - "members_url": { - "type": "string", - "example": "https://api.github.com/orgs/github/members{/member}" - }, - "public_members_url": { - "type": "string", - "example": "https://api.github.com/orgs/github/public_members{/member}" - }, - "avatar_url": { - "type": "string", - "example": "https://github.com/images/error/octocat_happy.gif" - }, - "description": { - "type": "string", - "example": "A great organization", - "nullable": true - }, - "name": { "type": "string", "example": "github" }, - "company": { "type": "string", "example": "GitHub" }, - "blog": { - "type": "string", - "format": "uri", - "example": "https://github.com/blog" - }, - "location": { "type": "string", "example": "San Francisco" }, - "email": { - "type": "string", - "format": "email", - "example": "octocat@github.com" - }, - "twitter_username": { - "type": "string", - "example": "github", - "nullable": true - }, - "is_verified": { "type": "boolean", "example": true }, - "has_organization_projects": { "type": "boolean", "example": true }, - "has_repository_projects": { "type": "boolean", "example": true }, - "public_repos": { "type": "integer", "example": 2 }, - "public_gists": { "type": "integer", "example": 1 }, - "followers": { "type": "integer", "example": 20 }, - "following": { "type": "integer", "example": 0 }, - "html_url": { - "type": "string", - "format": "uri", - "example": "https://github.com/octocat" - }, - "created_at": { - "type": "string", - "format": "date-time", - "example": "2008-01-14T04:33:35Z" - }, - "type": { "type": "string", "example": "Organization" }, - "total_private_repos": { "type": "integer", "example": 100 }, - "owned_private_repos": { "type": "integer", "example": 100 }, - "private_gists": { - "type": "integer", - "example": 81, - "nullable": true - }, - "disk_usage": { - "type": "integer", - "example": 10000, - "nullable": true - }, - "collaborators": { - "type": "integer", - "example": 8, - "nullable": true - }, - "billing_email": { - "type": "string", - "format": "email", - "example": "org@example.com", - "nullable": true - }, - "plan": { - "type": "object", - "properties": { - "name": { "type": "string" }, - "space": { "type": "integer" }, - "private_repos": { "type": "integer" }, - "filled_seats": { "type": "integer" }, - "seats": { "type": "integer" } - }, - "required": ["name", "space", "private_repos"] - }, - "default_repository_permission": { - "type": "string", - "nullable": true - }, - "members_can_create_repositories": { - "type": "boolean", - "example": true, - "nullable": true - }, - "two_factor_requirement_enabled": { - "type": "boolean", - "example": true, - "nullable": true - }, - "members_allowed_repository_creation_type": { - "type": "string", - "example": "all" - }, - "members_can_create_public_repositories": { - "type": "boolean", - "example": true - }, - "members_can_create_private_repositories": { - "type": "boolean", - "example": true - }, - "members_can_create_internal_repositories": { - "type": "boolean", - "example": true - }, - "members_can_create_pages": { "type": "boolean", "example": true }, - "updated_at": { "type": "string", "format": "date-time" } - }, - "required": [ - "login", - "url", - "id", - "node_id", - "repos_url", - "events_url", - "hooks_url", - "issues_url", - "members_url", - "public_members_url", - "avatar_url", - "description", - "html_url", - "has_organization_projects", - "has_repository_projects", - "public_repos", - "public_gists", - "followers", - "following", - "type", - "created_at", - "updated_at" - ] - }, - "enabled-repositories": { - "type": "string", - "description": "The policy that controls the repositories in the organization that are allowed to run GitHub Actions. Can be one of: `all`, `none`, or `selected`.", - "enum": ["all", "none", "selected"] - }, - "actions-organization-permissions": { - "type": "object", - "properties": { - "enabled_repositories": { - "$ref": "#/components/schemas/enabled-repositories" - }, - "selected_repositories_url": { - "type": "string", - "description": "The API URL to use to get or set the selected repositories that are allowed to run GitHub Actions, when `enabled_repositories` is set to `selected`." - }, - "allowed_actions": { "$ref": "#/components/schemas/allowed-actions" }, - "selected_actions_url": { - "$ref": "#/components/schemas/selected-actions-url" - } - }, - "required": ["enabled_repositories", "allowed_actions"] - }, - "runner-groups-org": { - "type": "object", - "properties": { - "id": { "type": "number" }, - "name": { "type": "string" }, - "visibility": { "type": "string" }, - "default": { "type": "boolean" }, - "selected_repositories_url": { - "description": "Link to the selected repositories resource for this runner group. Not present unless visibility was set to `selected`", - "type": "string" - }, - "runners_url": { "type": "string" }, - "inherited": { "type": "boolean" }, - "inherited_allows_public_repositories": { "type": "boolean" }, - "allows_public_repositories": { "type": "boolean" } - }, - "required": [ - "id", - "name", - "visibility", - "default", - "runners_url", - "inherited", - "allows_public_repositories" - ] - }, - "organization-actions-secret": { - "title": "Actions Secret for an Organization", - "description": "Secrets for GitHub Actions for an organization.", - "type": "object", - "properties": { - "name": { - "description": "The name of the secret.", - "example": "SECRET_TOKEN", - "type": "string" - }, - "created_at": { "type": "string", "format": "date-time" }, - "updated_at": { "type": "string", "format": "date-time" }, - "visibility": { - "description": "Visibility of a secret", - "enum": ["all", "private", "selected"], - "type": "string" - }, - "selected_repositories_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/organizations/org/secrets/my_secret/repositories" - } - }, - "required": ["name", "created_at", "updated_at", "visibility"] - }, - "actions-public-key": { - "title": "ActionsPublicKey", - "description": "The public key used for setting Actions Secrets.", - "type": "object", - "properties": { - "key_id": { - "description": "The identifier for the key.", - "type": "string", - "example": "1234567" - }, - "key": { - "description": "The Base64 encoded public key.", - "type": "string", - "example": "hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs=" - }, - "id": { "type": "integer", "example": 2 }, - "url": { - "type": "string", - "example": "https://api.github.com/user/keys/2" - }, - "title": { - "type": "string", - "example": "ssh-rsa AAAAB3NzaC1yc2EAAA" - }, - "created_at": { "type": "string", "example": "2011-01-26T19:01:12Z" } - }, - "required": ["key_id", "key"] - }, - "credential-authorization": { - "title": "Credential Authorization", - "description": "Credential Authorization", - "type": "object", - "properties": { - "login": { - "type": "string", - "example": "monalisa", - "description": "User login that owns the underlying credential." - }, - "credential_id": { - "type": "integer", - "example": 1, - "description": "Unique identifier for the credential." - }, - "credential_type": { - "type": "string", - "example": "SSH Key", - "description": "Human-readable description of the credential type." - }, - "token_last_eight": { - "type": "string", - "example": "12345678", - "description": "Last eight characters of the credential. Only included in responses with credential_type of personal access token." - }, - "credential_authorized_at": { - "type": "string", - "format": "date-time", - "example": "2011-01-26T19:06:43Z", - "description": "Date when the credential was authorized for use." - }, - "scopes": { - "type": "array", - "example": ["user", "repo"], - "description": "List of oauth scopes the token has been granted.", - "items": { "type": "string" } - }, - "fingerprint": { - "type": "string", - "example": "jklmnop12345678", - "description": "Unique string to distinguish the credential. Only included in responses with credential_type of SSH Key." - }, - "credential_accessed_at": { - "type": "string", - "format": "date-time", - "example": "2011-01-26T19:06:43Z", - "description": "Date when the credential was last accessed. May be null if it was never accessed", - "nullable": true - }, - "authorized_credential_id": { - "type": "integer", - "nullable": true, - "example": 12345678 - }, - "authorized_credential_title": { - "type": "string", - "nullable": true, - "example": "my ssh key", - "description": "The title given to the ssh key. This will only be present when the credential is an ssh key." - }, - "authorized_credential_note": { - "type": "string", - "nullable": true, - "example": "my token", - "description": "The note given to the token. This will only be present when the credential is a token." - } - }, - "required": [ - "login", - "credential_id", - "credential_type", - "credential_authorized_at" - ] - }, - "organization-invitation": { - "title": "Organization Invitation", - "description": "Organization Invitation", - "type": "object", - "properties": { - "id": { "type": "integer" }, - "login": { "type": "string", "nullable": true }, - "email": { "type": "string", "nullable": true }, - "role": { "type": "string" }, - "created_at": { "type": "string" }, - "failed_at": { "type": "string" }, - "failed_reason": { "type": "string" }, - "inviter": { "$ref": "#/components/schemas/simple-user" }, - "team_count": { "type": "integer" }, - "invitation_team_url": { "type": "string" }, - "node_id": { - "type": "string", - "example": "\"MDIyOk9yZ2FuaXphdGlvbkludml0YXRpb24x\"" - }, - "invitation_teams_url": { - "type": "string", - "example": "\"https://api.github.com/organizations/16/invitations/1/teams\"" - } - }, - "required": [ - "id", - "login", - "email", - "role", - "created_at", - "inviter", - "team_count", - "invitation_team_url", - "node_id" - ] - }, - "org-hook": { - "title": "Org Hook", - "description": "Org Hook", - "type": "object", - "properties": { - "id": { "type": "integer", "example": 1 }, - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/orgs/octocat/hooks/1" - }, - "ping_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/orgs/octocat/hooks/1/pings" - }, - "name": { "type": "string", "example": "web" }, - "events": { - "type": "array", - "example": ["push", "pull_request"], - "items": { "type": "string" } - }, - "active": { "type": "boolean", "example": true }, - "config": { - "type": "object", - "properties": { - "url": { - "type": "string", - "example": "\"http://example.com/2\"" - }, - "insecure_ssl": { "type": "string", "example": "\"0\"" }, - "content_type": { "type": "string", "example": "\"form\"" }, - "secret": { "type": "string", "example": "\"********\"" } - } - }, - "updated_at": { - "type": "string", - "format": "date-time", - "example": "2011-09-06T20:39:23Z" - }, - "created_at": { - "type": "string", - "format": "date-time", - "example": "2011-09-06T17:26:27Z" - }, - "type": { "type": "string" } - }, - "required": [ - "id", - "url", - "type", - "name", - "active", - "events", - "config", - "ping_url", - "created_at", - "updated_at" - ] - }, - "interaction-group": { - "type": "string", - "description": "The type of GitHub user that can comment, open issues, or create pull requests while the interaction limit is in effect. Can be one of: `existing_users`, `contributors_only`, `collaborators_only`.", - "example": "collaborators_only", - "enum": ["existing_users", "contributors_only", "collaborators_only"] - }, - "interaction-limit-response": { - "title": "Interaction Limits", - "description": "Interaction limit settings.", - "type": "object", - "properties": { - "limit": { "$ref": "#/components/schemas/interaction-group" }, - "origin": { "type": "string", "example": "repository" }, - "expires_at": { - "type": "string", - "format": "date-time", - "example": "2018-08-17T04:18:39Z" - } - }, - "required": ["limit", "origin", "expires_at"] - }, - "interaction-expiry": { - "type": "string", - "description": "The duration of the interaction restriction. Can be one of: `one_day`, `three_days`, `one_week`, `one_month`, `six_months`. Default: `one_day`.", - "example": "one_month", - "enum": ["one_day", "three_days", "one_week", "one_month", "six_months"] - }, - "interaction-limit": { - "title": "Interaction Restrictions", - "description": "Limit interactions to a specific type of user for a specified duration", - "type": "object", - "properties": { - "limit": { "$ref": "#/components/schemas/interaction-group" }, - "expiry": { "$ref": "#/components/schemas/interaction-expiry" } - }, - "required": ["limit"] - }, - "team-simple": { - "title": "Team Simple", - "description": "Groups of organization members that gives permissions on specified repositories.", - "type": "object", - "properties": { - "id": { - "description": "Unique identifier of the team", - "type": "integer", - "example": 1 - }, - "node_id": { "type": "string", "example": "MDQ6VGVhbTE=" }, - "url": { - "description": "URL for the team", - "type": "string", - "format": "uri", - "example": "https://api.github.com/organizations/1/team/1" - }, - "members_url": { - "type": "string", - "example": "https://api.github.com/organizations/1/team/1/members{/member}" - }, - "name": { - "description": "Name of the team", - "type": "string", - "example": "Justice League" - }, - "description": { - "description": "Description of the team", - "type": "string", - "nullable": true, - "example": "A great team." - }, - "permission": { - "description": "Permission that the team will have for its repositories", - "type": "string", - "example": "admin" - }, - "privacy": { - "description": "The level of privacy this team should have", - "type": "string", - "example": "closed" - }, - "html_url": { - "type": "string", - "format": "uri", - "example": "https://github.com/orgs/rails/teams/core" - }, - "repositories_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/organizations/1/team/1/repos" - }, - "slug": { "type": "string", "example": "justice-league" }, - "ldap_dn": { - "description": "Distinguished Name (DN) that team maps to within LDAP environment", - "example": "uid=example,ou=users,dc=github,dc=com", - "type": "string" - } - }, - "required": [ - "id", - "node_id", - "url", - "members_url", - "name", - "description", - "permission", - "html_url", - "repositories_url", - "slug" - ], - "nullable": true - }, - "team": { - "title": "Team", - "description": "Groups of organization members that gives permissions on specified repositories.", - "type": "object", - "properties": { - "id": { "type": "integer" }, - "node_id": { "type": "string" }, - "name": { "type": "string" }, - "slug": { "type": "string" }, - "description": { "type": "string", "nullable": true }, - "privacy": { "type": "string" }, - "permission": { "type": "string" }, - "url": { "type": "string", "format": "uri" }, - "html_url": { - "type": "string", - "format": "uri", - "example": "https://github.com/orgs/rails/teams/core" - }, - "members_url": { "type": "string" }, - "repositories_url": { "type": "string", "format": "uri" }, - "parent": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/team-simple" }] - } - }, - "required": [ - "id", - "node_id", - "url", - "members_url", - "name", - "description", - "permission", - "html_url", - "repositories_url", - "slug" - ] - }, - "org-membership": { - "title": "Org Membership", - "description": "Org Membership", - "type": "object", - "properties": { - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/orgs/octocat/memberships/defunkt" - }, - "state": { "type": "string", "example": "active" }, - "role": { "type": "string", "example": "admin" }, - "organization_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/orgs/octocat" - }, - "organization": { - "$ref": "#/components/schemas/organization-simple" - }, - "user": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "permissions": { - "type": "object", - "properties": { "can_create_repository": { "type": "boolean" } }, - "required": ["can_create_repository"] - } - }, - "required": [ - "state", - "role", - "organization_url", - "url", - "organization", - "user" - ] - }, - "migration": { - "title": "Migration", - "description": "A migration.", - "type": "object", - "properties": { - "id": { "type": "integer", "example": 79 }, - "owner": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "guid": { - "type": "string", - "example": "0b989ba4-242f-11e5-81e1-c7b6966d2516" - }, - "state": { "type": "string", "example": "pending" }, - "lock_repositories": { "type": "boolean", "example": true }, - "exclude_attachments": { "type": "boolean" }, - "repositories": { - "type": "array", - "items": { "$ref": "#/components/schemas/repository" } - }, - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/orgs/octo-org/migrations/79" - }, - "created_at": { - "type": "string", - "format": "date-time", - "example": "2015-07-06T15:33:38-07:00" - }, - "updated_at": { - "type": "string", - "format": "date-time", - "example": "2015-07-06T15:33:38-07:00" - }, - "node_id": { "type": "string" }, - "archive_url": { "type": "string", "format": "uri" }, - "exclude": { "type": "array", "items": {} } - }, - "required": [ - "id", - "node_id", - "owner", - "guid", - "state", - "lock_repositories", - "exclude_attachments", - "repositories", - "url", - "created_at", - "updated_at" - ] - }, - "project": { - "title": "Project", - "description": "Projects are a way to organize columns and cards of work.", - "type": "object", - "properties": { - "owner_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/api-playground/projects-test" - }, - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/projects/1002604" - }, - "html_url": { - "type": "string", - "format": "uri", - "example": "https://github.com/api-playground/projects-test/projects/12" - }, - "columns_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/projects/1002604/columns" - }, - "id": { "type": "integer", "example": 1002604 }, - "node_id": { - "type": "string", - "example": "MDc6UHJvamVjdDEwMDI2MDQ=" - }, - "name": { - "description": "Name of the project", - "example": "Week One Sprint", - "type": "string" - }, - "body": { - "description": "Body of the project", - "example": "This project represents the sprint of the first week in January", - "type": "string", - "nullable": true - }, - "number": { "type": "integer", "example": 1 }, - "state": { - "description": "State of the project; either 'open' or 'closed'", - "example": "open", - "type": "string" - }, - "creator": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "created_at": { - "type": "string", - "format": "date-time", - "example": "2011-04-10T20:09:31Z" - }, - "updated_at": { - "type": "string", - "format": "date-time", - "example": "2014-03-03T18:58:10Z" - }, - "organization_permission": { - "description": "The baseline permission that all organization members have on this project. Only present if owner is an organization.", - "type": "string", - "enum": ["read", "write", "admin", "none"] - }, - "private": { - "description": "Whether or not this project can be seen by everyone. Only present if owner is an organization.", - "type": "boolean" - } - }, - "required": [ - "id", - "node_id", - "number", - "name", - "body", - "state", - "url", - "html_url", - "owner_url", - "creator", - "columns_url", - "created_at", - "updated_at" - ] - }, - "group-mapping": { - "title": "GroupMapping", - "description": "External Groups to be mapped to a team for membership", - "type": "object", - "properties": { - "groups": { - "description": "Array of groups to be mapped to this team", - "example": [ - { - "group_id": "111a1a11-aaa1-1aaa-11a1-a1a1a1a1a1aa", - "group_name": "saml-azuread-test", - "group_description": "A group of Developers working on AzureAD SAML SSO" - }, - { - "group_id": "2bb2bb2b-bb22-22bb-2bb2-bb2bbb2bb2b2", - "group_name": "saml-azuread-test2", - "group_description": "Another group of Developers working on AzureAD SAML SSO" - } - ], - "type": "array", - "items": { - "type": "object", - "required": ["group_id", "group_name", "group_description"], - "properties": { - "group_id": { - "description": "The ID of the group", - "example": "111a1a11-aaa1-1aaa-11a1-a1a1a1a1a1aa", - "type": "string" - }, - "group_name": { - "description": "The name of the group", - "example": "saml-azuread-test", - "type": "string" - }, - "group_description": { - "description": "a description of the group", - "example": "A group of Developers working on AzureAD SAML SSO", - "type": "string" - } - } - } - }, - "group_id": { - "description": "The ID of the group", - "example": "111a1a11-aaa1-1aaa-11a1-a1a1a1a1a1aa", - "type": "string" - }, - "group_name": { - "description": "The name of the group", - "example": "saml-azuread-test", - "type": "string" - }, - "group_description": { - "description": "a description of the group", - "example": "A group of Developers working on AzureAD SAML SSO", - "type": "string" - }, - "status": { - "description": "synchronization status for this group mapping", - "example": "unsynced", - "type": "string" - }, - "synced_at": { - "description": "the time of the last sync for this group-mapping", - "example": "2019-06-03 22:27:15:000 -700", - "type": "string" - } - } - }, - "team-full": { - "title": "Full Team", - "description": "Groups of organization members that gives permissions on specified repositories.", - "type": "object", - "properties": { - "id": { - "description": "Unique identifier of the team", - "example": 42, - "type": "integer" - }, - "node_id": { "type": "string", "example": "MDQ6VGVhbTE=" }, - "url": { - "description": "URL for the team", - "example": "https://api.github.com/organizations/1/team/1", - "type": "string", - "format": "uri" - }, - "html_url": { - "type": "string", - "format": "uri", - "example": "https://github.com/orgs/rails/teams/core" - }, - "name": { - "description": "Name of the team", - "example": "Developers", - "type": "string" - }, - "slug": { "type": "string", "example": "justice-league" }, - "description": { - "type": "string", - "example": "A great team.", - "nullable": true - }, - "privacy": { - "description": "The level of privacy this team should have", - "type": "string", - "enum": ["closed", "secret"], - "example": "closed" - }, - "permission": { - "description": "Permission that the team will have for its repositories", - "example": "push", - "type": "string" - }, - "members_url": { - "type": "string", - "example": "https://api.github.com/organizations/1/team/1/members{/member}" - }, - "repositories_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/organizations/1/team/1/repos" - }, - "parent": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/team-simple" }] - }, - "members_count": { "type": "integer", "example": 3 }, - "repos_count": { "type": "integer", "example": 10 }, - "created_at": { - "type": "string", - "format": "date-time", - "example": "2017-07-14T16:53:42Z" - }, - "updated_at": { - "type": "string", - "format": "date-time", - "example": "2017-08-17T12:37:15Z" - }, - "organization": { "$ref": "#/components/schemas/organization-full" }, - "ldap_dn": { - "description": "Distinguished Name (DN) that team maps to within LDAP environment", - "example": "uid=example,ou=users,dc=github,dc=com", - "type": "string" - } - }, - "required": [ - "id", - "node_id", - "url", - "members_url", - "name", - "description", - "permission", - "html_url", - "repositories_url", - "slug", - "created_at", - "updated_at", - "members_count", - "repos_count", - "organization" - ] - }, - "team-discussion": { - "title": "Team Discussion", - "description": "A team discussion is a persistent record of a free-form conversation within a team.", - "type": "object", - "properties": { - "author": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "body": { - "description": "The main text of the discussion.", - "example": "Please suggest improvements to our workflow in comments.", - "type": "string" - }, - "body_html": { - "type": "string", - "example": "

Hi! This is an area for us to collaborate as a team

" - }, - "body_version": { - "description": "The current version of the body content. If provided, this update operation will be rejected if the given version does not match the latest version on the server.", - "example": "0307116bbf7ced493b8d8a346c650b71", - "type": "string" - }, - "comments_count": { "type": "integer", "example": 0 }, - "comments_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/organizations/1/team/2343027/discussions/1/comments" - }, - "created_at": { - "type": "string", - "format": "date-time", - "example": "2018-01-25T18:56:31Z" - }, - "last_edited_at": { - "type": "string", - "format": "date-time", - "nullable": true - }, - "html_url": { - "type": "string", - "format": "uri", - "example": "https://github.com/orgs/github/teams/justice-league/discussions/1" - }, - "node_id": { - "type": "string", - "example": "MDE0OlRlYW1EaXNjdXNzaW9uMQ==" - }, - "number": { - "description": "The unique sequence number of a team discussion.", - "example": 42, - "type": "integer" - }, - "pinned": { - "description": "Whether or not this discussion should be pinned for easy retrieval.", - "example": true, - "type": "boolean" - }, - "private": { - "description": "Whether or not this discussion should be restricted to team members and organization administrators.", - "example": true, - "type": "boolean" - }, - "team_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/organizations/1/team/2343027" - }, - "title": { - "description": "The title of the discussion.", - "example": "How can we improve our workflow?", - "type": "string" - }, - "updated_at": { - "type": "string", - "format": "date-time", - "example": "2018-01-25T18:56:31Z" - }, - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/organizations/1/team/2343027/discussions/1" - }, - "reactions": { "$ref": "#/components/schemas/reaction-rollup" } - }, - "required": [ - "author", - "body", - "body_html", - "body_version", - "comments_count", - "comments_url", - "created_at", - "last_edited_at", - "html_url", - "pinned", - "private", - "node_id", - "number", - "team_url", - "title", - "updated_at", - "url" - ] - }, - "team-discussion-comment": { - "title": "Team Discussion Comment", - "description": "A reply to a discussion within a team.", - "type": "object", - "properties": { - "author": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "body": { - "description": "The main text of the comment.", - "example": "I agree with this suggestion.", - "type": "string" - }, - "body_html": { - "type": "string", - "example": "

Do you like apples?

" - }, - "body_version": { - "description": "The current version of the body content. If provided, this update operation will be rejected if the given version does not match the latest version on the server.", - "example": "0307116bbf7ced493b8d8a346c650b71", - "type": "string" - }, - "created_at": { - "type": "string", - "format": "date-time", - "example": "2018-01-15T23:53:58Z" - }, - "last_edited_at": { - "type": "string", - "format": "date-time", - "nullable": true - }, - "discussion_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/organizations/1/team/2403582/discussions/1" - }, - "html_url": { - "type": "string", - "format": "uri", - "example": "https://github.com/orgs/github/teams/justice-league/discussions/1/comments/1" - }, - "node_id": { - "type": "string", - "example": "MDIxOlRlYW1EaXNjdXNzaW9uQ29tbWVudDE=" - }, - "number": { - "description": "The unique sequence number of a team discussion comment.", - "example": 42, - "type": "integer" - }, - "updated_at": { - "type": "string", - "format": "date-time", - "example": "2018-01-15T23:53:58Z" - }, - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/organizations/1/team/2403582/discussions/1/comments/1" - }, - "reactions": { "$ref": "#/components/schemas/reaction-rollup" } - }, - "required": [ - "author", - "body", - "body_html", - "body_version", - "created_at", - "last_edited_at", - "discussion_url", - "html_url", - "node_id", - "number", - "updated_at", - "url" - ] - }, - "reaction": { - "title": "Reaction", - "description": "Reactions to conversations provide a way to help people express their feelings more simply and effectively.", - "type": "object", - "properties": { - "id": { "type": "integer", "example": 1 }, - "node_id": { "type": "string", "example": "MDg6UmVhY3Rpb24x" }, - "user": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "content": { - "description": "The reaction to use", - "example": "heart", - "type": "string", - "enum": [ - "+1", - "-1", - "laugh", - "confused", - "heart", - "hooray", - "rocket", - "eyes" - ] - }, - "created_at": { - "type": "string", - "format": "date-time", - "example": "2016-05-20T20:09:31Z" - } - }, - "required": ["id", "node_id", "user", "content", "created_at"] - }, - "team-membership": { - "title": "Team Membership", - "description": "Team Membership", - "type": "object", - "properties": { - "url": { "type": "string", "format": "uri" }, - "role": { - "description": "The role of the user in the team.", - "enum": ["member", "maintainer"], - "default": "member", - "example": "member", - "type": "string" - }, - "state": { "type": "string" } - }, - "required": ["role", "state", "url"] - }, - "team-project": { - "title": "Team Project", - "description": "A team's access to a project.", - "type": "object", - "properties": { - "owner_url": { "type": "string" }, - "url": { "type": "string" }, - "html_url": { "type": "string" }, - "columns_url": { "type": "string" }, - "id": { "type": "integer" }, - "node_id": { "type": "string" }, - "name": { "type": "string" }, - "body": { "type": "string", "nullable": true }, - "number": { "type": "integer" }, - "state": { "type": "string" }, - "creator": { "$ref": "#/components/schemas/simple-user" }, - "created_at": { "type": "string" }, - "updated_at": { "type": "string" }, - "organization_permission": { - "description": "The organization permission for this project. Only present when owner is an organization.", - "type": "string" - }, - "private": { - "description": "Whether the project is private or not. Only present when owner is an organization.", - "type": "boolean" - }, - "permissions": { - "type": "object", - "properties": { - "read": { "type": "boolean" }, - "write": { "type": "boolean" }, - "admin": { "type": "boolean" } - }, - "required": ["read", "write", "admin"] - } - }, - "required": [ - "owner_url", - "url", - "html_url", - "columns_url", - "id", - "node_id", - "name", - "body", - "number", - "state", - "creator", - "created_at", - "updated_at", - "permissions" - ] - }, - "team-repository": { - "title": "Team Repository", - "description": "A team's access to a repository.", - "type": "object", - "properties": { - "id": { - "description": "Unique identifier of the repository", - "example": 42, - "type": "integer" - }, - "node_id": { - "type": "string", - "example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5" - }, - "name": { - "description": "The name of the repository.", - "type": "string", - "example": "Team Environment" - }, - "full_name": { "type": "string", "example": "octocat/Hello-World" }, - "license": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/license-simple" }] - }, - "forks": { "type": "integer" }, - "permissions": { - "type": "object", - "properties": { - "admin": { "type": "boolean" }, - "pull": { "type": "boolean" }, - "triage": { "type": "boolean" }, - "push": { "type": "boolean" }, - "maintain": { "type": "boolean" } - }, - "required": ["admin", "pull", "push"] - }, - "owner": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "private": { - "description": "Whether the repository is private or public.", - "default": false, - "type": "boolean" - }, - "html_url": { - "type": "string", - "format": "uri", - "example": "https://github.com/octocat/Hello-World" - }, - "description": { - "type": "string", - "example": "This your first repo!", - "nullable": true - }, - "fork": { "type": "boolean" }, - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World" - }, - "archive_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}" - }, - "assignees_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}" - }, - "blobs_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}" - }, - "branches_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}" - }, - "collaborators_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}" - }, - "comments_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/comments{/number}" - }, - "commits_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}" - }, - "compare_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}" - }, - "contents_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}" - }, - "contributors_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/contributors" - }, - "deployments_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/deployments" - }, - "downloads_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/downloads" - }, - "events_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/events" - }, - "forks_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/forks" - }, - "git_commits_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}" - }, - "git_refs_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}" - }, - "git_tags_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}" - }, - "git_url": { - "type": "string", - "example": "git:github.com/octocat/Hello-World.git" - }, - "issue_comment_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}" - }, - "issue_events_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}" - }, - "issues_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/issues{/number}" - }, - "keys_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}" - }, - "labels_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/labels{/name}" - }, - "languages_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/languages" - }, - "merges_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/merges" - }, - "milestones_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}" - }, - "notifications_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}" - }, - "pulls_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}" - }, - "releases_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/releases{/id}" - }, - "ssh_url": { - "type": "string", - "example": "git@github.com:octocat/Hello-World.git" - }, - "stargazers_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/stargazers" - }, - "statuses_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}" - }, - "subscribers_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/subscribers" - }, - "subscription_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/subscription" - }, - "tags_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/tags" - }, - "teams_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/teams" - }, - "trees_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}" - }, - "clone_url": { - "type": "string", - "example": "https://github.com/octocat/Hello-World.git" - }, - "mirror_url": { - "type": "string", - "format": "uri", - "example": "git:git.example.com/octocat/Hello-World", - "nullable": true - }, - "hooks_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/hooks" - }, - "svn_url": { - "type": "string", - "format": "uri", - "example": "https://svn.github.com/octocat/Hello-World" - }, - "homepage": { - "type": "string", - "format": "uri", - "example": "https://github.com", - "nullable": true - }, - "language": { "type": "string", "nullable": true }, - "forks_count": { "type": "integer", "example": 9 }, - "stargazers_count": { "type": "integer", "example": 80 }, - "watchers_count": { "type": "integer", "example": 80 }, - "size": { "type": "integer", "example": 108 }, - "default_branch": { - "description": "The default branch of the repository.", - "type": "string", - "example": "master" - }, - "open_issues_count": { "type": "integer", "example": 0 }, - "is_template": { - "description": "Whether this repository acts as a template that can be used to generate new repositories.", - "default": false, - "type": "boolean", - "example": true - }, - "topics": { "type": "array", "items": { "type": "string" } }, - "has_issues": { - "description": "Whether issues are enabled.", - "default": true, - "type": "boolean", - "example": true - }, - "has_projects": { - "description": "Whether projects are enabled.", - "default": true, - "type": "boolean", - "example": true - }, - "has_wiki": { - "description": "Whether the wiki is enabled.", - "default": true, - "type": "boolean", - "example": true - }, - "has_pages": { "type": "boolean" }, - "has_downloads": { - "description": "Whether downloads are enabled.", - "default": true, - "type": "boolean", - "example": true - }, - "archived": { - "description": "Whether the repository is archived.", - "default": false, - "type": "boolean" - }, - "disabled": { - "type": "boolean", - "description": "Returns whether or not this repository disabled." - }, - "visibility": { - "description": "The repository visibility: public, private, or internal.", - "default": "public", - "type": "string" - }, - "pushed_at": { - "type": "string", - "format": "date-time", - "example": "2011-01-26T19:06:43Z", - "nullable": true - }, - "created_at": { - "type": "string", - "format": "date-time", - "example": "2011-01-26T19:01:12Z", - "nullable": true - }, - "updated_at": { - "type": "string", - "format": "date-time", - "example": "2011-01-26T19:14:43Z", - "nullable": true - }, - "allow_rebase_merge": { - "description": "Whether to allow rebase merges for pull requests.", - "default": true, - "type": "boolean", - "example": true - }, - "template_repository": { - "type": "object", - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/repository" }] - }, - "temp_clone_token": { "type": "string" }, - "allow_squash_merge": { - "description": "Whether to allow squash merges for pull requests.", - "default": true, - "type": "boolean", - "example": true - }, - "delete_branch_on_merge": { - "description": "Whether to delete head branches when pull requests are merged", - "default": false, - "type": "boolean", - "example": false - }, - "allow_merge_commit": { - "description": "Whether to allow merge commits for pull requests.", - "default": true, - "type": "boolean", - "example": true - }, - "subscribers_count": { "type": "integer" }, - "network_count": { "type": "integer" }, - "open_issues": { "type": "integer" }, - "watchers": { "type": "integer" }, - "master_branch": { "type": "string" } - }, - "required": [ - "archive_url", - "assignees_url", - "blobs_url", - "branches_url", - "collaborators_url", - "comments_url", - "commits_url", - "compare_url", - "contents_url", - "contributors_url", - "deployments_url", - "description", - "downloads_url", - "events_url", - "fork", - "forks_url", - "full_name", - "git_commits_url", - "git_refs_url", - "git_tags_url", - "hooks_url", - "html_url", - "id", - "node_id", - "issue_comment_url", - "issue_events_url", - "issues_url", - "keys_url", - "labels_url", - "languages_url", - "merges_url", - "milestones_url", - "name", - "notifications_url", - "owner", - "private", - "pulls_url", - "releases_url", - "stargazers_url", - "statuses_url", - "subscribers_url", - "subscription_url", - "tags_url", - "teams_url", - "trees_url", - "url", - "clone_url", - "default_branch", - "forks", - "forks_count", - "git_url", - "has_downloads", - "has_issues", - "has_projects", - "has_wiki", - "has_pages", - "homepage", - "language", - "archived", - "disabled", - "mirror_url", - "open_issues", - "open_issues_count", - "license", - "pushed_at", - "size", - "ssh_url", - "stargazers_count", - "svn_url", - "watchers", - "watchers_count", - "created_at", - "updated_at" - ] - }, - "project-card": { - "title": "Project Card", - "description": "Project cards represent a scope of work.", - "type": "object", - "properties": { - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/projects/columns/cards/1478" - }, - "id": { - "description": "The project card's ID", - "example": 42, - "type": "integer" - }, - "node_id": { - "type": "string", - "example": "MDExOlByb2plY3RDYXJkMTQ3OA==" - }, - "note": { - "type": "string", - "example": "Add payload for delete Project column", - "nullable": true - }, - "creator": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "created_at": { - "type": "string", - "format": "date-time", - "example": "2016-09-05T14:21:06Z" - }, - "updated_at": { - "type": "string", - "format": "date-time", - "example": "2016-09-05T14:20:22Z" - }, - "archived": { - "description": "Whether or not the card is archived", - "example": false, - "type": "boolean" - }, - "column_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/projects/columns/367" - }, - "content_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/api-playground/projects-test/issues/3" - }, - "project_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/projects/120" - } - }, - "required": [ - "id", - "node_id", - "note", - "url", - "column_url", - "project_url", - "creator", - "created_at", - "updated_at" - ] - }, - "project-column": { - "title": "Project Column", - "description": "Project columns contain cards of work.", - "type": "object", - "properties": { - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/projects/columns/367" - }, - "project_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/projects/120" - }, - "cards_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/projects/columns/367/cards" - }, - "id": { - "description": "The unique identifier of the project column", - "example": 42, - "type": "integer" - }, - "node_id": { - "type": "string", - "example": "MDEzOlByb2plY3RDb2x1bW4zNjc=" - }, - "name": { - "description": "Name of the project column", - "example": "Remaining tasks", - "type": "string" - }, - "created_at": { - "type": "string", - "format": "date-time", - "example": "2016-09-05T14:18:44Z" - }, - "updated_at": { - "type": "string", - "format": "date-time", - "example": "2016-09-05T14:22:28Z" - } - }, - "required": [ - "id", - "node_id", - "url", - "project_url", - "cards_url", - "name", - "created_at", - "updated_at" - ] - }, - "repository-collaborator-permission": { - "title": "Repository Collaborator Permission", - "description": "Repository Collaborator Permission", - "type": "object", - "properties": { - "permission": { "type": "string" }, - "user": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - } - }, - "required": ["permission", "user"] - }, - "rate-limit": { - "title": "Rate Limit", - "type": "object", - "properties": { - "limit": { "type": "integer" }, - "remaining": { "type": "integer" }, - "reset": { "type": "integer" } - }, - "required": ["limit", "remaining", "reset"] - }, - "rate-limit-overview": { - "title": "Rate Limit Overview", - "description": "Rate Limit Overview", - "type": "object", - "properties": { - "resources": { - "type": "object", - "properties": { - "core": { "$ref": "#/components/schemas/rate-limit" }, - "graphql": { "$ref": "#/components/schemas/rate-limit" }, - "search": { "$ref": "#/components/schemas/rate-limit" }, - "source_import": { "$ref": "#/components/schemas/rate-limit" }, - "integration_manifest": { - "$ref": "#/components/schemas/rate-limit" - }, - "code_scanning_upload": { - "$ref": "#/components/schemas/rate-limit" - } - }, - "required": ["core", "search"] - }, - "rate": { "$ref": "#/components/schemas/rate-limit" } - }, - "required": ["rate", "resources"] - }, - "full-repository": { - "title": "Full Repository", - "description": "Full Repository", - "type": "object", - "properties": { - "id": { "type": "integer", "example": 1296269 }, - "node_id": { - "type": "string", - "example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5" - }, - "name": { "type": "string", "example": "Hello-World" }, - "full_name": { "type": "string", "example": "octocat/Hello-World" }, - "owner": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "private": { "type": "boolean" }, - "html_url": { - "type": "string", - "format": "uri", - "example": "https://github.com/octocat/Hello-World" - }, - "description": { - "type": "string", - "example": "This your first repo!", - "nullable": true - }, - "fork": { "type": "boolean" }, - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World" - }, - "archive_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}" - }, - "assignees_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}" - }, - "blobs_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}" - }, - "branches_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}" - }, - "collaborators_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}" - }, - "comments_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/comments{/number}" - }, - "commits_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}" - }, - "compare_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}" - }, - "contents_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}" - }, - "contributors_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/contributors" - }, - "deployments_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/deployments" - }, - "downloads_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/downloads" - }, - "events_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/events" - }, - "forks_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/forks" - }, - "git_commits_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}" - }, - "git_refs_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}" - }, - "git_tags_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}" - }, - "git_url": { - "type": "string", - "example": "git:github.com/octocat/Hello-World.git" - }, - "issue_comment_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}" - }, - "issue_events_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}" - }, - "issues_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/issues{/number}" - }, - "keys_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}" - }, - "labels_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/labels{/name}" - }, - "languages_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/languages" - }, - "merges_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/merges" - }, - "milestones_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}" - }, - "notifications_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}" - }, - "pulls_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}" - }, - "releases_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/releases{/id}" - }, - "ssh_url": { - "type": "string", - "example": "git@github.com:octocat/Hello-World.git" - }, - "stargazers_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/stargazers" - }, - "statuses_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}" - }, - "subscribers_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/subscribers" - }, - "subscription_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/subscription" - }, - "tags_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/tags" - }, - "teams_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/teams" - }, - "trees_url": { - "type": "string", - "example": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}" - }, - "clone_url": { - "type": "string", - "example": "https://github.com/octocat/Hello-World.git" - }, - "mirror_url": { - "type": "string", - "format": "uri", - "example": "git:git.example.com/octocat/Hello-World", - "nullable": true - }, - "hooks_url": { - "type": "string", - "format": "uri", - "example": "http://api.github.com/repos/octocat/Hello-World/hooks" - }, - "svn_url": { - "type": "string", - "format": "uri", - "example": "https://svn.github.com/octocat/Hello-World" - }, - "homepage": { - "type": "string", - "format": "uri", - "example": "https://github.com", - "nullable": true - }, - "language": { "type": "string", "nullable": true }, - "forks_count": { "type": "integer", "example": 9 }, - "stargazers_count": { "type": "integer", "example": 80 }, - "watchers_count": { "type": "integer", "example": 80 }, - "size": { "type": "integer", "example": 108 }, - "default_branch": { "type": "string", "example": "master" }, - "open_issues_count": { "type": "integer", "example": 0 }, - "is_template": { "type": "boolean", "example": true }, - "topics": { - "type": "array", - "items": { "type": "string" }, - "example": ["octocat", "atom", "electron", "API"] - }, - "has_issues": { "type": "boolean", "example": true }, - "has_projects": { "type": "boolean", "example": true }, - "has_wiki": { "type": "boolean", "example": true }, - "has_pages": { "type": "boolean" }, - "has_downloads": { "type": "boolean", "example": true }, - "archived": { "type": "boolean" }, - "disabled": { - "type": "boolean", - "description": "Returns whether or not this repository disabled." - }, - "visibility": { - "description": "The repository visibility: public, private, or internal.", - "type": "string", - "example": "public" - }, - "pushed_at": { - "type": "string", - "format": "date-time", - "example": "2011-01-26T19:06:43Z" - }, - "created_at": { - "type": "string", - "format": "date-time", - "example": "2011-01-26T19:01:12Z" - }, - "updated_at": { - "type": "string", - "format": "date-time", - "example": "2011-01-26T19:14:43Z" - }, - "permissions": { - "type": "object", - "properties": { - "admin": { "type": "boolean" }, - "pull": { "type": "boolean" }, - "push": { "type": "boolean" } - }, - "required": ["admin", "pull", "push"] - }, - "allow_rebase_merge": { "type": "boolean", "example": true }, - "template_repository": { - "nullable": true, - "type": "object", - "allOf": [{ "$ref": "#/components/schemas/repository" }] - }, - "temp_clone_token": { "type": "string", "nullable": true }, - "allow_squash_merge": { "type": "boolean", "example": true }, - "delete_branch_on_merge": { "type": "boolean", "example": false }, - "allow_merge_commit": { "type": "boolean", "example": true }, - "subscribers_count": { "type": "integer", "example": 42 }, - "network_count": { "type": "integer", "example": 0 }, - "license": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/license-simple" }] - }, - "organization": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "parent": { "$ref": "#/components/schemas/repository" }, - "source": { "$ref": "#/components/schemas/repository" }, - "forks": { "type": "integer" }, - "master_branch": { "type": "string" }, - "open_issues": { "type": "integer" }, - "watchers": { "type": "integer" }, - "anonymous_access_enabled": { - "description": "Whether anonymous git access is allowed.", - "default": true, - "type": "boolean" - } - }, - "required": [ - "archive_url", - "assignees_url", - "blobs_url", - "branches_url", - "collaborators_url", - "comments_url", - "commits_url", - "compare_url", - "contents_url", - "contributors_url", - "deployments_url", - "description", - "downloads_url", - "events_url", - "fork", - "forks_url", - "full_name", - "git_commits_url", - "git_refs_url", - "git_tags_url", - "hooks_url", - "html_url", - "id", - "node_id", - "issue_comment_url", - "issue_events_url", - "issues_url", - "keys_url", - "labels_url", - "languages_url", - "merges_url", - "milestones_url", - "name", - "notifications_url", - "owner", - "private", - "pulls_url", - "releases_url", - "stargazers_url", - "statuses_url", - "subscribers_url", - "subscription_url", - "tags_url", - "teams_url", - "trees_url", - "url", - "clone_url", - "default_branch", - "forks", - "forks_count", - "git_url", - "has_downloads", - "has_issues", - "has_projects", - "has_wiki", - "has_pages", - "homepage", - "language", - "archived", - "disabled", - "mirror_url", - "open_issues", - "open_issues_count", - "license", - "pushed_at", - "size", - "ssh_url", - "stargazers_count", - "svn_url", - "watchers", - "watchers_count", - "created_at", - "updated_at", - "network_count", - "subscribers_count" - ] - }, - "artifact": { - "title": "Artifact", - "description": "An artifact", - "type": "object", - "properties": { - "id": { "type": "integer", "example": 5 }, - "node_id": { "type": "string", "example": "MDEwOkNoZWNrU3VpdGU1" }, - "name": { - "description": "The name of the artifact.", - "type": "string", - "example": "AdventureWorks.Framework" - }, - "size_in_bytes": { - "description": "The size in bytes of the artifact.", - "type": "integer", - "example": 12345 - }, - "url": { - "type": "string", - "example": "https://api.github.com/repos/github/hello-world/actions/artifacts/5" - }, - "archive_download_url": { - "type": "string", - "example": "https://api.github.com/repos/github/hello-world/actions/artifacts/5/zip" - }, - "expired": { - "description": "Whether or not the artifact has expired.", - "type": "boolean" - }, - "created_at": { - "type": "string", - "format": "date-time", - "nullable": true - }, - "expires_at": { "type": "string", "format": "date-time" }, - "updated_at": { - "type": "string", - "format": "date-time", - "nullable": true - } - }, - "required": [ - "id", - "node_id", - "name", - "size_in_bytes", - "url", - "archive_download_url", - "expired", - "created_at", - "expires_at", - "updated_at" - ] - }, - "job": { - "title": "Job", - "description": "Information of a job execution in a workflow run", - "type": "object", - "properties": { - "id": { - "description": "The id of the job.", - "example": 21, - "type": "integer" - }, - "run_id": { - "description": "The id of the associated workflow run.", - "example": 5, - "type": "integer" - }, - "run_url": { - "type": "string", - "example": "https://api.github.com/repos/github/hello-world/actions/runs/5" - }, - "node_id": { "type": "string", "example": "MDg6Q2hlY2tSdW40" }, - "head_sha": { - "description": "The SHA of the commit that is being run.", - "example": "009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d", - "type": "string" - }, - "url": { - "type": "string", - "example": "https://api.github.com/repos/github/hello-world/actions/jobs/21" - }, - "html_url": { - "type": "string", - "example": "https://github.com/github/hello-world/runs/4", - "nullable": true - }, - "status": { - "description": "The phase of the lifecycle that the job is currently in.", - "example": "queued", - "type": "string", - "enum": ["queued", "in_progress", "completed"] - }, - "conclusion": { - "description": "The outcome of the job.", - "example": "success", - "type": "string", - "nullable": true - }, - "started_at": { - "description": "The time that the job started, in ISO 8601 format.", - "example": "2019-08-08T08:00:00-07:00", - "format": "date-time", - "type": "string" - }, - "completed_at": { - "description": "The time that the job finished, in ISO 8601 format.", - "example": "2019-08-08T08:00:00-07:00", - "format": "date-time", - "type": "string", - "nullable": true - }, - "name": { - "description": "The name of the job.", - "example": "test-coverage", - "type": "string" - }, - "steps": { - "description": "Steps in this job.", - "type": "array", - "items": { - "type": "object", - "required": ["name", "status", "conclusion", "number"], - "properties": { - "status": { - "description": "The phase of the lifecycle that the job is currently in.", - "example": "queued", - "type": "string", - "enum": ["queued", "in_progress", "completed"] - }, - "conclusion": { - "description": "The outcome of the job.", - "example": "success", - "type": "string", - "nullable": true - }, - "name": { - "description": "The name of the job.", - "example": "test-coverage", - "type": "string" - }, - "number": { "type": "integer", "example": 1 }, - "started_at": { - "description": "The time that the step started, in ISO 8601 format.", - "example": "2019-08-08T08:00:00-07:00", - "format": "date-time", - "type": "string", - "nullable": true - }, - "completed_at": { - "description": "The time that the job finished, in ISO 8601 format.", - "example": "2019-08-08T08:00:00-07:00", - "format": "date-time", - "type": "string", - "nullable": true - } - } - } - }, - "check_run_url": { - "type": "string", - "example": "https://api.github.com/repos/github/hello-world/check-runs/4" - } - }, - "required": [ - "id", - "node_id", - "run_id", - "run_url", - "head_sha", - "name", - "url", - "html_url", - "status", - "conclusion", - "started_at", - "completed_at", - "check_run_url" - ] - }, - "actions-enabled": { - "type": "boolean", - "description": "Whether GitHub Actions is enabled on the repository." - }, - "actions-repository-permissions": { - "type": "object", - "properties": { - "enabled": { "$ref": "#/components/schemas/actions-enabled" }, - "allowed_actions": { "$ref": "#/components/schemas/allowed-actions" }, - "selected_actions_url": { - "$ref": "#/components/schemas/selected-actions-url" - } - }, - "required": ["enabled", "allowed_actions"] - }, - "pull-request-minimal": { - "title": "Pull Request Minimal", - "type": "object", - "properties": { - "id": { "type": "integer" }, - "number": { "type": "integer" }, - "url": { "type": "string" }, - "head": { - "type": "object", - "properties": { - "ref": { "type": "string" }, - "sha": { "type": "string" }, - "repo": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "url": { "type": "string" }, - "name": { "type": "string" } - }, - "required": ["id", "url", "name"] - } - }, - "required": ["ref", "sha", "repo"] - }, - "base": { - "type": "object", - "properties": { - "ref": { "type": "string" }, - "sha": { "type": "string" }, - "repo": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "url": { "type": "string" }, - "name": { "type": "string" } - }, - "required": ["id", "url", "name"] - } - }, - "required": ["ref", "sha", "repo"] - } - }, - "required": ["id", "number", "url", "head", "base"] - }, - "simple-commit": { - "title": "Simple Commit", - "description": "Simple Commit", - "type": "object", - "properties": { - "id": { "type": "string" }, - "tree_id": { "type": "string" }, - "message": { "type": "string" }, - "timestamp": { "type": "string", "format": "date-time" }, - "author": { - "type": "object", - "properties": { - "name": { "type": "string" }, - "email": { "type": "string" } - }, - "required": ["name", "email"], - "nullable": true - }, - "committer": { - "type": "object", - "properties": { - "name": { "type": "string" }, - "email": { "type": "string" } - }, - "required": ["name", "email"], - "nullable": true - } - }, - "required": [ - "id", - "tree_id", - "message", - "timestamp", - "author", - "committer" - ] - }, - "workflow-run": { - "title": "Workflow Run", - "description": "An invocation of a workflow", - "type": "object", - "properties": { - "id": { - "type": "integer", - "description": "The ID of the workflow run.", - "example": 5 - }, - "name": { - "type": "string", - "description": "The name of the workflow run.", - "example": "Build" - }, - "node_id": { "type": "string", "example": "MDEwOkNoZWNrU3VpdGU1" }, - "head_branch": { - "type": "string", - "nullable": true, - "example": "master" - }, - "head_sha": { - "description": "The SHA of the head commit that points to the version of the worflow being run.", - "example": "009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d", - "type": "string" - }, - "run_number": { - "type": "integer", - "description": "The auto incrementing run number for the workflow run.", - "example": 106 - }, - "event": { "type": "string", "example": "push" }, - "status": { - "type": "string", - "nullable": true, - "example": "completed" - }, - "conclusion": { - "type": "string", - "nullable": true, - "example": "neutral" - }, - "workflow_id": { - "type": "integer", - "description": "The ID of the parent workflow.", - "example": 5 - }, - "url": { - "type": "string", - "description": "The URL to the workflow run.", - "example": "https://api.github.com/repos/github/hello-world/actions/runs/5" - }, - "html_url": { - "type": "string", - "example": "https://github.com/github/hello-world/suites/4" - }, - "pull_requests": { - "type": "array", - "nullable": true, - "items": { "$ref": "#/components/schemas/pull-request-minimal" } - }, - "created_at": { "type": "string", "format": "date-time" }, - "updated_at": { "type": "string", "format": "date-time" }, - "jobs_url": { - "description": "The URL to the jobs for the workflow run.", - "type": "string", - "example": "https://api.github.com/repos/github/hello-world/actions/runs/5/jobs" - }, - "logs_url": { - "description": "The URL to download the logs for the workflow run.", - "type": "string", - "example": "https://api.github.com/repos/github/hello-world/actions/runs/5/logs" - }, - "check_suite_url": { - "description": "The URL to the associated check suite.", - "type": "string", - "example": "https://api.github.com/repos/github/hello-world/check-suites/12" - }, - "artifacts_url": { - "description": "The URL to the artifacts for the workflow run.", - "type": "string", - "example": "https://api.github.com/repos/github/hello-world/actions/runs/5/rerun/artifacts" - }, - "cancel_url": { - "description": "The URL to cancel the workflow run.", - "type": "string", - "example": "https://api.github.com/repos/github/hello-world/actions/runs/5/cancel" - }, - "rerun_url": { - "description": "The URL to rerun the workflow run.", - "type": "string", - "example": "https://api.github.com/repos/github/hello-world/actions/runs/5/rerun" - }, - "workflow_url": { - "description": "The URL to the workflow.", - "type": "string", - "example": "https://api.github.com/repos/github/hello-world/actions/workflows/main.yaml" - }, - "head_commit": { "$ref": "#/components/schemas/simple-commit" }, - "repository": { "$ref": "#/components/schemas/minimal-repository" }, - "head_repository": { - "$ref": "#/components/schemas/minimal-repository" - }, - "head_repository_id": { "type": "integer", "example": 5 } - }, - "required": [ - "id", - "node_id", - "head_branch", - "run_number", - "event", - "status", - "conclusion", - "head_sha", - "workflow_id", - "url", - "html_url", - "created_at", - "updated_at", - "head_commit", - "head_repository", - "repository", - "jobs_url", - "logs_url", - "check_suite_url", - "cancel_url", - "rerun_url", - "artifacts_url", - "workflow_url", - "pull_requests" - ] - }, - "workflow-run-usage": { - "title": "Workflow Run Usage", - "description": "Workflow Run Usage", - "type": "object", - "properties": { - "billable": { - "type": "object", - "properties": { - "UBUNTU": { - "type": "object", - "required": ["total_ms", "jobs"], - "properties": { - "total_ms": { "type": "integer" }, - "jobs": { "type": "integer" } - } - }, - "MACOS": { - "type": "object", - "required": ["total_ms", "jobs"], - "properties": { - "total_ms": { "type": "integer" }, - "jobs": { "type": "integer" } - } - }, - "WINDOWS": { - "type": "object", - "required": ["total_ms", "jobs"], - "properties": { - "total_ms": { "type": "integer" }, - "jobs": { "type": "integer" } - } - } - } - }, - "run_duration_ms": { "type": "integer" } - }, - "required": ["billable", "run_duration_ms"] - }, - "actions-secret": { - "title": "Actions Secret", - "description": "Set secrets for GitHub Actions.", - "type": "object", - "properties": { - "name": { - "description": "The name of the secret.", - "example": "SECRET_TOKEN", - "type": "string" - }, - "created_at": { "type": "string", "format": "date-time" }, - "updated_at": { "type": "string", "format": "date-time" } - }, - "required": ["name", "created_at", "updated_at"] - }, - "workflow": { - "title": "Workflow", - "description": "A GitHub Actions workflow", - "type": "object", - "properties": { - "id": { "type": "integer", "example": 5 }, - "node_id": { "type": "string", "example": "MDg6V29ya2Zsb3cxMg==" }, - "name": { "type": "string", "example": "CI" }, - "path": { "type": "string", "example": "ruby.yaml" }, - "state": { - "type": "string", - "example": "active", - "enum": ["active", "deleted"] - }, - "created_at": { - "type": "string", - "format": "date-time", - "example": "2019-12-06T14:20:20.000Z" - }, - "updated_at": { - "type": "string", - "format": "date-time", - "example": "2019-12-06T14:20:20.000Z" - }, - "url": { - "type": "string", - "example": "https://api.github.com/repos/actions/setup-ruby/workflows/5" - }, - "html_url": { - "type": "string", - "example": "https://github.com/actions/setup-ruby/blob/master/.github/workflows/ruby.yaml" - }, - "badge_url": { - "type": "string", - "example": "https://github.com/actions/setup-ruby/workflows/CI/badge.svg" - }, - "deleted_at": { - "type": "string", - "format": "date-time", - "example": "2019-12-06T14:20:20.000Z" - } - }, - "required": [ - "id", - "node_id", - "name", - "path", - "state", - "url", - "html_url", - "badge_url", - "created_at", - "updated_at" - ] - }, - "workflow-usage": { - "title": "Workflow Usage", - "description": "Workflow Usage", - "type": "object", - "properties": { - "billable": { - "type": "object", - "properties": { - "UBUNTU": { - "type": "object", - "properties": { "total_ms": { "type": "integer" } } - }, - "MACOS": { - "type": "object", - "properties": { "total_ms": { "type": "integer" } } - }, - "WINDOWS": { - "type": "object", - "properties": { "total_ms": { "type": "integer" } } - } - } - } - }, - "required": ["billable"] - }, - "protected-branch-admin-enforced": { - "title": "Protected Branch Admin Enforced", - "description": "Protected Branch Admin Enforced", - "type": "object", - "properties": { - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/enforce_admins" - }, - "enabled": { "type": "boolean", "example": true } - }, - "required": ["url", "enabled"] - }, - "protected-branch-pull-request-review": { - "title": "Protected Branch Pull Request Review", - "description": "Protected Branch Pull Request Review", - "type": "object", - "properties": { - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/dismissal_restrictions" - }, - "dismissal_restrictions": { - "type": "object", - "properties": { - "users": { - "description": "The list of users with review dismissal access.", - "type": "array", - "items": { "$ref": "#/components/schemas/simple-user" } - }, - "teams": { - "description": "The list of teams with review dismissal access.", - "type": "array", - "items": { "$ref": "#/components/schemas/team" } - }, - "url": { - "type": "string", - "example": "\"https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions\"" - }, - "users_url": { - "type": "string", - "example": "\"https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions/users\"" - }, - "teams_url": { - "type": "string", - "example": "\"https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions/teams\"" - } - } - }, - "dismiss_stale_reviews": { "type": "boolean", "example": true }, - "require_code_owner_reviews": { "type": "boolean", "example": true }, - "required_approving_review_count": { - "type": "integer", - "minimum": 1, - "maximum": 6, - "example": 2 - } - }, - "required": ["dismiss_stale_reviews", "require_code_owner_reviews"] - }, - "branch-restriction-policy": { - "title": "Branch Restriction Policy", - "description": "Branch Restriction Policy", - "type": "object", - "properties": { - "url": { "type": "string", "format": "uri" }, - "users_url": { "type": "string", "format": "uri" }, - "teams_url": { "type": "string", "format": "uri" }, - "apps_url": { "type": "string", "format": "uri" }, - "users": { - "type": "array", - "items": { - "type": "object", - "properties": { - "login": { "type": "string" }, - "id": { "type": "integer" }, - "node_id": { "type": "string" }, - "avatar_url": { "type": "string" }, - "gravatar_id": { "type": "string" }, - "url": { "type": "string" }, - "html_url": { "type": "string" }, - "followers_url": { "type": "string" }, - "following_url": { "type": "string" }, - "gists_url": { "type": "string" }, - "starred_url": { "type": "string" }, - "subscriptions_url": { "type": "string" }, - "organizations_url": { "type": "string" }, - "repos_url": { "type": "string" }, - "events_url": { "type": "string" }, - "received_events_url": { "type": "string" }, - "type": { "type": "string" }, - "site_admin": { "type": "boolean" } - } - } - }, - "teams": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "node_id": { "type": "string" }, - "url": { "type": "string" }, - "html_url": { "type": "string" }, - "name": { "type": "string" }, - "slug": { "type": "string" }, - "description": { "type": "string", "nullable": true }, - "privacy": { "type": "string" }, - "permission": { "type": "string" }, - "members_url": { "type": "string" }, - "repositories_url": { "type": "string" }, - "parent": { "type": "string", "nullable": true } - } - } - }, - "apps": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "slug": { "type": "string" }, - "node_id": { "type": "string" }, - "owner": { - "type": "object", - "properties": { - "login": { "type": "string" }, - "id": { "type": "integer" }, - "node_id": { "type": "string" }, - "url": { "type": "string" }, - "repos_url": { "type": "string" }, - "events_url": { "type": "string" }, - "hooks_url": { "type": "string" }, - "issues_url": { "type": "string" }, - "members_url": { "type": "string" }, - "public_members_url": { "type": "string" }, - "avatar_url": { "type": "string" }, - "description": { "type": "string" }, - "gravatar_id": { "type": "string", "example": "\"\"" }, - "html_url": { - "type": "string", - "example": "\"https://github.com/testorg-ea8ec76d71c3af4b\"" - }, - "followers_url": { - "type": "string", - "example": "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/followers\"" - }, - "following_url": { - "type": "string", - "example": "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/following{/other_user}\"" - }, - "gists_url": { - "type": "string", - "example": "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/gists{/gist_id}\"" - }, - "starred_url": { - "type": "string", - "example": "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/starred{/owner}{/repo}\"" - }, - "subscriptions_url": { - "type": "string", - "example": "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/subscriptions\"" - }, - "organizations_url": { - "type": "string", - "example": "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/orgs\"" - }, - "received_events_url": { - "type": "string", - "example": "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/received_events\"" - }, - "type": { "type": "string", "example": "\"Organization\"" } - } - }, - "name": { "type": "string" }, - "description": { "type": "string" }, - "external_url": { "type": "string" }, - "html_url": { "type": "string" }, - "created_at": { "type": "string" }, - "updated_at": { "type": "string" }, - "permissions": { - "type": "object", - "properties": { - "metadata": { "type": "string" }, - "contents": { "type": "string" }, - "issues": { "type": "string" }, - "single_file": { "type": "string" } - } - }, - "events": { "type": "array", "items": { "type": "string" } } - } - } - } - }, - "required": [ - "url", - "users_url", - "teams_url", - "apps_url", - "users", - "teams", - "apps" - ] - }, - "branch-protection": { - "title": "Branch Protection", - "description": "Branch Protection", - "type": "object", - "properties": { - "url": { "type": "string" }, - "required_status_checks": { - "type": "object", - "properties": { - "url": { "type": "string" }, - "enforcement_level": { "type": "string" }, - "contexts": { "type": "array", "items": { "type": "string" } }, - "contexts_url": { "type": "string" } - }, - "required": ["enforcement_level", "contexts"] - }, - "enforce_admins": { - "$ref": "#/components/schemas/protected-branch-admin-enforced" - }, - "required_pull_request_reviews": { - "$ref": "#/components/schemas/protected-branch-pull-request-review" - }, - "restrictions": { - "$ref": "#/components/schemas/branch-restriction-policy" - }, - "required_linear_history": { - "type": "object", - "properties": { "enabled": { "type": "boolean" } } - }, - "allow_force_pushes": { - "type": "object", - "properties": { "enabled": { "type": "boolean" } } - }, - "allow_deletions": { - "type": "object", - "properties": { "enabled": { "type": "boolean" } } - }, - "enabled": { "type": "boolean" }, - "name": { "type": "string", "example": "\"branch/with/protection\"" }, - "protection_url": { - "type": "string", - "example": "\"https://api.github.com/repos/owner-79e94e2d36b3fd06a32bb213/AAA_Public_Repo/branches/branch/with/protection/protection\"" - } - }, - "required": ["enabled", "required_status_checks"] - }, - "short-branch": { - "title": "Short Branch", - "description": "Short Branch", - "type": "object", - "properties": { - "name": { "type": "string" }, - "commit": { - "type": "object", - "properties": { - "sha": { "type": "string" }, - "url": { "type": "string", "format": "uri" } - }, - "required": ["sha", "url"] - }, - "protected": { "type": "boolean" }, - "protection": { "$ref": "#/components/schemas/branch-protection" }, - "protection_url": { "type": "string", "format": "uri" } - }, - "required": ["name", "commit", "protected"] - }, - "git-user": { - "title": "Git User", - "description": "Metaproperties for Git author/committer information.", - "type": "object", - "properties": { - "name": { "type": "string", "example": "\"Chris Wanstrath\"" }, - "email": { "type": "string", "example": "\"chris@ozmm.org\"" }, - "date": { - "type": "string", - "example": "\"2007-10-29T02:42:39.000-07:00\"" - } - } - }, - "verification": { - "title": "Verification", - "type": "object", - "properties": { - "verified": { "type": "boolean" }, - "reason": { "type": "string" }, - "payload": { "type": "string", "nullable": true }, - "signature": { "type": "string", "nullable": true } - }, - "required": ["verified", "reason", "payload", "signature"] - }, - "commit": { - "title": "Commit", - "description": "Commit", - "type": "object", - "properties": { - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e" - }, - "sha": { - "type": "string", - "example": "6dcb09b5b57875f334f61aebed695e2e4193db5e" - }, - "node_id": { - "type": "string", - "example": "MDY6Q29tbWl0NmRjYjA5YjViNTc4NzVmMzM0ZjYxYWViZWQ2OTVlMmU0MTkzZGI1ZQ==" - }, - "html_url": { - "type": "string", - "format": "uri", - "example": "https://github.com/octocat/Hello-World/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e" - }, - "comments_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e/comments" - }, - "commit": { - "type": "object", - "properties": { - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e" - }, - "author": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/git-user" }] - }, - "committer": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/git-user" }] - }, - "message": { "type": "string", "example": "Fix all the bugs" }, - "comment_count": { "type": "integer", "example": 0 }, - "tree": { - "type": "object", - "properties": { - "sha": { - "type": "string", - "example": "827efc6d56897b048c772eb4087f854f46256132" - }, - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World/tree/827efc6d56897b048c772eb4087f854f46256132" - } - }, - "required": ["sha", "url"] - }, - "verification": { "$ref": "#/components/schemas/verification" } - }, - "required": [ - "author", - "committer", - "comment_count", - "message", - "tree", - "url" - ] - }, - "author": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "committer": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "parents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "sha": { - "type": "string", - "example": "7638417db6d59f3c431d3e1f261cc637155684cd" - }, - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World/commits/7638417db6d59f3c431d3e1f261cc637155684cd" - }, - "html_url": { - "type": "string", - "format": "uri", - "example": "https://github.com/octocat/Hello-World/commit/7638417db6d59f3c431d3e1f261cc637155684cd" - } - }, - "required": ["sha", "url"] - } - }, - "stats": { - "type": "object", - "properties": { - "additions": { "type": "integer" }, - "deletions": { "type": "integer" }, - "total": { "type": "integer" } - } - }, - "files": { - "type": "array", - "items": { - "type": "object", - "properties": { - "filename": { "type": "string" }, - "additions": { "type": "integer" }, - "deletions": { "type": "integer" }, - "changes": { "type": "integer" }, - "status": { "type": "string" }, - "raw_url": { "type": "string" }, - "blob_url": { "type": "string" }, - "patch": { "type": "string" }, - "sha": { - "type": "string", - "example": "\"1e8e60ce9733d5283f7836fa602b6365a66b2567\"" - }, - "contents_url": { - "type": "string", - "example": "\"https://api.github.com/repos/owner-3d68404b07d25daeb2d4a6bf/AAA_Public_Repo/contents/geometry.js?ref=c3956841a7cb7e8ba4a6fd923568d86958f01573\"" - }, - "previous_filename": { - "type": "string", - "example": "\"subdir/before_name.txt\"" - } - } - } - } - }, - "required": [ - "url", - "sha", - "node_id", - "html_url", - "comments_url", - "commit", - "author", - "committer", - "parents" - ] - }, - "branch-with-protection": { - "title": "Branch With Protection", - "description": "Branch With Protection", - "type": "object", - "properties": { - "name": { "type": "string" }, - "commit": { "$ref": "#/components/schemas/commit" }, - "_links": { - "type": "object", - "properties": { - "html": { "type": "string" }, - "self": { "type": "string", "format": "uri" } - }, - "required": ["html", "self"] - }, - "protected": { "type": "boolean" }, - "protection": { "$ref": "#/components/schemas/branch-protection" }, - "protection_url": { "type": "string", "format": "uri" }, - "pattern": { "type": "string", "example": "\"mas*\"" }, - "required_approving_review_count": { "type": "integer", "example": 1 } - }, - "required": [ - "name", - "commit", - "_links", - "protection", - "protected", - "protection_url" - ] - }, - "status-check-policy": { - "title": "Status Check Policy", - "description": "Status Check Policy", - "type": "object", - "properties": { - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks" - }, - "strict": { "type": "boolean", "example": true }, - "contexts": { - "type": "array", - "example": ["continuous-integration/travis-ci"], - "items": { "type": "string" } - }, - "contexts_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks/contexts" - } - }, - "required": ["url", "contexts_url", "strict", "contexts"] - }, - "protected-branch": { - "title": "Protected Branch", - "description": "Branch protections protect branches", - "type": "object", - "properties": { - "url": { "type": "string", "format": "uri" }, - "required_status_checks": { - "$ref": "#/components/schemas/status-check-policy" - }, - "required_pull_request_reviews": { - "type": "object", - "properties": { - "url": { "type": "string", "format": "uri" }, - "dismiss_stale_reviews": { "type": "boolean" }, - "require_code_owner_reviews": { "type": "boolean" }, - "required_approving_review_count": { "type": "integer" }, - "dismissal_restrictions": { - "type": "object", - "properties": { - "url": { "type": "string", "format": "uri" }, - "users_url": { "type": "string", "format": "uri" }, - "teams_url": { "type": "string", "format": "uri" }, - "users": { - "type": "array", - "items": { "$ref": "#/components/schemas/simple-user" } - }, - "teams": { - "type": "array", - "items": { "$ref": "#/components/schemas/team" } - } - }, - "required": ["url", "users_url", "teams_url", "users", "teams"] - } - }, - "required": ["url"] - }, - "required_signatures": { - "type": "object", - "properties": { - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_signatures" - }, - "enabled": { "type": "boolean", "example": true } - }, - "required": ["url", "enabled"] - }, - "enforce_admins": { - "type": "object", - "properties": { - "url": { "type": "string", "format": "uri" }, - "enabled": { "type": "boolean" } - }, - "additionalProperties": false, - "required": ["url", "enabled"] - }, - "required_linear_history": { - "type": "object", - "properties": { "enabled": { "type": "boolean" } }, - "additionalProperties": false, - "required": ["enabled"] - }, - "allow_force_pushes": { - "type": "object", - "properties": { "enabled": { "type": "boolean" } }, - "additionalProperties": false, - "required": ["enabled"] - }, - "allow_deletions": { - "type": "object", - "properties": { "enabled": { "type": "boolean" } }, - "additionalProperties": false, - "required": ["enabled"] - }, - "restrictions": { - "$ref": "#/components/schemas/branch-restriction-policy" - } - }, - "required": ["url"] - }, - "check-run": { - "title": "CheckRun", - "description": "A check performed on the code of a given code change", - "type": "object", - "properties": { - "id": { - "description": "The id of the check.", - "example": 21, - "type": "integer" - }, - "head_sha": { - "description": "The SHA of the commit that is being checked.", - "example": "009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d", - "type": "string" - }, - "node_id": { "type": "string", "example": "MDg6Q2hlY2tSdW40" }, - "external_id": { - "type": "string", - "example": "42", - "nullable": true - }, - "url": { - "type": "string", - "example": "https://api.github.com/repos/github/hello-world/check-runs/4" - }, - "html_url": { - "type": "string", - "example": "https://github.com/github/hello-world/runs/4", - "nullable": true - }, - "details_url": { - "type": "string", - "example": "https://example.com", - "nullable": true - }, - "status": { - "description": "The phase of the lifecycle that the check is currently in.", - "example": "queued", - "type": "string", - "enum": ["queued", "in_progress", "completed"] - }, - "conclusion": { - "type": "string", - "example": "neutral", - "enum": [ - "success", - "failure", - "neutral", - "cancelled", - "skipped", - "timed_out", - "action_required" - ], - "nullable": true - }, - "started_at": { - "type": "string", - "format": "date-time", - "example": "2018-05-04T01:14:52Z", - "nullable": true - }, - "completed_at": { - "type": "string", - "format": "date-time", - "example": "2018-05-04T01:14:52Z", - "nullable": true - }, - "output": { - "type": "object", - "properties": { - "title": { "type": "string", "nullable": true }, - "summary": { "type": "string", "nullable": true }, - "text": { "type": "string", "nullable": true }, - "annotations_count": { "type": "integer" }, - "annotations_url": { "type": "string", "format": "uri" } - }, - "required": [ - "title", - "summary", - "text", - "annotations_count", - "annotations_url" - ] - }, - "name": { - "description": "The name of the check.", - "example": "test-coverage", - "type": "string" - }, - "check_suite": { - "type": "object", - "properties": { "id": { "type": "integer" } }, - "required": ["id"], - "nullable": true - }, - "app": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/integration" }] - }, - "pull_requests": { - "items": { "$ref": "#/components/schemas/pull-request-minimal" } - } - }, - "required": [ - "id", - "node_id", - "head_sha", - "name", - "url", - "html_url", - "details_url", - "status", - "conclusion", - "started_at", - "completed_at", - "external_id", - "check_suite", - "output", - "app", - "pull_requests" - ] - }, - "check-annotation": { - "title": "Check Annotation", - "description": "Check Annotation", - "type": "object", - "properties": { - "path": { "type": "string", "example": "README.md" }, - "start_line": { "type": "integer", "example": 2 }, - "end_line": { "type": "integer", "example": 2 }, - "start_column": { "type": "integer", "example": 5, "nullable": true }, - "end_column": { "type": "integer", "example": 10, "nullable": true }, - "annotation_level": { - "type": "string", - "example": "warning", - "nullable": true - }, - "title": { - "type": "string", - "example": "Spell Checker", - "nullable": true - }, - "message": { - "type": "string", - "example": "Check your spelling for 'banaas'.", - "nullable": true - }, - "raw_details": { - "type": "string", - "example": "Do you mean 'bananas' or 'banana'?", - "nullable": true - }, - "blob_href": { "type": "string" } - }, - "required": [ - "path", - "blob_href", - "start_line", - "end_line", - "start_column", - "end_column", - "annotation_level", - "title", - "message", - "raw_details" - ] - }, - "check-suite": { - "title": "CheckSuite", - "description": "A suite of checks performed on the code of a given code change", - "type": "object", - "properties": { - "id": { "type": "integer", "example": 5 }, - "node_id": { "type": "string", "example": "MDEwOkNoZWNrU3VpdGU1" }, - "head_branch": { - "type": "string", - "example": "master", - "nullable": true - }, - "head_sha": { - "description": "The SHA of the head commit that is being checked.", - "example": "009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d", - "type": "string" - }, - "status": { - "type": "string", - "example": "completed", - "enum": ["queued", "in_progress", "completed"], - "nullable": true - }, - "conclusion": { - "type": "string", - "example": "neutral", - "enum": [ - "success", - "failure", - "neutral", - "cancelled", - "skipped", - "timed_out", - "action_required" - ], - "nullable": true - }, - "url": { - "type": "string", - "example": "https://api.github.com/repos/github/hello-world/check-suites/5", - "nullable": true - }, - "before": { - "type": "string", - "example": "146e867f55c26428e5f9fade55a9bbf5e95a7912", - "nullable": true - }, - "after": { - "type": "string", - "example": "d6fde92930d4715a2b49857d24b940956b26d2d3", - "nullable": true - }, - "pull_requests": { - "type": "array", - "items": { "$ref": "#/components/schemas/pull-request-minimal" }, - "nullable": true - }, - "app": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/integration" }] - }, - "repository": { "$ref": "#/components/schemas/minimal-repository" }, - "created_at": { - "type": "string", - "format": "date-time", - "nullable": true - }, - "updated_at": { - "type": "string", - "format": "date-time", - "nullable": true - }, - "head_commit": { "$ref": "#/components/schemas/simple-commit" }, - "latest_check_runs_count": { "type": "integer" }, - "check_runs_url": { "type": "string" } - }, - "required": [ - "id", - "node_id", - "head_branch", - "status", - "conclusion", - "head_sha", - "url", - "before", - "after", - "created_at", - "updated_at", - "app", - "head_commit", - "repository", - "latest_check_runs_count", - "check_runs_url", - "pull_requests" - ] - }, - "check-suite-preference": { - "title": "Check Suite Preference", - "description": "Check suite configuration preferences for a repository.", - "type": "object", - "required": ["preferences", "repository"], - "properties": { - "preferences": { - "type": "object", - "properties": { - "auto_trigger_checks": { - "type": "array", - "items": { - "type": "object", - "properties": { - "app_id": { "type": "integer" }, - "setting": { "type": "boolean" } - }, - "required": ["app_id", "setting"] - } - } - } - }, - "repository": { "$ref": "#/components/schemas/repository" } - } - }, - "code-scanning-alert-state": { - "type": "string", - "description": "State of a code scanning alert.", - "enum": ["open", "dismissed", "fixed"] - }, - "code-scanning-alert-ref": { - "type": "string", - "description": "The full Git reference, formatted as `refs/heads/`." - }, - "alert-number": { - "type": "integer", - "description": "The security alert number.", - "readOnly": true, - "nullable": false - }, - "alert-created-at": { - "type": "string", - "description": "The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.", - "format": "date-time", - "readOnly": true, - "nullable": false - }, - "alert-url": { - "type": "string", - "description": "The REST API URL of the alert resource.", - "format": "uri", - "readOnly": true, - "nullable": false - }, - "alert-html-url": { - "type": "string", - "description": "The GitHub URL of the alert resource.", - "format": "uri", - "readOnly": true, - "nullable": false - }, - "code-scanning-alert-dismissed-at": { - "type": "string", - "description": "The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.", - "format": "date-time", - "readOnly": true, - "nullable": true - }, - "code-scanning-alert-dismissed-reason": { - "type": "string", - "description": "**Required when the state is dismissed.** The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`.", - "nullable": true, - "oneOf": [ - { "enum": ["false positive", "won't fix", "used in tests"] }, - { "enum": [null] } - ] - }, - "code-scanning-alert-rule": { - "type": "object", - "properties": { - "id": { - "nullable": true, - "type": "string", - "description": "A unique identifier for the rule used to detect the alert." - }, - "severity": { - "nullable": true, - "type": "string", - "description": "The severity of the alert.", - "enum": ["none", "note", "warning", "error"] - }, - "description": { - "type": "string", - "description": "A short description of the rule used to detect the alert." - } - } - }, - "code-scanning-analysis-tool-name": { - "type": "string", - "description": "The name of the tool used to generate the code scanning analysis alert." - }, - "code-scanning-analysis-tool": { - "type": "object", - "properties": { - "name": { - "$ref": "#/components/schemas/code-scanning-analysis-tool-name" - }, - "version": { - "nullable": true, - "type": "string", - "description": "The version of the tool used to detect the alert." - } - } - }, - "code-scanning-alert-code-scanning-alert-items": { - "type": "object", - "properties": { - "number": { "$ref": "#/components/schemas/alert-number" }, - "created_at": { "$ref": "#/components/schemas/alert-created-at" }, - "url": { "$ref": "#/components/schemas/alert-url" }, - "html_url": { "$ref": "#/components/schemas/alert-html-url" }, - "state": { "$ref": "#/components/schemas/code-scanning-alert-state" }, - "dismissed_by": { "$ref": "#/components/schemas/simple-user" }, - "dismissed_at": { - "$ref": "#/components/schemas/code-scanning-alert-dismissed-at" - }, - "dismissed_reason": { - "$ref": "#/components/schemas/code-scanning-alert-dismissed-reason" - }, - "rule": { "$ref": "#/components/schemas/code-scanning-alert-rule" }, - "tool": { "$ref": "#/components/schemas/code-scanning-analysis-tool" } - }, - "required": [ - "number", - "created_at", - "url", - "html_url", - "state", - "dismissed_by", - "dismissed_at", - "dismissed_reason", - "rule", - "tool" - ] - }, - "code-scanning-analysis-analysis-key": { - "type": "string", - "description": "Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name." - }, - "code-scanning-alert-environment": { - "type": "string", - "description": "Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed." - }, - "code-scanning-alert-instances": { - "nullable": true, - "type": "array", - "items": { - "properties": { - "ref": { "$ref": "#/components/schemas/code-scanning-alert-ref" }, - "analysis_key": { - "$ref": "#/components/schemas/code-scanning-analysis-analysis-key" - }, - "environment": { - "$ref": "#/components/schemas/code-scanning-alert-environment" - }, - "matrix_vars": { "nullable": true, "type": "string" }, - "state": { - "$ref": "#/components/schemas/code-scanning-alert-state" - } - } - } - }, - "code-scanning-alert-code-scanning-alert": { - "type": "object", - "properties": { - "number": { "$ref": "#/components/schemas/alert-number" }, - "created_at": { "$ref": "#/components/schemas/alert-created-at" }, - "url": { "$ref": "#/components/schemas/alert-url" }, - "html_url": { "$ref": "#/components/schemas/alert-html-url" }, - "instances": { - "$ref": "#/components/schemas/code-scanning-alert-instances" - }, - "state": { "$ref": "#/components/schemas/code-scanning-alert-state" }, - "dismissed_by": { "$ref": "#/components/schemas/simple-user" }, - "dismissed_at": { - "$ref": "#/components/schemas/code-scanning-alert-dismissed-at" - }, - "dismissed_reason": { - "$ref": "#/components/schemas/code-scanning-alert-dismissed-reason" - }, - "rule": { "$ref": "#/components/schemas/code-scanning-alert-rule" }, - "tool": { "$ref": "#/components/schemas/code-scanning-analysis-tool" } - }, - "required": [ - "instances", - "number", - "created_at", - "url", - "html_url", - "state", - "dismissed_by", - "dismissed_at", - "dismissed_reason", - "rule", - "tool" - ] - }, - "code-scanning-alert-set-state": { - "description": "Sets the state of the code scanning alert. Can be one of `open` or `dismissed`. You must provide `dismissed_reason` when you set the state to `dismissed`.", - "type": "string", - "enum": ["open", "dismissed"] - }, - "code-scanning-analysis-ref": { - "type": "string", - "description": "The full Git reference of the code scanning analysis file, formatted as `refs/heads/`." - }, - "code-scanning-analysis-commit-sha": { - "description": "The commit SHA of the code scanning analysis file.", - "type": "string", - "minLength": 40, - "maxLength": 40, - "pattern": "^[0-9a-fA-F]+$" - }, - "code-scanning-analysis-created-at": { - "type": "string", - "description": "The time that the analysis was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.", - "format": "date-time", - "readOnly": true, - "nullable": false - }, - "code-scanning-analysis-environment": { - "type": "string", - "description": "Identifies the variable values associated with the environment in which this analysis was performed." - }, - "code-scanning-analysis-code-scanning-analysis": { - "type": "object", - "properties": { - "commit_sha": { - "$ref": "#/components/schemas/code-scanning-analysis-commit-sha" - }, - "ref": { "$ref": "#/components/schemas/code-scanning-analysis-ref" }, - "analysis_key": { - "$ref": "#/components/schemas/code-scanning-analysis-analysis-key" - }, - "created_at": { - "$ref": "#/components/schemas/code-scanning-analysis-created-at" - }, - "tool_name": { - "$ref": "#/components/schemas/code-scanning-analysis-tool-name" - }, - "error": { "type": "string", "example": "error reading field xyz" }, - "environment": { - "$ref": "#/components/schemas/code-scanning-analysis-environment" - } - }, - "required": [ - "ref", - "commit_sha", - "analysis_key", - "tool_name", - "environment", - "error", - "created_at" - ] - }, - "code-scanning-analysis-sarif-file": { - "description": "A Base64 string representing the SARIF file to upload. You must first compress your SARIF file using [`gzip`](http://www.gnu.org/software/gzip/manual/gzip.html) and then translate the contents of the file into a Base64 encoding string.", - "type": "string" - }, - "collaborator": { - "title": "Collaborator", - "description": "Collaborator", - "type": "object", - "properties": { - "login": { "type": "string", "example": "octocat" }, - "id": { "type": "integer", "example": 1 }, - "node_id": { "type": "string", "example": "MDQ6VXNlcjE=" }, - "avatar_url": { - "type": "string", - "format": "uri", - "example": "https://github.com/images/error/octocat_happy.gif" - }, - "gravatar_id": { - "type": "string", - "example": "41d064eb2195891e12d0413f63227ea7", - "nullable": true - }, - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/users/octocat" - }, - "html_url": { - "type": "string", - "format": "uri", - "example": "https://github.com/octocat" - }, - "followers_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/users/octocat/followers" - }, - "following_url": { - "type": "string", - "example": "https://api.github.com/users/octocat/following{/other_user}" - }, - "gists_url": { - "type": "string", - "example": "https://api.github.com/users/octocat/gists{/gist_id}" - }, - "starred_url": { - "type": "string", - "example": "https://api.github.com/users/octocat/starred{/owner}{/repo}" - }, - "subscriptions_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/users/octocat/subscriptions" - }, - "organizations_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/users/octocat/orgs" - }, - "repos_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/users/octocat/repos" - }, - "events_url": { - "type": "string", - "example": "https://api.github.com/users/octocat/events{/privacy}" - }, - "received_events_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/users/octocat/received_events" - }, - "type": { "type": "string", "example": "User" }, - "site_admin": { "type": "boolean" }, - "permissions": { - "type": "object", - "properties": { - "pull": { "type": "boolean" }, - "push": { "type": "boolean" }, - "admin": { "type": "boolean" } - }, - "required": ["pull", "push", "admin"] - } - }, - "required": [ - "avatar_url", - "events_url", - "followers_url", - "following_url", - "gists_url", - "gravatar_id", - "html_url", - "id", - "node_id", - "login", - "organizations_url", - "received_events_url", - "repos_url", - "site_admin", - "starred_url", - "subscriptions_url", - "type", - "url" - ] - }, - "repository-invitation": { - "title": "Repository Invitation", - "description": "Repository invitations let you manage who you collaborate with.", - "type": "object", - "properties": { - "id": { - "description": "Unique identifier of the repository invitation.", - "example": 42, - "type": "integer" - }, - "repository": { "$ref": "#/components/schemas/minimal-repository" }, - "invitee": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "inviter": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "permissions": { - "description": "The permission associated with the invitation.", - "example": "read", - "type": "string", - "enum": ["read", "write", "admin"] - }, - "created_at": { - "type": "string", - "format": "date-time", - "example": "2016-06-13T14:52:50-05:00" - }, - "expired": { - "description": "Whether or not the invitation has expired", - "type": "boolean" - }, - "url": { - "description": "URL for the repository invitation", - "example": "https://api.github.com/user/repository-invitations/1", - "type": "string" - }, - "html_url": { - "type": "string", - "example": "https://github.com/octocat/Hello-World/invitations" - }, - "node_id": { "type": "string" } - }, - "required": [ - "id", - "node_id", - "permissions", - "inviter", - "invitee", - "repository", - "url", - "html_url", - "created_at" - ] - }, - "commit-comment": { - "title": "Commit Comment", - "description": "Commit Comment", - "type": "object", - "properties": { - "html_url": { "type": "string", "format": "uri" }, - "url": { "type": "string", "format": "uri" }, - "id": { "type": "integer" }, - "node_id": { "type": "string" }, - "body": { "type": "string" }, - "path": { "type": "string", "nullable": true }, - "position": { "type": "integer", "nullable": true }, - "line": { "type": "integer", "nullable": true }, - "commit_id": { "type": "string" }, - "user": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "created_at": { "type": "string", "format": "date-time" }, - "updated_at": { "type": "string", "format": "date-time" }, - "author_association": { - "$ref": "#/components/schemas/author_association" - }, - "reactions": { "$ref": "#/components/schemas/reaction-rollup" } - }, - "required": [ - "url", - "html_url", - "id", - "node_id", - "user", - "position", - "line", - "path", - "commit_id", - "body", - "author_association", - "created_at", - "updated_at" - ] - }, - "scim-error": { - "title": "Scim Error", - "description": "Scim Error", - "type": "object", - "properties": { - "message": { "type": "string", "nullable": true }, - "documentation_url": { "type": "string", "nullable": true }, - "detail": { "type": "string", "nullable": true }, - "status": { "type": "integer" }, - "scimType": { "type": "string", "nullable": true }, - "schemas": { "type": "array", "items": { "type": "string" } } - } - }, - "branch-short": { - "title": "Branch Short", - "description": "Branch Short", - "type": "object", - "properties": { - "name": { "type": "string" }, - "commit": { - "type": "object", - "properties": { - "sha": { "type": "string" }, - "url": { "type": "string" } - }, - "required": ["sha", "url"] - }, - "protected": { "type": "boolean" } - }, - "required": ["name", "commit", "protected"] - }, - "link": { - "title": "Link", - "description": "Hypermedia Link", - "type": "object", - "properties": { "href": { "type": "string" } }, - "required": ["href"] - }, - "auto_merge": { - "title": "Auto merge", - "description": "The status of auto merging a pull request.", - "type": "object", - "properties": { - "enabled_by": { "$ref": "#/components/schemas/simple-user" }, - "merge_method": { - "type": "string", - "description": "The merge method to use.", - "enum": ["merge", "squash", "rebase"] - }, - "commit_title": { - "type": "string", - "description": "Title for the merge commit message." - }, - "commit_message": { - "type": "string", - "description": "Commit message for the merge commit." - } - }, - "required": [ - "enabled_by", - "merge_method", - "commit_title", - "commit_message" - ], - "nullable": true - }, - "pull-request-simple": { - "title": "Pull Request Simple", - "description": "Pull Request Simple", - "type": "object", - "properties": { - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World/pulls/1347" - }, - "id": { "type": "integer", "example": 1 }, - "node_id": { - "type": "string", - "example": "MDExOlB1bGxSZXF1ZXN0MQ==" - }, - "html_url": { - "type": "string", - "format": "uri", - "example": "https://github.com/octocat/Hello-World/pull/1347" - }, - "diff_url": { - "type": "string", - "format": "uri", - "example": "https://github.com/octocat/Hello-World/pull/1347.diff" - }, - "patch_url": { - "type": "string", - "format": "uri", - "example": "https://github.com/octocat/Hello-World/pull/1347.patch" - }, - "issue_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World/issues/1347" - }, - "commits_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits" - }, - "review_comments_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments" - }, - "review_comment_url": { - "type": "string", - "example": "https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number}" - }, - "comments_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World/issues/1347/comments" - }, - "statuses_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e" - }, - "number": { "type": "integer", "example": 1347 }, - "state": { "type": "string", "example": "open" }, - "locked": { "type": "boolean", "example": true }, - "title": { "type": "string", "example": "new-feature" }, - "user": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "body": { - "type": "string", - "example": "Please pull these awesome changes", - "nullable": true - }, - "labels": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "node_id": { "type": "string" }, - "url": { "type": "string" }, - "name": { "type": "string" }, - "description": { "type": "string" }, - "color": { "type": "string" }, - "default": { "type": "boolean" } - } - } - }, - "milestone": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/milestone" }] - }, - "active_lock_reason": { - "type": "string", - "example": "too heated", - "nullable": true - }, - "created_at": { - "type": "string", - "format": "date-time", - "example": "2011-01-26T19:01:12Z" - }, - "updated_at": { - "type": "string", - "format": "date-time", - "example": "2011-01-26T19:01:12Z" - }, - "closed_at": { - "type": "string", - "format": "date-time", - "example": "2011-01-26T19:01:12Z", - "nullable": true - }, - "merged_at": { - "type": "string", - "format": "date-time", - "example": "2011-01-26T19:01:12Z", - "nullable": true - }, - "merge_commit_sha": { - "type": "string", - "example": "e5bd3914e2e596debea16f433f57875b5b90bcd6", - "nullable": true - }, - "assignee": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "assignees": { - "type": "array", - "items": { "$ref": "#/components/schemas/simple-user" }, - "nullable": true - }, - "requested_reviewers": { - "type": "array", - "items": { "$ref": "#/components/schemas/simple-user" }, - "nullable": true - }, - "requested_teams": { - "type": "array", - "items": { "$ref": "#/components/schemas/team-simple" }, - "nullable": true - }, - "head": { - "type": "object", - "properties": { - "label": { "type": "string" }, - "ref": { "type": "string" }, - "repo": { "$ref": "#/components/schemas/repository" }, - "sha": { "type": "string" }, - "user": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - } - }, - "required": ["label", "ref", "repo", "sha", "user"] - }, - "base": { - "type": "object", - "properties": { - "label": { "type": "string" }, - "ref": { "type": "string" }, - "repo": { "$ref": "#/components/schemas/repository" }, - "sha": { "type": "string" }, - "user": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - } - }, - "required": ["label", "ref", "repo", "sha", "user"] - }, - "_links": { - "type": "object", - "properties": { - "comments": { "$ref": "#/components/schemas/link" }, - "commits": { "$ref": "#/components/schemas/link" }, - "statuses": { "$ref": "#/components/schemas/link" }, - "html": { "$ref": "#/components/schemas/link" }, - "issue": { "$ref": "#/components/schemas/link" }, - "review_comments": { "$ref": "#/components/schemas/link" }, - "review_comment": { "$ref": "#/components/schemas/link" }, - "self": { "$ref": "#/components/schemas/link" } - }, - "required": [ - "comments", - "commits", - "statuses", - "html", - "issue", - "review_comments", - "review_comment", - "self" - ] - }, - "author_association": { - "$ref": "#/components/schemas/author_association" - }, - "auto_merge": { "$ref": "#/components/schemas/auto_merge" }, - "draft": { - "description": "Indicates whether or not the pull request is a draft.", - "example": false, - "type": "boolean" - } - }, - "required": [ - "_links", - "assignee", - "labels", - "base", - "body", - "closed_at", - "comments_url", - "commits_url", - "created_at", - "diff_url", - "head", - "html_url", - "id", - "node_id", - "issue_url", - "merge_commit_sha", - "merged_at", - "milestone", - "number", - "patch_url", - "review_comment_url", - "review_comments_url", - "statuses_url", - "state", - "locked", - "title", - "updated_at", - "url", - "user", - "author_association", - "auto_merge" - ] - }, - "simple-commit-status": { - "title": "Simple Commit Status", - "type": "object", - "properties": { - "description": { "type": "string", "nullable": true }, - "id": { "type": "integer" }, - "node_id": { "type": "string" }, - "state": { "type": "string" }, - "context": { "type": "string" }, - "target_url": { "type": "string", "format": "uri" }, - "required": { "type": "boolean", "nullable": true }, - "avatar_url": { "type": "string", "nullable": true, "format": "uri" }, - "url": { "type": "string", "format": "uri" }, - "created_at": { "type": "string", "format": "date-time" }, - "updated_at": { "type": "string", "format": "date-time" } - }, - "required": [ - "description", - "id", - "node_id", - "state", - "context", - "target_url", - "avatar_url", - "url", - "created_at", - "updated_at" - ] - }, - "combined-commit-status": { - "title": "Combined Commit Status", - "description": "Combined Commit Status", - "type": "object", - "properties": { - "state": { "type": "string" }, - "statuses": { - "type": "array", - "items": { "$ref": "#/components/schemas/simple-commit-status" } - }, - "sha": { "type": "string" }, - "total_count": { "type": "integer" }, - "repository": { "$ref": "#/components/schemas/minimal-repository" }, - "commit_url": { "type": "string", "format": "uri" }, - "url": { "type": "string", "format": "uri" } - }, - "required": [ - "state", - "sha", - "total_count", - "statuses", - "repository", - "commit_url", - "url" - ] - }, - "status": { - "title": "Status", - "description": "The status of a commit.", - "type": "object", - "properties": { - "url": { "type": "string" }, - "avatar_url": { "type": "string", "nullable": true }, - "id": { "type": "integer" }, - "node_id": { "type": "string" }, - "state": { "type": "string" }, - "description": { "type": "string" }, - "target_url": { "type": "string" }, - "context": { "type": "string" }, - "created_at": { "type": "string" }, - "updated_at": { "type": "string" }, - "creator": { "$ref": "#/components/schemas/simple-user" } - }, - "required": [ - "url", - "avatar_url", - "id", - "node_id", - "state", - "description", - "target_url", - "context", - "created_at", - "updated_at", - "creator" - ] - }, - "code-of-conduct-simple": { - "title": "Code Of Conduct Simple", - "description": "Code of Conduct Simple", - "type": "object", - "properties": { - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/codes_of_conduct/citizen_code_of_conduct" - }, - "key": { "type": "string", "example": "citizen_code_of_conduct" }, - "name": { "type": "string", "example": "Citizen Code of Conduct" }, - "html_url": { "type": "string", "nullable": true, "format": "uri" } - }, - "required": ["url", "key", "name", "html_url"] - }, - "community-health-file": { - "title": "Community Health File", - "type": "object", - "properties": { - "url": { "type": "string", "format": "uri" }, - "html_url": { "type": "string", "format": "uri" } - }, - "required": ["url", "html_url"] - }, - "community-profile": { - "title": "Community Profile", - "description": "Community Profile", - "type": "object", - "properties": { - "health_percentage": { "type": "integer", "example": 100 }, - "description": { - "type": "string", - "example": "My first repository on GitHub!", - "nullable": true - }, - "documentation": { - "type": "string", - "example": "example.com", - "nullable": true - }, - "files": { - "type": "object", - "properties": { - "code_of_conduct": { - "nullable": true, - "allOf": [ - { "$ref": "#/components/schemas/code-of-conduct-simple" } - ] - }, - "license": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/license-simple" }] - }, - "contributing": { - "nullable": true, - "allOf": [ - { "$ref": "#/components/schemas/community-health-file" } - ] - }, - "readme": { - "nullable": true, - "allOf": [ - { "$ref": "#/components/schemas/community-health-file" } - ] - }, - "issue_template": { - "nullable": true, - "allOf": [ - { "$ref": "#/components/schemas/community-health-file" } - ] - }, - "pull_request_template": { - "nullable": true, - "allOf": [ - { "$ref": "#/components/schemas/community-health-file" } - ] - } - }, - "required": [ - "code_of_conduct", - "license", - "contributing", - "readme", - "issue_template", - "pull_request_template" - ] - }, - "updated_at": { - "type": "string", - "format": "date-time", - "example": "2017-02-28T19:09:29Z", - "nullable": true - }, - "content_reports_enabled": { "type": "boolean", "example": true } - }, - "required": [ - "health_percentage", - "description", - "documentation", - "files", - "updated_at" - ] - }, - "diff-entry": { - "title": "Diff Entry", - "description": "Diff Entry", - "type": "object", - "properties": { - "sha": { - "type": "string", - "example": "bbcd538c8e72b8c175046e27cc8f907076331401" - }, - "filename": { "type": "string", "example": "file1.txt" }, - "status": { "type": "string", "example": "added" }, - "additions": { "type": "integer", "example": 103 }, - "deletions": { "type": "integer", "example": 21 }, - "changes": { "type": "integer", "example": 124 }, - "blob_url": { - "type": "string", - "format": "uri", - "example": "https://github.com/octocat/Hello-World/blob/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt" - }, - "raw_url": { - "type": "string", - "format": "uri", - "example": "https://github.com/octocat/Hello-World/raw/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt" - }, - "contents_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World/contents/file1.txt?ref=6dcb09b5b57875f334f61aebed695e2e4193db5e" - }, - "patch": { - "type": "string", - "example": "@@ -132,7 +132,7 @@ module Test @@ -1000,7 +1000,7 @@ module Test" - }, - "previous_filename": { "type": "string", "example": "file.txt" } - }, - "required": [ - "additions", - "blob_url", - "changes", - "contents_url", - "deletions", - "filename", - "raw_url", - "sha", - "status" - ] - }, - "commit-comparison": { - "title": "Commit Comparison", - "description": "Commit Comparison", - "type": "object", - "properties": { - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World/compare/master...topic" - }, - "html_url": { - "type": "string", - "format": "uri", - "example": "https://github.com/octocat/Hello-World/compare/master...topic" - }, - "permalink_url": { - "type": "string", - "format": "uri", - "example": "https://github.com/octocat/Hello-World/compare/octocat:bbcd538c8e72b8c175046e27cc8f907076331401...octocat:0328041d1152db8ae77652d1618a02e57f745f17" - }, - "diff_url": { - "type": "string", - "format": "uri", - "example": "https://github.com/octocat/Hello-World/compare/master...topic.diff" - }, - "patch_url": { - "type": "string", - "format": "uri", - "example": "https://github.com/octocat/Hello-World/compare/master...topic.patch" - }, - "base_commit": { "$ref": "#/components/schemas/commit" }, - "merge_base_commit": { "$ref": "#/components/schemas/commit" }, - "status": { - "type": "string", - "enum": ["diverged", "ahead", "behind", "identical"], - "example": "ahead" - }, - "ahead_by": { "type": "integer", "example": 4 }, - "behind_by": { "type": "integer", "example": 5 }, - "total_commits": { "type": "integer", "example": 6 }, - "commits": { - "type": "array", - "items": { "$ref": "#/components/schemas/commit" } - }, - "files": { - "type": "array", - "items": { "$ref": "#/components/schemas/diff-entry" } - } - }, - "required": [ - "url", - "html_url", - "permalink_url", - "diff_url", - "patch_url", - "base_commit", - "merge_base_commit", - "status", - "ahead_by", - "behind_by", - "total_commits", - "commits", - "files" - ] - }, - "content-tree": { - "title": "Content Tree", - "description": "Content Tree", - "type": "object", - "properties": { - "type": { "type": "string" }, - "size": { "type": "integer" }, - "name": { "type": "string" }, - "path": { "type": "string" }, - "sha": { "type": "string" }, - "url": { "type": "string", "format": "uri" }, - "git_url": { "type": "string", "format": "uri", "nullable": true }, - "html_url": { "type": "string", "format": "uri", "nullable": true }, - "download_url": { - "type": "string", - "format": "uri", - "nullable": true - }, - "entries": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { "type": "string" }, - "size": { "type": "integer" }, - "name": { "type": "string" }, - "path": { "type": "string" }, - "content": { "type": "string" }, - "sha": { "type": "string" }, - "url": { "type": "string", "format": "uri" }, - "git_url": { - "type": "string", - "format": "uri", - "nullable": true - }, - "html_url": { - "type": "string", - "format": "uri", - "nullable": true - }, - "download_url": { - "type": "string", - "format": "uri", - "nullable": true - }, - "_links": { - "type": "object", - "properties": { - "git": { - "type": "string", - "format": "uri", - "nullable": true - }, - "html": { - "type": "string", - "format": "uri", - "nullable": true - }, - "self": { "type": "string", "format": "uri" } - }, - "required": ["git", "html", "self"] - } - }, - "required": [ - "_links", - "git_url", - "html_url", - "download_url", - "name", - "path", - "sha", - "size", - "type", - "url" - ] - } - }, - "_links": { - "type": "object", - "properties": { - "git": { "type": "string", "format": "uri", "nullable": true }, - "html": { "type": "string", "format": "uri", "nullable": true }, - "self": { "type": "string", "format": "uri" } - }, - "required": ["git", "html", "self"] - } - }, - "required": [ - "_links", - "git_url", - "html_url", - "download_url", - "name", - "path", - "sha", - "size", - "type", - "url", - "content", - "encoding" - ] - }, - "content-directory": { - "title": "Content Directory", - "description": "A list of directory items", - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { "type": "string" }, - "size": { "type": "integer" }, - "name": { "type": "string" }, - "path": { "type": "string" }, - "content": { "type": "string" }, - "sha": { "type": "string" }, - "url": { "type": "string", "format": "uri" }, - "git_url": { "type": "string", "format": "uri", "nullable": true }, - "html_url": { "type": "string", "format": "uri", "nullable": true }, - "download_url": { - "type": "string", - "format": "uri", - "nullable": true - }, - "_links": { - "type": "object", - "properties": { - "git": { "type": "string", "format": "uri", "nullable": true }, - "html": { "type": "string", "format": "uri", "nullable": true }, - "self": { "type": "string", "format": "uri" } - }, - "required": ["git", "html", "self"] - } - }, - "required": [ - "_links", - "git_url", - "html_url", - "download_url", - "name", - "path", - "sha", - "size", - "type", - "url" - ] - } - }, - "content-file": { - "title": "Content File", - "description": "Content File", - "type": "object", - "properties": { - "type": { "type": "string" }, - "encoding": { "type": "string" }, - "size": { "type": "integer" }, - "name": { "type": "string" }, - "path": { "type": "string" }, - "content": { "type": "string" }, - "sha": { "type": "string" }, - "url": { "type": "string", "format": "uri" }, - "git_url": { "type": "string", "format": "uri", "nullable": true }, - "html_url": { "type": "string", "format": "uri", "nullable": true }, - "download_url": { - "type": "string", - "format": "uri", - "nullable": true - }, - "_links": { - "type": "object", - "properties": { - "git": { "type": "string", "format": "uri", "nullable": true }, - "html": { "type": "string", "format": "uri", "nullable": true }, - "self": { "type": "string", "format": "uri" } - }, - "required": ["git", "html", "self"] - }, - "target": { "type": "string", "example": "\"actual/actual.md\"" }, - "submodule_git_url": { - "type": "string", - "example": "\"git://example.com/defunkt/dotjs.git\"" - } - }, - "required": [ - "_links", - "git_url", - "html_url", - "download_url", - "name", - "path", - "sha", - "size", - "type", - "url", - "content", - "encoding" - ] - }, - "content-symlink": { - "title": "Symlink Content", - "description": "An object describing a symlink", - "type": "object", - "properties": { - "type": { "type": "string" }, - "target": { "type": "string" }, - "size": { "type": "integer" }, - "name": { "type": "string" }, - "path": { "type": "string" }, - "sha": { "type": "string" }, - "url": { "type": "string", "format": "uri" }, - "git_url": { "type": "string", "format": "uri", "nullable": true }, - "html_url": { "type": "string", "format": "uri", "nullable": true }, - "download_url": { - "type": "string", - "format": "uri", - "nullable": true - }, - "_links": { - "type": "object", - "properties": { - "git": { "type": "string", "format": "uri", "nullable": true }, - "html": { "type": "string", "format": "uri", "nullable": true }, - "self": { "type": "string", "format": "uri" } - }, - "required": ["git", "html", "self"] - } - }, - "required": [ - "_links", - "git_url", - "html_url", - "download_url", - "name", - "path", - "sha", - "size", - "type", - "url", - "target" - ] - }, - "content-submodule": { - "title": "Symlink Content", - "description": "An object describing a symlink", - "type": "object", - "properties": { - "type": { "type": "string" }, - "submodule_git_url": { "type": "string", "format": "uri" }, - "size": { "type": "integer" }, - "name": { "type": "string" }, - "path": { "type": "string" }, - "sha": { "type": "string" }, - "url": { "type": "string", "format": "uri" }, - "git_url": { "type": "string", "format": "uri", "nullable": true }, - "html_url": { "type": "string", "format": "uri", "nullable": true }, - "download_url": { - "type": "string", - "format": "uri", - "nullable": true - }, - "_links": { - "type": "object", - "properties": { - "git": { "type": "string", "format": "uri", "nullable": true }, - "html": { "type": "string", "format": "uri", "nullable": true }, - "self": { "type": "string", "format": "uri" } - }, - "required": ["git", "html", "self"] - } - }, - "required": [ - "_links", - "git_url", - "html_url", - "download_url", - "name", - "path", - "sha", - "size", - "type", - "url", - "submodule_git_url" - ] - }, - "file-commit": { - "title": "File Commit", - "description": "File Commit", - "type": "object", - "required": ["content", "commit"], - "properties": { - "content": { - "type": "object", - "properties": { - "name": { "type": "string" }, - "path": { "type": "string" }, - "sha": { "type": "string" }, - "size": { "type": "integer" }, - "url": { "type": "string" }, - "html_url": { "type": "string" }, - "git_url": { "type": "string" }, - "download_url": { "type": "string" }, - "type": { "type": "string" }, - "_links": { - "type": "object", - "properties": { - "self": { "type": "string" }, - "git": { "type": "string" }, - "html": { "type": "string" } - } - } - }, - "nullable": true - }, - "commit": { - "type": "object", - "properties": { - "sha": { "type": "string" }, - "node_id": { "type": "string" }, - "url": { "type": "string" }, - "html_url": { "type": "string" }, - "author": { - "type": "object", - "properties": { - "date": { "type": "string" }, - "name": { "type": "string" }, - "email": { "type": "string" } - } - }, - "committer": { - "type": "object", - "properties": { - "date": { "type": "string" }, - "name": { "type": "string" }, - "email": { "type": "string" } - } - }, - "message": { "type": "string" }, - "tree": { - "type": "object", - "properties": { - "url": { "type": "string" }, - "sha": { "type": "string" } - } - }, - "parents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "url": { "type": "string" }, - "html_url": { "type": "string" }, - "sha": { "type": "string" } - } - } - }, - "verification": { - "type": "object", - "properties": { - "verified": { "type": "boolean" }, - "reason": { "type": "string" }, - "signature": { "type": "string", "nullable": true }, - "payload": { "type": "string", "nullable": true } - } - } - } - } - } - }, - "contributor": { - "title": "Contributor", - "description": "Contributor", - "type": "object", - "properties": { - "login": { "type": "string" }, - "id": { "type": "integer" }, - "node_id": { "type": "string" }, - "avatar_url": { "type": "string", "format": "uri" }, - "gravatar_id": { "type": "string", "nullable": true }, - "url": { "type": "string", "format": "uri" }, - "html_url": { "type": "string", "format": "uri" }, - "followers_url": { "type": "string", "format": "uri" }, - "following_url": { "type": "string" }, - "gists_url": { "type": "string" }, - "starred_url": { "type": "string" }, - "subscriptions_url": { "type": "string", "format": "uri" }, - "organizations_url": { "type": "string", "format": "uri" }, - "repos_url": { "type": "string", "format": "uri" }, - "events_url": { "type": "string" }, - "received_events_url": { "type": "string", "format": "uri" }, - "type": { "type": "string" }, - "site_admin": { "type": "boolean" }, - "contributions": { "type": "integer" }, - "email": { "type": "string" }, - "name": { "type": "string" } - }, - "required": ["contributions", "type"] - }, - "deployment": { - "title": "Deployment", - "description": "A request for a specific ref(branch,sha,tag) to be deployed", - "type": "object", - "properties": { - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/example/deployments/1" - }, - "id": { - "description": "Unique identifier of the deployment", - "example": 42, - "type": "integer" - }, - "node_id": { "type": "string", "example": "MDEwOkRlcGxveW1lbnQx" }, - "sha": { - "type": "string", - "example": "a84d88e7554fc1fa21bcbc4efae3c782a70d2b9d" - }, - "ref": { - "description": "The ref to deploy. This can be a branch, tag, or sha.", - "example": "topic-branch", - "type": "string" - }, - "task": { - "description": "Parameter to specify a task to execute", - "example": "deploy", - "type": "string" - }, - "payload": { "type": "object", "properties": {} }, - "original_environment": { "type": "string", "example": "staging" }, - "environment": { - "description": "Name for the target deployment environment.", - "example": "production", - "type": "string" - }, - "description": { - "type": "string", - "example": "Deploy request from hubot", - "nullable": true - }, - "creator": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "created_at": { - "type": "string", - "format": "date-time", - "example": "2012-07-20T01:19:13Z" - }, - "updated_at": { - "type": "string", - "format": "date-time", - "example": "2012-07-20T01:19:13Z" - }, - "statuses_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/example/deployments/1/statuses" - }, - "repository_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/example" - }, - "transient_environment": { - "description": "Specifies if the given environment is will no longer exist at some point in the future. Default: false.", - "example": true, - "type": "boolean" - }, - "production_environment": { - "description": "Specifies if the given environment is one that end-users directly interact with. Default: false.", - "example": true, - "type": "boolean" - }, - "performed_via_github_app": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/integration" }] - } - }, - "required": [ - "id", - "node_id", - "sha", - "ref", - "task", - "environment", - "creator", - "payload", - "description", - "statuses_url", - "repository_url", - "url", - "created_at", - "updated_at" - ] - }, - "deployment-status": { - "title": "Deployment Status", - "description": "The status of a deployment.", - "type": "object", - "properties": { - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/example/deployments/42/statuses/1" - }, - "id": { "type": "integer", "example": 1 }, - "node_id": { - "type": "string", - "example": "MDE2OkRlcGxveW1lbnRTdGF0dXMx" - }, - "state": { - "description": "The state of the status.", - "enum": [ - "error", - "failure", - "inactive", - "pending", - "success", - "queued", - "in_progress" - ], - "example": "success", - "type": "string" - }, - "creator": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "description": { - "description": "A short description of the status.", - "default": "", - "type": "string", - "maxLength": 140, - "example": "Deployment finished successfully." - }, - "environment": { - "description": "The environment of the deployment that the status is for.", - "default": "", - "type": "string", - "example": "production" - }, - "target_url": { - "description": "Deprecated: the URL to associate with this status.", - "default": "", - "type": "string", - "format": "uri", - "example": "https://example.com/deployment/42/output" - }, - "created_at": { - "type": "string", - "format": "date-time", - "example": "2012-07-20T01:19:13Z" - }, - "updated_at": { - "type": "string", - "format": "date-time", - "example": "2012-07-20T01:19:13Z" - }, - "deployment_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/example/deployments/42" - }, - "repository_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/example" - }, - "environment_url": { - "description": "The URL for accessing your environment.", - "default": "", - "type": "string", - "format": "uri", - "example": "https://staging.example.com/" - }, - "log_url": { - "description": "The URL to associate with this status.", - "default": "", - "type": "string", - "format": "uri", - "example": "https://example.com/deployment/42/output" - }, - "performed_via_github_app": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/integration" }] - } - }, - "required": [ - "id", - "node_id", - "state", - "creator", - "description", - "deployment_url", - "target_url", - "repository_url", - "url", - "created_at", - "updated_at" - ] - }, - "short-blob": { - "title": "Short Blob", - "description": "Short Blob", - "type": "object", - "properties": { - "url": { "type": "string" }, - "sha": { "type": "string" } - }, - "required": ["url", "sha"] - }, - "blob": { - "title": "Blob", - "description": "Blob", - "type": "object", - "properties": { - "content": { "type": "string" }, - "encoding": { "type": "string" }, - "url": { "type": "string", "format": "uri" }, - "sha": { "type": "string" }, - "size": { "type": "integer", "nullable": true }, - "node_id": { "type": "string" }, - "highlighted_content": { "type": "string" } - }, - "required": ["sha", "url", "node_id", "size", "content", "encoding"] - }, - "git-commit": { - "title": "Git Commit", - "description": "Low-level Git commit operations within a repository", - "type": "object", - "properties": { - "sha": { - "description": "SHA for the commit", - "example": "7638417db6d59f3c431d3e1f261cc637155684cd", - "type": "string" - }, - "node_id": { "type": "string" }, - "url": { "type": "string", "format": "uri" }, - "author": { - "description": "Identifying information for the git-user", - "type": "object", - "properties": { - "date": { - "description": "Timestamp of the commit", - "example": "2014-08-09T08:02:04+12:00", - "format": "date-time", - "type": "string" - }, - "email": { - "type": "string", - "description": "Git email address of the user", - "example": "monalisa.octocat@example.com" - }, - "name": { - "description": "Name of the git user", - "example": "Monalisa Octocat", - "type": "string" - } - }, - "required": ["email", "name", "date"] - }, - "committer": { - "description": "Identifying information for the git-user", - "type": "object", - "properties": { - "date": { - "description": "Timestamp of the commit", - "example": "2014-08-09T08:02:04+12:00", - "format": "date-time", - "type": "string" - }, - "email": { - "type": "string", - "description": "Git email address of the user", - "example": "monalisa.octocat@example.com" - }, - "name": { - "description": "Name of the git user", - "example": "Monalisa Octocat", - "type": "string" - } - }, - "required": ["email", "name", "date"] - }, - "message": { - "description": "Message describing the purpose of the commit", - "example": "Fix #42", - "type": "string" - }, - "tree": { - "type": "object", - "properties": { - "sha": { - "description": "SHA for the commit", - "example": "7638417db6d59f3c431d3e1f261cc637155684cd", - "type": "string" - }, - "url": { "type": "string", "format": "uri" } - }, - "required": ["sha", "url"] - }, - "parents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "sha": { - "description": "SHA for the commit", - "example": "7638417db6d59f3c431d3e1f261cc637155684cd", - "type": "string" - }, - "url": { "type": "string", "format": "uri" }, - "html_url": { "type": "string", "format": "uri" } - }, - "required": ["sha", "url", "html_url"] - } - }, - "verification": { - "type": "object", - "properties": { - "verified": { "type": "boolean" }, - "reason": { "type": "string" }, - "signature": { "type": "string", "nullable": true }, - "payload": { "type": "string", "nullable": true } - }, - "required": ["verified", "reason", "signature", "payload"] - }, - "html_url": { "type": "string", "format": "uri" } - }, - "required": [ - "sha", - "node_id", - "url", - "html_url", - "author", - "committer", - "tree", - "message", - "parents", - "verification" - ] - }, - "git-ref": { - "title": "Git Reference", - "description": "Git references within a repository", - "type": "object", - "properties": { - "ref": { "type": "string" }, - "node_id": { "type": "string" }, - "url": { "type": "string", "format": "uri" }, - "object": { - "type": "object", - "properties": { - "type": { "type": "string" }, - "sha": { - "description": "SHA for the reference", - "example": "7638417db6d59f3c431d3e1f261cc637155684cd", - "type": "string", - "minLength": 40, - "maxLength": 40 - }, - "url": { "type": "string", "format": "uri" } - }, - "required": ["type", "sha", "url"] - } - }, - "required": ["ref", "node_id", "url", "object"] - }, - "git-tag": { - "title": "Git Tag", - "description": "Metadata for a Git tag", - "type": "object", - "properties": { - "node_id": { - "type": "string", - "example": "MDM6VGFnOTQwYmQzMzYyNDhlZmFlMGY5ZWU1YmM3YjJkNWM5ODU4ODdiMTZhYw==" - }, - "tag": { - "description": "Name of the tag", - "example": "v0.0.1", - "type": "string" - }, - "sha": { - "type": "string", - "example": "940bd336248efae0f9ee5bc7b2d5c985887b16ac" - }, - "url": { - "description": "URL for the tag", - "example": "https://api.github.com/repositories/42/git/tags/940bd336248efae0f9ee5bc7b2d5c985887b16ac", - "type": "string", - "format": "uri" - }, - "message": { - "description": "Message describing the purpose of the tag", - "example": "Initial public release", - "type": "string" - }, - "tagger": { - "type": "object", - "properties": { - "date": { "type": "string" }, - "email": { "type": "string" }, - "name": { "type": "string" } - }, - "required": ["date", "email", "name"] - }, - "object": { - "type": "object", - "properties": { - "sha": { "type": "string" }, - "type": { "type": "string" }, - "url": { "type": "string", "format": "uri" } - }, - "required": ["sha", "type", "url"] - }, - "verification": { "$ref": "#/components/schemas/verification" } - }, - "required": [ - "sha", - "url", - "node_id", - "tagger", - "object", - "tag", - "message" - ] - }, - "git-tree": { - "title": "Git Tree", - "description": "The hierarchy between files in a Git repository.", - "type": "object", - "properties": { - "sha": { "type": "string" }, - "url": { "type": "string", "format": "uri" }, - "truncated": { "type": "boolean" }, - "tree": { - "description": "Objects specifying a tree structure", - "type": "array", - "items": { - "type": "object", - "properties": { - "path": { "type": "string", "example": "test/file.rb" }, - "mode": { "type": "string", "example": "040000" }, - "type": { "type": "string", "example": "tree" }, - "sha": { - "type": "string", - "example": "23f6827669e43831def8a7ad935069c8bd418261" - }, - "size": { "type": "integer", "example": 12 }, - "url": { - "type": "string", - "example": "https://api.github.com/repos/owner-482f3203ecf01f67e9deb18e/BBB_Private_Repo/git/blobs/23f6827669e43831def8a7ad935069c8bd418261" - } - } - }, - "example": [ - { - "path": "file.rb", - "mode": "100644", - "type": "blob", - "size": 30, - "sha": "44b4fc6d56897b048c772eb4087f854f46256132", - "url": "https://api.github.com/repos/octocat/Hello-World/git/blobs/44b4fc6d56897b048c772eb4087f854f46256132", - "properties": { - "path": { "type": "string" }, - "mode": { "type": "string" }, - "type": { "type": "string" }, - "size": { "type": "integer" }, - "sha": { "type": "string" }, - "url": { "type": "string" } - }, - "required": ["path", "mode", "type", "sha", "url", "size"] - } - ] - } - }, - "required": ["sha", "url", "tree", "truncated"] - }, - "hook-response": { - "title": "Hook Response", - "type": "object", - "properties": { - "code": { "type": "integer", "nullable": true }, - "status": { "type": "string", "nullable": true }, - "message": { "type": "string", "nullable": true } - }, - "required": ["code", "status", "message"] - }, - "hook": { - "title": "Webhook", - "description": "Webhooks for repositories.", - "type": "object", - "properties": { - "type": { "type": "string" }, - "id": { - "description": "Unique identifier of the webhook.", - "example": 42, - "type": "integer" - }, - "name": { - "description": "The name of a valid service, use 'web' for a webhook.", - "example": "web", - "type": "string" - }, - "active": { - "description": "Determines whether the hook is actually triggered on pushes.", - "type": "boolean", - "example": true - }, - "events": { - "description": "Determines what events the hook is triggered for. Default: ['push'].", - "type": "array", - "items": { "type": "string" }, - "example": ["push", "pull_request"] - }, - "config": { - "type": "object", - "properties": { - "email": { "type": "string", "example": "\"foo@bar.com\"" }, - "password": { "type": "string", "example": "\"foo\"" }, - "room": { "type": "string", "example": "\"roomer\"" }, - "subdomain": { "type": "string", "example": "\"foo\"" }, - "url": { "$ref": "#/components/schemas/webhook-config-url" }, - "insecure_ssl": { - "$ref": "#/components/schemas/webhook-config-insecure-ssl" - }, - "content_type": { - "$ref": "#/components/schemas/webhook-config-content-type" - }, - "digest": { "type": "string", "example": "\"sha256\"" }, - "secret": { - "$ref": "#/components/schemas/webhook-config-secret" - }, - "token": { "type": "string", "example": "\"abc\"" } - } - }, - "updated_at": { - "type": "string", - "format": "date-time", - "example": "2011-09-06T20:39:23Z" - }, - "created_at": { - "type": "string", - "format": "date-time", - "example": "2011-09-06T17:26:27Z" - }, - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World/hooks/1" - }, - "test_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World/hooks/1/test" - }, - "ping_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World/hooks/1/pings" - }, - "last_response": { "$ref": "#/components/schemas/hook-response" } - }, - "required": [ - "id", - "url", - "type", - "name", - "active", - "events", - "config", - "ping_url", - "created_at", - "updated_at", - "last_response", - "test_url" - ] - }, - "import": { - "title": "Import", - "description": "A repository import from an external source.", - "type": "object", - "properties": { - "vcs": { "type": "string", "nullable": true }, - "use_lfs": { "type": "string" }, - "vcs_url": { - "description": "The URL of the originating repository.", - "type": "string" - }, - "svc_root": { "type": "string" }, - "tfvc_project": { "type": "string" }, - "status": { - "type": "string", - "enum": [ - "auth", - "error", - "none", - "detecting", - "choose", - "auth_failed", - "importing", - "mapping", - "waiting_to_push", - "pushing", - "complete", - "setup", - "unknown", - "detection_found_multiple", - "detection_found_nothing", - "detection_needs_auth" - ] - }, - "status_text": { "type": "string", "nullable": true }, - "failed_step": { "type": "string", "nullable": true }, - "error_message": { "type": "string", "nullable": true }, - "import_percent": { "type": "integer", "nullable": true }, - "commit_count": { "type": "integer", "nullable": true }, - "push_percent": { "type": "integer", "nullable": true }, - "has_large_files": { "type": "boolean" }, - "large_files_size": { "type": "integer" }, - "large_files_count": { "type": "integer" }, - "project_choices": { - "type": "array", - "items": { - "type": "object", - "properties": { - "vcs": { "type": "string" }, - "tfvc_project": { "type": "string" }, - "human_name": { "type": "string" } - } - } - }, - "message": { "type": "string" }, - "authors_count": { "type": "integer", "nullable": true }, - "url": { "type": "string", "format": "uri" }, - "html_url": { "type": "string", "format": "uri" }, - "authors_url": { "type": "string", "format": "uri" }, - "repository_url": { "type": "string", "format": "uri" }, - "svn_root": { "type": "string" } - }, - "required": [ - "vcs", - "vcs_url", - "status", - "url", - "repository_url", - "html_url", - "authors_url" - ] - }, - "porter-author": { - "title": "Porter Author", - "description": "Porter Author", - "type": "object", - "properties": { - "id": { "type": "integer" }, - "remote_id": { "type": "string" }, - "remote_name": { "type": "string" }, - "email": { "type": "string" }, - "name": { "type": "string" }, - "url": { "type": "string", "format": "uri" }, - "import_url": { "type": "string", "format": "uri" } - }, - "required": [ - "id", - "remote_id", - "remote_name", - "email", - "name", - "url", - "import_url" - ] - }, - "porter-large-file": { - "title": "Porter Large File", - "description": "Porter Large File", - "type": "object", - "properties": { - "ref_name": { "type": "string" }, - "path": { "type": "string" }, - "oid": { "type": "string" }, - "size": { "type": "integer" } - }, - "required": ["oid", "path", "ref_name", "size"] - }, - "issue-event-label": { - "title": "Issue Event Label", - "description": "Issue Event Label", - "type": "object", - "properties": { - "name": { "type": "string", "nullable": true }, - "color": { "type": "string", "nullable": true } - }, - "required": ["name", "color"] - }, - "issue-event-dismissed-review": { - "title": "Issue Event Dismissed Review", - "type": "object", - "properties": { - "state": { "type": "string" }, - "review_id": { "type": "integer" }, - "dismissal_message": { "type": "string", "nullable": true }, - "dismissal_commit_id": { "type": "string", "nullable": true } - }, - "required": ["state", "review_id", "dismissal_message"] - }, - "issue-event-milestone": { - "title": "Issue Event Milestone", - "description": "Issue Event Milestone", - "type": "object", - "properties": { "title": { "type": "string" } }, - "required": ["title"] - }, - "issue-event-project-card": { - "title": "Issue Event Project Card", - "description": "Issue Event Project Card", - "type": "object", - "properties": { - "url": { "type": "string", "format": "uri" }, - "id": { "type": "integer" }, - "project_url": { "type": "string", "format": "uri" }, - "project_id": { "type": "integer" }, - "column_name": { "type": "string" }, - "previous_column_name": { "type": "string" } - }, - "required": ["url", "id", "project_url", "project_id", "column_name"] - }, - "issue-event-rename": { - "title": "Issue Event Rename", - "description": "Issue Event Rename", - "type": "object", - "properties": { - "from": { "type": "string" }, - "to": { "type": "string" } - }, - "required": ["from", "to"] - }, - "issue-event": { - "title": "Issue Event", - "description": "Issue Event", - "type": "object", - "properties": { - "id": { "type": "integer", "example": 1 }, - "node_id": { "type": "string", "example": "MDEwOklzc3VlRXZlbnQx" }, - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World/issues/events/1" - }, - "actor": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "event": { "type": "string", "example": "closed" }, - "commit_id": { - "type": "string", - "example": "6dcb09b5b57875f334f61aebed695e2e4193db5e", - "nullable": true - }, - "commit_url": { - "type": "string", - "example": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e", - "nullable": true - }, - "created_at": { - "type": "string", - "format": "date-time", - "example": "2011-04-14T16:00:49Z" - }, - "issue": { "$ref": "#/components/schemas/issue-simple" }, - "label": { "$ref": "#/components/schemas/issue-event-label" }, - "assignee": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "assigner": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "review_requester": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "requested_reviewer": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "requested_team": { "$ref": "#/components/schemas/team" }, - "dismissed_review": { - "$ref": "#/components/schemas/issue-event-dismissed-review" - }, - "milestone": { "$ref": "#/components/schemas/issue-event-milestone" }, - "project_card": { - "$ref": "#/components/schemas/issue-event-project-card" - }, - "rename": { "$ref": "#/components/schemas/issue-event-rename" }, - "author_association": { - "$ref": "#/components/schemas/author_association" - }, - "lock_reason": { "type": "string", "nullable": true } - }, - "required": [ - "id", - "node_id", - "url", - "actor", - "event", - "commit_id", - "commit_url", - "created_at" - ] - }, - "issue-event-for-issue": { - "title": "Issue Event for Issue", - "description": "Issue Event for Issue", - "type": "object", - "properties": { - "id": { "type": "integer" }, - "node_id": { "type": "string" }, - "url": { "type": "string" }, - "actor": { "$ref": "#/components/schemas/simple-user" }, - "event": { "type": "string" }, - "commit_id": { "type": "string", "nullable": true }, - "commit_url": { "type": "string", "nullable": true }, - "created_at": { "type": "string" }, - "sha": { - "type": "string", - "example": "\"480d4f47447129f015cb327536c522ca683939a1\"" - }, - "html_url": { - "type": "string", - "example": "\"https://github.com/owner-3906e11a33a3d55ba449d63f/BBB_Private_Repo/commit/480d4f47447129f015cb327536c522ca683939a1\"" - }, - "message": { - "type": "string", - "example": "\"add a bunch of files\"" - }, - "issue_url": { - "type": "string", - "example": "\"https://api.github.com/repos/owner-3906e11a33a3d55ba449d63f/AAA_Public_Repo/issues/1\"" - }, - "updated_at": { - "type": "string", - "example": "\"2020-07-09T00:17:36Z\"" - }, - "author_association": { - "$ref": "#/components/schemas/author_association" - }, - "body": { "type": "string", "example": "\":+1:\"" }, - "lock_reason": { "type": "string", "example": "\"off-topic\"" }, - "submitted_at": { - "type": "string", - "example": "\"2020-07-09T00:17:51Z\"" - }, - "state": { "type": "string", "example": "\"commented\"" }, - "pull_request_url": { - "type": "string", - "example": "\"https://api.github.com/repos/owner-3906e11a33a3d55ba449d63f/AAA_Public_Repo/pulls/2\"" - }, - "body_html": { - "type": "string", - "example": "\"

Accusantium fugiat cumque. Autem qui nostrum. Atque quae ullam.

\"" - }, - "body_text": { - "type": "string", - "example": "\"Accusantium fugiat cumque. Autem qui nostrum. Atque quae ullam.\"" - } - } - }, - "deploy-key": { - "title": "Deploy Key", - "description": "An SSH key granting access to a single repository.", - "type": "object", - "properties": { - "id": { "type": "integer" }, - "key": { "type": "string" }, - "url": { "type": "string" }, - "title": { "type": "string" }, - "verified": { "type": "boolean" }, - "created_at": { "type": "string" }, - "read_only": { "type": "boolean" } - }, - "required": [ - "id", - "key", - "url", - "title", - "verified", - "created_at", - "read_only" - ] - }, - "language": { - "title": "Language", - "description": "Language", - "type": "object", - "additionalProperties": { "type": "integer" } - }, - "license-content": { - "title": "License Content", - "description": "License Content", - "type": "object", - "properties": { - "name": { "type": "string" }, - "path": { "type": "string" }, - "sha": { "type": "string" }, - "size": { "type": "integer" }, - "url": { "type": "string", "format": "uri" }, - "html_url": { "type": "string", "format": "uri", "nullable": true }, - "git_url": { "type": "string", "format": "uri", "nullable": true }, - "download_url": { - "type": "string", - "format": "uri", - "nullable": true - }, - "type": { "type": "string" }, - "content": { "type": "string" }, - "encoding": { "type": "string" }, - "_links": { - "type": "object", - "properties": { - "git": { "type": "string", "format": "uri", "nullable": true }, - "html": { "type": "string", "format": "uri", "nullable": true }, - "self": { "type": "string", "format": "uri" } - }, - "required": ["git", "html", "self"] - }, - "license": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/license-simple" }] - } - }, - "required": [ - "_links", - "git_url", - "html_url", - "download_url", - "name", - "path", - "sha", - "size", - "type", - "url", - "content", - "encoding", - "license" - ] - }, - "pages-source-hash": { - "title": "Pages Source Hash", - "type": "object", - "properties": { - "branch": { "type": "string" }, - "path": { "type": "string" } - }, - "required": ["branch", "path"] - }, - "page": { - "title": "GitHub Pages", - "description": "The configuration for GitHub Pages for a repository.", - "type": "object", - "properties": { - "url": { - "type": "string", - "description": "The API address for accessing this Page resource.", - "format": "uri", - "example": "https://api.github.com/repos/github/hello-world/pages" - }, - "status": { - "type": "string", - "description": "The status of the most recent build of the Page.", - "example": "built", - "enum": ["built", "building", "errored"], - "nullable": true - }, - "cname": { - "description": "The Pages site's custom domain", - "example": "example.com", - "type": "string", - "nullable": true - }, - "custom_404": { - "type": "boolean", - "description": "Whether the Page has a custom 404 page.", - "example": false, - "default": false - }, - "html_url": { - "type": "string", - "description": "The web address the Page can be accessed from.", - "format": "uri", - "example": "https://example.com" - }, - "source": { "$ref": "#/components/schemas/pages-source-hash" }, - "public": { - "type": "boolean", - "description": "Whether the GitHub Pages site is publicly visible. If set to `true`, the site is accessible to anyone on the internet. If set to `false`, the site will only be accessible to users who have at least `read` access to the repository that published the site.", - "example": true - } - }, - "required": ["url", "status", "cname", "custom_404", "public"] - }, - "page-build": { - "title": "Page Build", - "description": "Page Build", - "type": "object", - "properties": { - "url": { "type": "string", "format": "uri" }, - "status": { "type": "string" }, - "error": { - "type": "object", - "properties": { "message": { "type": "string", "nullable": true } }, - "required": ["message"] - }, - "pusher": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "commit": { "type": "string" }, - "duration": { "type": "integer" }, - "created_at": { "type": "string", "format": "date-time" }, - "updated_at": { "type": "string", "format": "date-time" } - }, - "required": [ - "url", - "status", - "error", - "pusher", - "commit", - "duration", - "created_at", - "updated_at" - ] - }, - "page-build-status": { - "title": "Page Build Status", - "description": "Page Build Status", - "type": "object", - "properties": { - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/github/hello-world/pages/builds/latest" - }, - "status": { "type": "string", "example": "queued" } - }, - "required": ["url", "status"] - }, - "pull-request": { - "type": "object", - "title": "Pull Request", - "description": "Pull requests let you tell others about changes you've pushed to a repository on GitHub. Once a pull request is sent, interested parties can review the set of changes, discuss potential modifications, and even push follow-up commits if necessary.", - "properties": { - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World/pulls/1347" - }, - "id": { "type": "integer", "example": 1 }, - "node_id": { - "type": "string", - "example": "MDExOlB1bGxSZXF1ZXN0MQ==" - }, - "html_url": { - "type": "string", - "format": "uri", - "example": "https://github.com/octocat/Hello-World/pull/1347" - }, - "diff_url": { - "type": "string", - "format": "uri", - "example": "https://github.com/octocat/Hello-World/pull/1347.diff" - }, - "patch_url": { - "type": "string", - "format": "uri", - "example": "https://github.com/octocat/Hello-World/pull/1347.patch" - }, - "issue_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World/issues/1347" - }, - "commits_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits" - }, - "review_comments_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments" - }, - "review_comment_url": { - "type": "string", - "example": "https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number}" - }, - "comments_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World/issues/1347/comments" - }, - "statuses_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e" - }, - "number": { - "description": "Number uniquely identifying the pull request within its repository.", - "example": 42, - "type": "integer" - }, - "state": { - "description": "State of this Pull Request. Either `open` or `closed`.", - "enum": ["open", "closed"], - "example": "open", - "type": "string" - }, - "locked": { "type": "boolean", "example": true }, - "title": { - "description": "The title of the pull request.", - "example": "Amazing new feature", - "type": "string" - }, - "user": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "body": { - "type": "string", - "example": "Please pull these awesome changes", - "nullable": true - }, - "labels": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "node_id": { "type": "string" }, - "url": { "type": "string" }, - "name": { "type": "string" }, - "description": { "type": "string", "nullable": true }, - "color": { "type": "string" }, - "default": { "type": "boolean" } - } - } - }, - "milestone": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/milestone" }] - }, - "active_lock_reason": { - "type": "string", - "example": "too heated", - "nullable": true - }, - "created_at": { - "type": "string", - "format": "date-time", - "example": "2011-01-26T19:01:12Z" - }, - "updated_at": { - "type": "string", - "format": "date-time", - "example": "2011-01-26T19:01:12Z" - }, - "closed_at": { - "type": "string", - "format": "date-time", - "example": "2011-01-26T19:01:12Z", - "nullable": true - }, - "merged_at": { - "type": "string", - "format": "date-time", - "example": "2011-01-26T19:01:12Z", - "nullable": true - }, - "merge_commit_sha": { - "type": "string", - "example": "e5bd3914e2e596debea16f433f57875b5b90bcd6", - "nullable": true - }, - "assignee": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "assignees": { - "type": "array", - "items": { "$ref": "#/components/schemas/simple-user" }, - "nullable": true - }, - "requested_reviewers": { - "type": "array", - "items": { "$ref": "#/components/schemas/simple-user" }, - "nullable": true - }, - "requested_teams": { - "type": "array", - "items": { "$ref": "#/components/schemas/team-simple" }, - "nullable": true - }, - "head": { - "type": "object", - "properties": { - "label": { "type": "string" }, - "ref": { "type": "string" }, - "repo": { - "type": "object", - "properties": { - "archive_url": { "type": "string" }, - "assignees_url": { "type": "string" }, - "blobs_url": { "type": "string" }, - "branches_url": { "type": "string" }, - "collaborators_url": { "type": "string" }, - "comments_url": { "type": "string" }, - "commits_url": { "type": "string" }, - "compare_url": { "type": "string" }, - "contents_url": { "type": "string" }, - "contributors_url": { "type": "string", "format": "uri" }, - "deployments_url": { "type": "string", "format": "uri" }, - "description": { "type": "string", "nullable": true }, - "downloads_url": { "type": "string", "format": "uri" }, - "events_url": { "type": "string", "format": "uri" }, - "fork": { "type": "boolean" }, - "forks_url": { "type": "string", "format": "uri" }, - "full_name": { "type": "string" }, - "git_commits_url": { "type": "string" }, - "git_refs_url": { "type": "string" }, - "git_tags_url": { "type": "string" }, - "hooks_url": { "type": "string", "format": "uri" }, - "html_url": { "type": "string", "format": "uri" }, - "id": { "type": "integer" }, - "node_id": { "type": "string" }, - "issue_comment_url": { "type": "string" }, - "issue_events_url": { "type": "string" }, - "issues_url": { "type": "string" }, - "keys_url": { "type": "string" }, - "labels_url": { "type": "string" }, - "languages_url": { "type": "string", "format": "uri" }, - "merges_url": { "type": "string", "format": "uri" }, - "milestones_url": { "type": "string" }, - "name": { "type": "string" }, - "notifications_url": { "type": "string" }, - "owner": { - "type": "object", - "properties": { - "avatar_url": { "type": "string", "format": "uri" }, - "events_url": { "type": "string" }, - "followers_url": { "type": "string", "format": "uri" }, - "following_url": { "type": "string" }, - "gists_url": { "type": "string" }, - "gravatar_id": { "type": "string", "nullable": true }, - "html_url": { "type": "string", "format": "uri" }, - "id": { "type": "integer" }, - "node_id": { "type": "string" }, - "login": { "type": "string" }, - "organizations_url": { - "type": "string", - "format": "uri" - }, - "received_events_url": { - "type": "string", - "format": "uri" - }, - "repos_url": { "type": "string", "format": "uri" }, - "site_admin": { "type": "boolean" }, - "starred_url": { "type": "string" }, - "subscriptions_url": { - "type": "string", - "format": "uri" - }, - "type": { "type": "string" }, - "url": { "type": "string", "format": "uri" } - }, - "required": [ - "avatar_url", - "events_url", - "followers_url", - "following_url", - "gists_url", - "gravatar_id", - "html_url", - "id", - "node_id", - "login", - "organizations_url", - "received_events_url", - "repos_url", - "site_admin", - "starred_url", - "subscriptions_url", - "type", - "url" - ] - }, - "private": { "type": "boolean" }, - "pulls_url": { "type": "string" }, - "releases_url": { "type": "string" }, - "stargazers_url": { "type": "string", "format": "uri" }, - "statuses_url": { "type": "string" }, - "subscribers_url": { "type": "string", "format": "uri" }, - "subscription_url": { "type": "string", "format": "uri" }, - "tags_url": { "type": "string", "format": "uri" }, - "teams_url": { "type": "string", "format": "uri" }, - "trees_url": { "type": "string" }, - "url": { "type": "string", "format": "uri" }, - "clone_url": { "type": "string" }, - "default_branch": { "type": "string" }, - "forks": { "type": "integer" }, - "forks_count": { "type": "integer" }, - "git_url": { "type": "string" }, - "has_downloads": { "type": "boolean" }, - "has_issues": { "type": "boolean" }, - "has_projects": { "type": "boolean" }, - "has_wiki": { "type": "boolean" }, - "has_pages": { "type": "boolean" }, - "homepage": { - "type": "string", - "format": "uri", - "nullable": true - }, - "language": { "type": "string", "nullable": true }, - "master_branch": { "type": "string" }, - "archived": { "type": "boolean" }, - "disabled": { "type": "boolean" }, - "mirror_url": { - "type": "string", - "format": "uri", - "nullable": true - }, - "open_issues": { "type": "integer" }, - "open_issues_count": { "type": "integer" }, - "permissions": { - "type": "object", - "properties": { - "admin": { "type": "boolean" }, - "pull": { "type": "boolean" }, - "push": { "type": "boolean" } - }, - "required": ["admin", "pull", "push"] - }, - "temp_clone_token": { "type": "string" }, - "allow_merge_commit": { "type": "boolean" }, - "allow_squash_merge": { "type": "boolean" }, - "allow_rebase_merge": { "type": "boolean" }, - "license": { - "type": "object", - "properties": { - "key": { "type": "string" }, - "name": { "type": "string" }, - "url": { - "type": "string", - "format": "uri", - "nullable": true - }, - "spdx_id": { "type": "string", "nullable": true }, - "node_id": { "type": "string" } - }, - "required": ["key", "name", "url", "spdx_id", "node_id"], - "nullable": true - }, - "pushed_at": { "type": "string", "format": "date-time" }, - "size": { "type": "integer" }, - "ssh_url": { "type": "string" }, - "stargazers_count": { "type": "integer" }, - "svn_url": { "type": "string", "format": "uri" }, - "topics": { "type": "array", "items": { "type": "string" } }, - "watchers": { "type": "integer" }, - "watchers_count": { "type": "integer" }, - "created_at": { "type": "string", "format": "date-time" }, - "updated_at": { "type": "string", "format": "date-time" } - }, - "required": [ - "archive_url", - "assignees_url", - "blobs_url", - "branches_url", - "collaborators_url", - "comments_url", - "commits_url", - "compare_url", - "contents_url", - "contributors_url", - "deployments_url", - "description", - "downloads_url", - "events_url", - "fork", - "forks_url", - "full_name", - "git_commits_url", - "git_refs_url", - "git_tags_url", - "hooks_url", - "html_url", - "id", - "node_id", - "issue_comment_url", - "issue_events_url", - "issues_url", - "keys_url", - "labels_url", - "languages_url", - "merges_url", - "milestones_url", - "name", - "notifications_url", - "owner", - "private", - "pulls_url", - "releases_url", - "stargazers_url", - "statuses_url", - "subscribers_url", - "subscription_url", - "tags_url", - "teams_url", - "trees_url", - "url", - "clone_url", - "default_branch", - "forks", - "forks_count", - "git_url", - "has_downloads", - "has_issues", - "has_projects", - "has_wiki", - "has_pages", - "homepage", - "language", - "archived", - "disabled", - "mirror_url", - "open_issues", - "open_issues_count", - "license", - "pushed_at", - "size", - "ssh_url", - "stargazers_count", - "svn_url", - "watchers", - "watchers_count", - "created_at", - "updated_at" - ] - }, - "sha": { "type": "string" }, - "user": { - "type": "object", - "properties": { - "avatar_url": { "type": "string", "format": "uri" }, - "events_url": { "type": "string" }, - "followers_url": { "type": "string", "format": "uri" }, - "following_url": { "type": "string" }, - "gists_url": { "type": "string" }, - "gravatar_id": { "type": "string", "nullable": true }, - "html_url": { "type": "string", "format": "uri" }, - "id": { "type": "integer" }, - "node_id": { "type": "string" }, - "login": { "type": "string" }, - "organizations_url": { "type": "string", "format": "uri" }, - "received_events_url": { "type": "string", "format": "uri" }, - "repos_url": { "type": "string", "format": "uri" }, - "site_admin": { "type": "boolean" }, - "starred_url": { "type": "string" }, - "subscriptions_url": { "type": "string", "format": "uri" }, - "type": { "type": "string" }, - "url": { "type": "string", "format": "uri" } - }, - "required": [ - "avatar_url", - "events_url", - "followers_url", - "following_url", - "gists_url", - "gravatar_id", - "html_url", - "id", - "node_id", - "login", - "organizations_url", - "received_events_url", - "repos_url", - "site_admin", - "starred_url", - "subscriptions_url", - "type", - "url" - ] - } - }, - "required": ["label", "ref", "repo", "sha", "user"] - }, - "base": { - "type": "object", - "properties": { - "label": { "type": "string" }, - "ref": { "type": "string" }, - "repo": { - "type": "object", - "properties": { - "archive_url": { "type": "string" }, - "assignees_url": { "type": "string" }, - "blobs_url": { "type": "string" }, - "branches_url": { "type": "string" }, - "collaborators_url": { "type": "string" }, - "comments_url": { "type": "string" }, - "commits_url": { "type": "string" }, - "compare_url": { "type": "string" }, - "contents_url": { "type": "string" }, - "contributors_url": { "type": "string", "format": "uri" }, - "deployments_url": { "type": "string", "format": "uri" }, - "description": { "type": "string", "nullable": true }, - "downloads_url": { "type": "string", "format": "uri" }, - "events_url": { "type": "string", "format": "uri" }, - "fork": { "type": "boolean" }, - "forks_url": { "type": "string", "format": "uri" }, - "full_name": { "type": "string" }, - "git_commits_url": { "type": "string" }, - "git_refs_url": { "type": "string" }, - "git_tags_url": { "type": "string" }, - "hooks_url": { "type": "string", "format": "uri" }, - "html_url": { "type": "string", "format": "uri" }, - "id": { "type": "integer" }, - "node_id": { "type": "string" }, - "issue_comment_url": { "type": "string" }, - "issue_events_url": { "type": "string" }, - "issues_url": { "type": "string" }, - "keys_url": { "type": "string" }, - "labels_url": { "type": "string" }, - "languages_url": { "type": "string", "format": "uri" }, - "merges_url": { "type": "string", "format": "uri" }, - "milestones_url": { "type": "string" }, - "name": { "type": "string" }, - "notifications_url": { "type": "string" }, - "owner": { - "type": "object", - "properties": { - "avatar_url": { "type": "string", "format": "uri" }, - "events_url": { "type": "string" }, - "followers_url": { "type": "string", "format": "uri" }, - "following_url": { "type": "string" }, - "gists_url": { "type": "string" }, - "gravatar_id": { "type": "string", "nullable": true }, - "html_url": { "type": "string", "format": "uri" }, - "id": { "type": "integer" }, - "node_id": { "type": "string" }, - "login": { "type": "string" }, - "organizations_url": { - "type": "string", - "format": "uri" - }, - "received_events_url": { - "type": "string", - "format": "uri" - }, - "repos_url": { "type": "string", "format": "uri" }, - "site_admin": { "type": "boolean" }, - "starred_url": { "type": "string" }, - "subscriptions_url": { - "type": "string", - "format": "uri" - }, - "type": { "type": "string" }, - "url": { "type": "string", "format": "uri" } - }, - "required": [ - "avatar_url", - "events_url", - "followers_url", - "following_url", - "gists_url", - "gravatar_id", - "html_url", - "id", - "node_id", - "login", - "organizations_url", - "received_events_url", - "repos_url", - "site_admin", - "starred_url", - "subscriptions_url", - "type", - "url" - ] - }, - "private": { "type": "boolean" }, - "pulls_url": { "type": "string" }, - "releases_url": { "type": "string" }, - "stargazers_url": { "type": "string", "format": "uri" }, - "statuses_url": { "type": "string" }, - "subscribers_url": { "type": "string", "format": "uri" }, - "subscription_url": { "type": "string", "format": "uri" }, - "tags_url": { "type": "string", "format": "uri" }, - "teams_url": { "type": "string", "format": "uri" }, - "trees_url": { "type": "string" }, - "url": { "type": "string", "format": "uri" }, - "clone_url": { "type": "string" }, - "default_branch": { "type": "string" }, - "forks": { "type": "integer" }, - "forks_count": { "type": "integer" }, - "git_url": { "type": "string" }, - "has_downloads": { "type": "boolean" }, - "has_issues": { "type": "boolean" }, - "has_projects": { "type": "boolean" }, - "has_wiki": { "type": "boolean" }, - "has_pages": { "type": "boolean" }, - "homepage": { - "type": "string", - "format": "uri", - "nullable": true - }, - "language": { "type": "string", "nullable": true }, - "master_branch": { "type": "string" }, - "archived": { "type": "boolean" }, - "disabled": { "type": "boolean" }, - "mirror_url": { - "type": "string", - "format": "uri", - "nullable": true - }, - "open_issues": { "type": "integer" }, - "open_issues_count": { "type": "integer" }, - "permissions": { - "type": "object", - "properties": { - "admin": { "type": "boolean" }, - "pull": { "type": "boolean" }, - "push": { "type": "boolean" } - }, - "required": ["admin", "pull", "push"] - }, - "temp_clone_token": { "type": "string" }, - "allow_merge_commit": { "type": "boolean" }, - "allow_squash_merge": { "type": "boolean" }, - "allow_rebase_merge": { "type": "boolean" }, - "license": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/license-simple" }] - }, - "pushed_at": { "type": "string", "format": "date-time" }, - "size": { "type": "integer" }, - "ssh_url": { "type": "string" }, - "stargazers_count": { "type": "integer" }, - "svn_url": { "type": "string", "format": "uri" }, - "topics": { "type": "array", "items": { "type": "string" } }, - "watchers": { "type": "integer" }, - "watchers_count": { "type": "integer" }, - "created_at": { "type": "string", "format": "date-time" }, - "updated_at": { "type": "string", "format": "date-time" } - }, - "required": [ - "archive_url", - "assignees_url", - "blobs_url", - "branches_url", - "collaborators_url", - "comments_url", - "commits_url", - "compare_url", - "contents_url", - "contributors_url", - "deployments_url", - "description", - "downloads_url", - "events_url", - "fork", - "forks_url", - "full_name", - "git_commits_url", - "git_refs_url", - "git_tags_url", - "hooks_url", - "html_url", - "id", - "node_id", - "issue_comment_url", - "issue_events_url", - "issues_url", - "keys_url", - "labels_url", - "languages_url", - "merges_url", - "milestones_url", - "name", - "notifications_url", - "owner", - "private", - "pulls_url", - "releases_url", - "stargazers_url", - "statuses_url", - "subscribers_url", - "subscription_url", - "tags_url", - "teams_url", - "trees_url", - "url", - "clone_url", - "default_branch", - "forks", - "forks_count", - "git_url", - "has_downloads", - "has_issues", - "has_projects", - "has_wiki", - "has_pages", - "homepage", - "language", - "archived", - "disabled", - "mirror_url", - "open_issues", - "open_issues_count", - "license", - "pushed_at", - "size", - "ssh_url", - "stargazers_count", - "svn_url", - "watchers", - "watchers_count", - "created_at", - "updated_at" - ] - }, - "sha": { "type": "string" }, - "user": { - "type": "object", - "properties": { - "avatar_url": { "type": "string", "format": "uri" }, - "events_url": { "type": "string" }, - "followers_url": { "type": "string", "format": "uri" }, - "following_url": { "type": "string" }, - "gists_url": { "type": "string" }, - "gravatar_id": { "type": "string", "nullable": true }, - "html_url": { "type": "string", "format": "uri" }, - "id": { "type": "integer" }, - "node_id": { "type": "string" }, - "login": { "type": "string" }, - "organizations_url": { "type": "string", "format": "uri" }, - "received_events_url": { "type": "string", "format": "uri" }, - "repos_url": { "type": "string", "format": "uri" }, - "site_admin": { "type": "boolean" }, - "starred_url": { "type": "string" }, - "subscriptions_url": { "type": "string", "format": "uri" }, - "type": { "type": "string" }, - "url": { "type": "string", "format": "uri" } - }, - "required": [ - "avatar_url", - "events_url", - "followers_url", - "following_url", - "gists_url", - "gravatar_id", - "html_url", - "id", - "node_id", - "login", - "organizations_url", - "received_events_url", - "repos_url", - "site_admin", - "starred_url", - "subscriptions_url", - "type", - "url" - ] - } - }, - "required": ["label", "ref", "repo", "sha", "user"] - }, - "_links": { - "type": "object", - "properties": { - "comments": { "$ref": "#/components/schemas/link" }, - "commits": { "$ref": "#/components/schemas/link" }, - "statuses": { "$ref": "#/components/schemas/link" }, - "html": { "$ref": "#/components/schemas/link" }, - "issue": { "$ref": "#/components/schemas/link" }, - "review_comments": { "$ref": "#/components/schemas/link" }, - "review_comment": { "$ref": "#/components/schemas/link" }, - "self": { "$ref": "#/components/schemas/link" } - }, - "required": [ - "comments", - "commits", - "statuses", - "html", - "issue", - "review_comments", - "review_comment", - "self" - ] - }, - "author_association": { - "$ref": "#/components/schemas/author_association" - }, - "auto_merge": { "$ref": "#/components/schemas/auto_merge" }, - "draft": { - "description": "Indicates whether or not the pull request is a draft.", - "example": false, - "type": "boolean" - }, - "merged": { "type": "boolean" }, - "mergeable": { "type": "boolean", "example": true, "nullable": true }, - "rebaseable": { - "type": "boolean", - "example": true, - "nullable": true - }, - "mergeable_state": { "type": "string", "example": "clean" }, - "merged_by": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "comments": { "type": "integer", "example": 10 }, - "review_comments": { "type": "integer", "example": 0 }, - "maintainer_can_modify": { - "description": "Indicates whether maintainers can modify the pull request.", - "example": true, - "type": "boolean" - }, - "commits": { "type": "integer", "example": 3 }, - "additions": { "type": "integer", "example": 100 }, - "deletions": { "type": "integer", "example": 3 }, - "changed_files": { "type": "integer", "example": 5 } - }, - "required": [ - "_links", - "assignee", - "labels", - "base", - "body", - "closed_at", - "comments_url", - "commits_url", - "created_at", - "diff_url", - "head", - "html_url", - "id", - "node_id", - "issue_url", - "merge_commit_sha", - "merged_at", - "milestone", - "number", - "patch_url", - "review_comment_url", - "review_comments_url", - "statuses_url", - "state", - "locked", - "title", - "updated_at", - "url", - "user", - "author_association", - "auto_merge", - "additions", - "changed_files", - "comments", - "commits", - "deletions", - "mergeable", - "mergeable_state", - "merged", - "maintainer_can_modify", - "merged_by", - "review_comments" - ] - }, - "pull-request-review-comment": { - "title": "Pull Request Review Comment", - "description": "Pull Request Review Comments are comments on a portion of the Pull Request's diff.", - "type": "object", - "properties": { - "url": { - "description": "URL for the pull request review comment", - "example": "https://api.github.com/repos/octocat/Hello-World/pulls/comments/1", - "type": "string" - }, - "pull_request_review_id": { - "description": "The ID of the pull request review to which the comment belongs.", - "example": 42, - "type": "integer", - "nullable": true - }, - "id": { - "description": "The ID of the pull request review comment.", - "example": 1, - "type": "integer" - }, - "node_id": { - "description": "The node ID of the pull request review comment.", - "type": "string", - "example": "MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDEw" - }, - "diff_hunk": { - "description": "The diff of the line that the comment refers to.", - "type": "string", - "example": "@@ -16,33 +16,40 @@ public class Connection : IConnection..." - }, - "path": { - "description": "The relative path of the file to which the comment applies.", - "example": "config/database.yaml", - "type": "string" - }, - "position": { - "description": "The line index in the diff to which the comment applies.", - "example": 1, - "type": "integer" - }, - "original_position": { - "description": "The index of the original line in the diff to which the comment applies.", - "example": 4, - "type": "integer" - }, - "commit_id": { - "description": "The SHA of the commit to which the comment applies.", - "example": "6dcb09b5b57875f334f61aebed695e2e4193db5e", - "type": "string" - }, - "original_commit_id": { - "description": "The SHA of the original commit to which the comment applies.", - "example": "9c48853fa3dc5c1c3d6f1f1cd1f2743e72652840", - "type": "string" - }, - "in_reply_to_id": { - "description": "The comment ID to reply to.", - "example": 8, - "type": "integer" - }, - "user": { "$ref": "#/components/schemas/simple-user" }, - "body": { - "description": "The text of the comment.", - "example": "We should probably include a check for null values here.", - "type": "string" - }, - "created_at": { - "type": "string", - "format": "date-time", - "example": "2011-04-14T16:00:49Z" - }, - "updated_at": { - "type": "string", - "format": "date-time", - "example": "2011-04-14T16:00:49Z" - }, - "html_url": { - "description": "HTML URL for the pull request review comment.", - "type": "string", - "format": "uri", - "example": "https://github.com/octocat/Hello-World/pull/1#discussion-diff-1" - }, - "pull_request_url": { - "description": "URL for the pull request that the review comment belongs to.", - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World/pulls/1" - }, - "author_association": { - "$ref": "#/components/schemas/author_association" - }, - "_links": { - "type": "object", - "properties": { - "self": { - "type": "object", - "properties": { - "href": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World/pulls/comments/1" - } - }, - "required": ["href"] - }, - "html": { - "type": "object", - "properties": { - "href": { - "type": "string", - "format": "uri", - "example": "https://github.com/octocat/Hello-World/pull/1#discussion-diff-1" - } - }, - "required": ["href"] - }, - "pull_request": { - "type": "object", - "properties": { - "href": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World/pulls/1" - } - }, - "required": ["href"] - } - }, - "required": ["self", "html", "pull_request"] - }, - "start_line": { - "type": "integer", - "description": "The first line of the range for a multi-line comment.", - "example": 2, - "nullable": true - }, - "original_start_line": { - "type": "integer", - "description": "The first line of the range for a multi-line comment.", - "example": 2, - "nullable": true - }, - "start_side": { - "type": "string", - "description": "The side of the first line of the range for a multi-line comment.", - "enum": ["LEFT", "RIGHT"], - "default": "RIGHT", - "nullable": true - }, - "line": { - "description": "The line of the blob to which the comment applies. The last line of the range for a multi-line comment", - "example": 2, - "type": "integer" - }, - "original_line": { - "description": "The line of the blob to which the comment applies. The last line of the range for a multi-line comment", - "example": 2, - "type": "integer" - }, - "side": { - "description": "The side of the diff to which the comment applies. The side of the last line of the range for a multi-line comment", - "enum": ["LEFT", "RIGHT"], - "default": "RIGHT", - "type": "string" - }, - "reactions": { "$ref": "#/components/schemas/reaction-rollup" }, - "body_html": { - "type": "string", - "example": "\"

comment body

\"" - }, - "body_text": { "type": "string", "example": "\"comment body\"" } - }, - "required": [ - "url", - "id", - "node_id", - "pull_request_review_id", - "diff_hunk", - "path", - "position", - "original_position", - "commit_id", - "original_commit_id", - "user", - "body", - "created_at", - "updated_at", - "html_url", - "pull_request_url", - "author_association", - "_links" - ] - }, - "pull-request-merge-result": { - "title": "Pull Request Merge Result", - "description": "Pull Request Merge Result", - "type": "object", - "properties": { - "sha": { "type": "string" }, - "merged": { "type": "boolean" }, - "message": { "type": "string" } - }, - "required": ["merged", "message", "sha"] - }, - "pull-request-review-request": { - "title": "Pull Request Review Request", - "description": "Pull Request Review Request", - "type": "object", - "properties": { - "users": { - "type": "array", - "items": { "$ref": "#/components/schemas/simple-user" } - }, - "teams": { - "type": "array", - "items": { "$ref": "#/components/schemas/team-simple" } - } - }, - "required": ["users", "teams"] - }, - "pull-request-review": { - "title": "Pull Request Review", - "description": "Pull Request Reviews are reviews on pull requests.", - "type": "object", - "properties": { - "id": { - "description": "Unique identifier of the review", - "example": 42, - "type": "integer" - }, - "node_id": { - "type": "string", - "example": "MDE3OlB1bGxSZXF1ZXN0UmV2aWV3ODA=" - }, - "user": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "body": { - "description": "The text of the review.", - "example": "This looks great.", - "type": "string" - }, - "state": { "type": "string", "example": "CHANGES_REQUESTED" }, - "html_url": { - "type": "string", - "format": "uri", - "example": "https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80" - }, - "pull_request_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World/pulls/12" - }, - "_links": { - "type": "object", - "properties": { - "html": { - "type": "object", - "properties": { "href": { "type": "string" } }, - "required": ["href"] - }, - "pull_request": { - "type": "object", - "properties": { "href": { "type": "string" } }, - "required": ["href"] - } - }, - "required": ["html", "pull_request"] - }, - "submitted_at": { "type": "string", "format": "date-time" }, - "commit_id": { - "description": "A commit SHA for the review.", - "example": "54bb654c9e6025347f57900a4a5c2313a96b8035", - "type": "string" - }, - "body_html": { "type": "string" }, - "body_text": { "type": "string" }, - "author_association": { - "$ref": "#/components/schemas/author_association" - } - }, - "required": [ - "id", - "node_id", - "user", - "body", - "state", - "commit_id", - "html_url", - "pull_request_url", - "_links", - "author_association" - ] - }, - "review-comment": { - "title": "Legacy Review Comment", - "description": "Legacy Review Comment", - "type": "object", - "properties": { - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World/pulls/comments/1" - }, - "pull_request_review_id": { - "type": "integer", - "example": 42, - "nullable": true - }, - "id": { "type": "integer", "example": 10 }, - "node_id": { - "type": "string", - "example": "MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDEw" - }, - "diff_hunk": { - "type": "string", - "example": "@@ -16,33 +16,40 @@ public class Connection : IConnection..." - }, - "path": { "type": "string", "example": "file1.txt" }, - "position": { "type": "integer", "example": 1, "nullable": true }, - "original_position": { "type": "integer", "example": 4 }, - "commit_id": { - "type": "string", - "example": "6dcb09b5b57875f334f61aebed695e2e4193db5e" - }, - "original_commit_id": { - "type": "string", - "example": "9c48853fa3dc5c1c3d6f1f1cd1f2743e72652840" - }, - "in_reply_to_id": { "type": "integer", "example": 8 }, - "user": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "body": { "type": "string", "example": "Great stuff" }, - "created_at": { - "type": "string", - "format": "date-time", - "example": "2011-04-14T16:00:49Z" - }, - "updated_at": { - "type": "string", - "format": "date-time", - "example": "2011-04-14T16:00:49Z" - }, - "html_url": { - "type": "string", - "format": "uri", - "example": "https://github.com/octocat/Hello-World/pull/1#discussion-diff-1" - }, - "pull_request_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/Hello-World/pulls/1" - }, - "author_association": { - "$ref": "#/components/schemas/author_association" - }, - "_links": { - "type": "object", - "properties": { - "self": { "$ref": "#/components/schemas/link" }, - "html": { "$ref": "#/components/schemas/link" }, - "pull_request": { "$ref": "#/components/schemas/link" } - }, - "required": ["self", "html", "pull_request"] - }, - "body_text": { "type": "string" }, - "body_html": { "type": "string" }, - "side": { - "description": "The side of the first line of the range for a multi-line comment.", - "enum": ["LEFT", "RIGHT"], - "default": "RIGHT", - "type": "string" - }, - "start_side": { - "type": "string", - "description": "The side of the first line of the range for a multi-line comment.", - "enum": ["LEFT", "RIGHT"], - "default": "RIGHT", - "nullable": true - }, - "line": { - "description": "The line of the blob to which the comment applies. The last line of the range for a multi-line comment", - "example": 2, - "type": "integer" - }, - "original_line": { - "description": "The original line of the blob to which the comment applies. The last line of the range for a multi-line comment", - "example": 2, - "type": "integer" - }, - "start_line": { - "description": "The first line of the range for a multi-line comment.", - "example": 2, - "type": "integer", - "nullable": true - }, - "original_start_line": { - "description": "The original first line of the range for a multi-line comment.", - "example": 2, - "type": "integer", - "nullable": true - } - }, - "required": [ - "id", - "node_id", - "url", - "body", - "diff_hunk", - "path", - "position", - "original_position", - "commit_id", - "original_commit_id", - "user", - "pull_request_review_id", - "html_url", - "pull_request_url", - "_links", - "author_association", - "created_at", - "updated_at" - ] - }, - "release-asset": { - "title": "Release Asset", - "description": "Data related to a release.", - "type": "object", - "properties": { - "url": { "type": "string", "format": "uri" }, - "browser_download_url": { "type": "string", "format": "uri" }, - "id": { "type": "integer" }, - "node_id": { "type": "string" }, - "name": { - "description": "The file name of the asset.", - "type": "string", - "example": "Team Environment" - }, - "label": { "type": "string", "nullable": true }, - "state": { - "description": "State of the release asset.", - "type": "string", - "enum": ["uploaded", "open"] - }, - "content_type": { "type": "string" }, - "size": { "type": "integer" }, - "download_count": { "type": "integer" }, - "created_at": { "type": "string", "format": "date-time" }, - "updated_at": { "type": "string", "format": "date-time" }, - "uploader": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - } - }, - "required": [ - "id", - "name", - "content_type", - "size", - "state", - "url", - "node_id", - "download_count", - "label", - "uploader", - "browser_download_url", - "created_at", - "updated_at" - ] - }, - "release": { - "title": "Release", - "description": "A release.", - "type": "object", - "properties": { - "url": { "type": "string", "format": "uri" }, - "html_url": { "type": "string", "format": "uri" }, - "assets_url": { "type": "string", "format": "uri" }, - "upload_url": { "type": "string" }, - "tarball_url": { - "type": "string", - "format": "uri", - "nullable": true - }, - "zipball_url": { - "type": "string", - "format": "uri", - "nullable": true - }, - "id": { "type": "integer" }, - "node_id": { "type": "string" }, - "tag_name": { - "description": "The name of the tag.", - "example": "v1.0.0", - "type": "string" - }, - "target_commitish": { - "description": "Specifies the commitish value that determines where the Git tag is created from.", - "example": "master", - "type": "string" - }, - "name": { "type": "string", "nullable": true }, - "body": { "type": "string", "nullable": true }, - "draft": { - "description": "true to create a draft (unpublished) release, false to create a published one.", - "example": false, - "type": "boolean" - }, - "prerelease": { - "description": "Whether to identify the release as a prerelease or a full release.", - "example": false, - "type": "boolean" - }, - "created_at": { "type": "string", "format": "date-time" }, - "published_at": { - "type": "string", - "format": "date-time", - "nullable": true - }, - "author": { "$ref": "#/components/schemas/simple-user" }, - "assets": { - "type": "array", - "items": { "$ref": "#/components/schemas/release-asset" } - }, - "body_html": { "type": "string" }, - "body_text": { "type": "string" } - }, - "required": [ - "assets_url", - "upload_url", - "tarball_url", - "zipball_url", - "created_at", - "published_at", - "draft", - "id", - "node_id", - "author", - "html_url", - "name", - "prerelease", - "tag_name", - "target_commitish", - "assets", - "url" - ] - }, - "secret-scanning-alert-state": { - "description": "Sets the state of the secret scanning alert. Can be either `open` or `resolved`. You must provide `resolution` when you set the state to `resolved`.", - "type": "string", - "enum": ["open", "resolved"] - }, - "secret-scanning-alert-resolution": { - "type": "string", - "description": "**Required when the `state` is `resolved`.** The reason for resolving the alert. Can be one of `false_positive`, `wont_fix`, `revoked`, or `used_in_tests`.", - "nullable": true, - "oneOf": [ - { - "enum": ["false_positive", "wont_fix", "revoked", "used_in_tests"] - }, - { "enum": [null] } - ] - }, - "secret-scanning-alert": { - "type": "object", - "properties": { - "number": { "$ref": "#/components/schemas/alert-number" }, - "created_at": { "$ref": "#/components/schemas/alert-created-at" }, - "url": { "$ref": "#/components/schemas/alert-url" }, - "html_url": { "$ref": "#/components/schemas/alert-html-url" }, - "state": { - "$ref": "#/components/schemas/secret-scanning-alert-state" - }, - "resolution": { - "$ref": "#/components/schemas/secret-scanning-alert-resolution" - }, - "resolved_at": { - "type": "string", - "format": "date-time", - "description": "The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.", - "nullable": true - }, - "resolved_by": { "$ref": "#/components/schemas/simple-user" }, - "secret_type": { - "type": "string", - "description": "The type of secret that secret scanning detected." - }, - "secret": { - "type": "string", - "description": "The secret that was detected." - } - } - }, - "stargazer": { - "title": "Stargazer", - "description": "Stargazer", - "type": "object", - "properties": { - "starred_at": { "type": "string", "format": "date-time" }, - "user": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - } - }, - "required": ["starred_at", "user"] - }, - "code-frequency-stat": { - "title": "Code Frequency Stat", - "description": "Code Frequency Stat", - "type": "array", - "items": { "type": "integer" } - }, - "commit-activity": { - "title": "Commit Activity", - "description": "Commit Activity", - "type": "object", - "properties": { - "days": { - "type": "array", - "example": [0, 3, 26, 20, 39, 1, 0], - "items": { "type": "integer" } - }, - "total": { "type": "integer", "example": 89 }, - "week": { "type": "integer", "example": 1336280400 } - }, - "required": ["days", "total", "week"] - }, - "contributor-activity": { - "title": "Contributor Activity", - "description": "Contributor Activity", - "type": "object", - "properties": { - "author": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "total": { "type": "integer", "example": 135 }, - "weeks": { - "type": "array", - "example": [{ "w": "1367712000", "a": 6898, "d": 77, "c": 10 }], - "items": { - "type": "object", - "properties": { - "w": { "type": "string" }, - "a": { "type": "integer" }, - "d": { "type": "integer" }, - "c": { "type": "integer" } - } - } - } - }, - "required": ["author", "total", "weeks"] - }, - "participation-stats": { - "title": "Participation Stats", - "type": "object", - "properties": { - "all": { "type": "array", "items": { "type": "integer" } }, - "owner": { "type": "array", "items": { "type": "integer" } } - }, - "required": ["all", "owner"] - }, - "repository-subscription": { - "title": "Repository Invitation", - "description": "Repository invitations let you manage who you collaborate with.", - "type": "object", - "properties": { - "subscribed": { - "description": "Determines if notifications should be received from this repository.", - "type": "boolean", - "example": true - }, - "ignored": { - "description": "Determines if all notifications should be blocked from this repository.", - "type": "boolean" - }, - "reason": { "type": "string", "nullable": true }, - "created_at": { - "type": "string", - "format": "date-time", - "example": "2012-10-06T21:34:12Z" - }, - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/example/subscription" - }, - "repository_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/repos/octocat/example" - } - }, - "required": [ - "created_at", - "ignored", - "reason", - "subscribed", - "url", - "repository_url" - ] - }, - "tag": { - "title": "Tag", - "description": "Tag", - "type": "object", - "properties": { - "name": { "type": "string", "example": "v0.1" }, - "commit": { - "type": "object", - "properties": { - "sha": { "type": "string" }, - "url": { "type": "string", "format": "uri" } - }, - "required": ["sha", "url"] - }, - "zipball_url": { - "type": "string", - "format": "uri", - "example": "https://github.com/octocat/Hello-World/zipball/v0.1" - }, - "tarball_url": { - "type": "string", - "format": "uri", - "example": "https://github.com/octocat/Hello-World/tarball/v0.1" - }, - "node_id": { "type": "string" } - }, - "required": ["name", "node_id", "commit", "zipball_url", "tarball_url"] - }, - "topic": { - "title": "Topic", - "description": "A topic aggregates entities that are related to a subject.", - "type": "object", - "properties": { - "names": { "type": "array", "items": { "type": "string" } } - }, - "required": ["names"] - }, - "traffic": { - "title": "Traffic", - "type": "object", - "properties": { - "timestamp": { "type": "string", "format": "date-time" }, - "uniques": { "type": "integer" }, - "count": { "type": "integer" } - }, - "required": ["timestamp", "uniques", "count"] - }, - "clone-traffic": { - "title": "Clone Traffic", - "description": "Clone Traffic", - "type": "object", - "properties": { - "count": { "type": "integer", "example": 173 }, - "uniques": { "type": "integer", "example": 128 }, - "clones": { - "type": "array", - "items": { "$ref": "#/components/schemas/traffic" } - } - }, - "required": ["uniques", "count", "clones"] - }, - "content-traffic": { - "title": "Content Traffic", - "description": "Content Traffic", - "type": "object", - "properties": { - "path": { "type": "string", "example": "/github/hubot" }, - "title": { - "type": "string", - "example": "github/hubot: A customizable life embetterment robot." - }, - "count": { "type": "integer", "example": 3542 }, - "uniques": { "type": "integer", "example": 2225 } - }, - "required": ["path", "title", "uniques", "count"] - }, - "referrer-traffic": { - "title": "Referrer Traffic", - "description": "Referrer Traffic", - "type": "object", - "properties": { - "referrer": { "type": "string", "example": "Google" }, - "count": { "type": "integer", "example": 4 }, - "uniques": { "type": "integer", "example": 3 } - }, - "required": ["referrer", "uniques", "count"] - }, - "view-traffic": { - "title": "View Traffic", - "description": "View Traffic", - "type": "object", - "properties": { - "count": { "type": "integer", "example": 14850 }, - "uniques": { "type": "integer", "example": 3782 }, - "views": { - "type": "array", - "items": { "$ref": "#/components/schemas/traffic" } - } - }, - "required": ["uniques", "count", "views"] - }, - "scim-group-list-enterprise": { - "type": "object", - "properties": { - "schemas": { "type": "array", "items": { "type": "string" } }, - "totalResults": { "type": "number" }, - "itemsPerPage": { "type": "number" }, - "startIndex": { "type": "number" }, - "Resources": { - "type": "array", - "items": { - "type": "object", - "properties": { - "schemas": { "type": "array", "items": { "type": "string" } }, - "id": { "type": "string" }, - "externalId": { "type": "string", "nullable": true }, - "displayName": { "type": "string" }, - "members": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { "type": "string" }, - "$ref": { "type": "string" }, - "display": { "type": "string" } - } - } - }, - "meta": { - "type": "object", - "properties": { - "resourceType": { "type": "string" }, - "created": { "type": "string" }, - "lastModified": { "type": "string" }, - "location": { "type": "string" } - } - } - }, - "required": ["schemas", "id"] - } - } - }, - "required": [ - "schemas", - "totalResults", - "itemsPerPage", - "startIndex", - "Resources" - ] - }, - "scim-enterprise-group": { - "type": "object", - "properties": { - "schemas": { "type": "array", "items": { "type": "string" } }, - "id": { "type": "string" }, - "externalId": { "type": "string", "nullable": true }, - "displayName": { "type": "string" }, - "members": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { "type": "string" }, - "$ref": { "type": "string" }, - "display": { "type": "string" } - } - } - }, - "meta": { - "type": "object", - "properties": { - "resourceType": { "type": "string" }, - "created": { "type": "string" }, - "lastModified": { "type": "string" }, - "location": { "type": "string" } - } - } - }, - "required": ["schemas", "id"] - }, - "scim-user-list-enterprise": { - "type": "object", - "properties": { - "schemas": { "type": "array", "items": { "type": "string" } }, - "totalResults": { "type": "number" }, - "itemsPerPage": { "type": "number" }, - "startIndex": { "type": "number" }, - "Resources": { - "type": "array", - "items": { - "type": "object", - "properties": { - "schemas": { "type": "array", "items": { "type": "string" } }, - "id": { "type": "string" }, - "externalId": { "type": "string" }, - "userName": { "type": "string" }, - "name": { - "type": "object", - "properties": { - "givenName": { "type": "string" }, - "familyName": { "type": "string" } - } - }, - "emails": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { "type": "string" }, - "primary": { "type": "boolean" }, - "type": { "type": "string" } - } - } - }, - "groups": { - "type": "array", - "items": { - "type": "object", - "properties": { "value": { "type": "string" } } - } - }, - "active": { "type": "boolean" }, - "meta": { - "type": "object", - "properties": { - "resourceType": { "type": "string" }, - "created": { "type": "string" }, - "lastModified": { "type": "string" }, - "location": { "type": "string" } - } - } - }, - "required": ["schemas", "id"] - } - } - }, - "required": [ - "schemas", - "totalResults", - "itemsPerPage", - "startIndex", - "Resources" - ] - }, - "scim-enterprise-user": { - "type": "object", - "properties": { - "schemas": { "type": "array", "items": { "type": "string" } }, - "id": { "type": "string" }, - "externalId": { "type": "string" }, - "userName": { "type": "string" }, - "name": { - "type": "object", - "properties": { - "givenName": { "type": "string" }, - "familyName": { "type": "string" } - } - }, - "emails": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { "type": "string" }, - "type": { "type": "string" }, - "primary": { "type": "boolean" } - } - } - }, - "groups": { - "type": "array", - "items": { - "type": "object", - "properties": { "value": { "type": "string" } } - } - }, - "active": { "type": "boolean" }, - "meta": { - "type": "object", - "properties": { - "resourceType": { "type": "string" }, - "created": { "type": "string" }, - "lastModified": { "type": "string" }, - "location": { "type": "string" } - } - } - }, - "required": ["schemas", "id"] - }, - "scim-user": { - "title": "SCIM /Users", - "description": "SCIM /Users provisioning endpoints", - "type": "object", - "properties": { - "schemas": { - "description": "SCIM schema used.", - "type": "array", - "minItems": 1, - "items": { - "type": "string", - "example": "urn:ietf:params:scim:schemas:core:2.0:User" - } - }, - "id": { - "description": "Unique identifier of an external identity", - "example": "1b78eada-9baa-11e6-9eb6-a431576d590e", - "type": "string" - }, - "externalId": { - "description": "The ID of the User.", - "type": "string", - "example": "a7b0f98395", - "nullable": true - }, - "userName": { - "description": "Configured by the admin. Could be an email, login, or username", - "example": "someone@example.com", - "type": "string", - "nullable": true - }, - "displayName": { - "description": "The name of the user, suitable for display to end-users", - "example": "Jon Doe", - "type": "string", - "nullable": true - }, - "name": { - "type": "object", - "properties": { - "givenName": { "type": "string", "nullable": true }, - "familyName": { "type": "string", "nullable": true }, - "formatted": { "type": "string", "nullable": true } - }, - "required": ["givenName", "familyName"], - "example": { "givenName": "Jane", "familyName": "User" } - }, - "emails": { - "description": "user emails", - "example": [ - { "value": "someone@example.com", "primary": true }, - { "value": "another@example.com", "primary": false } - ], - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "properties": { - "value": { "type": "string" }, - "primary": { "type": "boolean" } - }, - "required": ["value"] - } - }, - "active": { - "description": "The active status of the User.", - "type": "boolean", - "example": true - }, - "meta": { - "type": "object", - "properties": { - "resourceType": { "type": "string", "example": "User" }, - "created": { - "type": "string", - "format": "date-time", - "example": "2019-01-24T22:45:36.000Z" - }, - "lastModified": { - "type": "string", - "format": "date-time", - "example": "2019-01-24T22:45:36.000Z" - }, - "location": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/scim/v2/organizations/myorg-123abc55141bfd8f/Users/c42772b5-2029-11e9-8543-9264a97dec8d" - } - } - }, - "organization_id": { - "description": "The ID of the organization.", - "type": "integer" - }, - "operations": { - "description": "Set of operations to be performed", - "example": [{ "op": "replace", "value": { "active": false } }], - "type": "array", - "minItems": 1, - "items": { - "properties": { - "op": { - "type": "string", - "enum": ["add", "remove", "replace"] - }, - "path": { "type": "string" }, - "value": { - "oneOf": [ - { "type": "string" }, - { "type": "object" }, - { "type": "array", "items": {} } - ] - } - }, - "required": ["op"], - "type": "object" - } - }, - "groups": { - "description": "associated groups", - "type": "array", - "items": { - "properties": { - "value": { "type": "string" }, - "display": { "type": "string" } - } - } - } - }, - "required": [ - "id", - "schemas", - "externalId", - "userName", - "name", - "emails", - "active", - "meta" - ] - }, - "scim-user-list": { - "title": "SCIM User List", - "description": "SCIM User List", - "type": "object", - "properties": { - "schemas": { - "description": "SCIM schema used.", - "type": "array", - "minItems": 1, - "items": { - "type": "string", - "example": "urn:ietf:params:scim:api:messages:2.0:ListResponse" - } - }, - "totalResults": { "type": "integer", "example": 3 }, - "itemsPerPage": { "type": "integer", "example": 10 }, - "startIndex": { "type": "integer", "example": 1 }, - "Resources": { - "type": "array", - "items": { "$ref": "#/components/schemas/scim-user" } - } - }, - "required": [ - "schemas", - "totalResults", - "itemsPerPage", - "startIndex", - "Resources" - ] - }, - "search-result-text-matches": { - "title": "Search Result Text Matches", - "type": "array", - "items": { - "type": "object", - "properties": { - "object_url": { "type": "string" }, - "object_type": { "nullable": true, "type": "string" }, - "property": { "type": "string" }, - "fragment": { "type": "string" }, - "matches": { - "type": "array", - "items": { - "type": "object", - "properties": { - "text": { "type": "string" }, - "indices": { "type": "array", "items": { "type": "integer" } } - } - } - } - } - } - }, - "code-search-result-item": { - "title": "Code Search Result Item", - "description": "Code Search Result Item", - "type": "object", - "properties": { - "name": { "type": "string" }, - "path": { "type": "string" }, - "sha": { "type": "string" }, - "url": { "type": "string", "format": "uri" }, - "git_url": { "type": "string", "format": "uri" }, - "html_url": { "type": "string", "format": "uri" }, - "repository": { "$ref": "#/components/schemas/minimal-repository" }, - "score": { "type": "integer" }, - "file_size": { "type": "integer" }, - "language": { "type": "string", "nullable": true }, - "last_modified_at": { "type": "string", "format": "date-time" }, - "line_numbers": { - "type": "array", - "items": { "type": "string" }, - "example": ["73..77", "77..78"] - }, - "text_matches": { - "$ref": "#/components/schemas/search-result-text-matches" - } - }, - "required": [ - "score", - "name", - "path", - "sha", - "git_url", - "html_url", - "url", - "repository" - ] - }, - "commit-search-result-item": { - "title": "Commit Search Result Item", - "description": "Commit Search Result Item", - "type": "object", - "properties": { - "url": { "type": "string", "format": "uri" }, - "sha": { "type": "string" }, - "html_url": { "type": "string", "format": "uri" }, - "comments_url": { "type": "string", "format": "uri" }, - "commit": { - "type": "object", - "properties": { - "author": { - "type": "object", - "properties": { - "name": { "type": "string" }, - "email": { "type": "string" }, - "date": { "type": "string", "format": "date-time" } - }, - "required": ["name", "email", "date"] - }, - "committer": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/git-user" }] - }, - "comment_count": { "type": "integer" }, - "message": { "type": "string" }, - "tree": { - "type": "object", - "properties": { - "sha": { "type": "string" }, - "url": { "type": "string", "format": "uri" } - }, - "required": ["sha", "url"] - }, - "url": { "type": "string", "format": "uri" }, - "verification": { "$ref": "#/components/schemas/verification" } - }, - "required": [ - "author", - "committer", - "comment_count", - "message", - "tree", - "url" - ] - }, - "author": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "committer": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/git-user" }] - }, - "parents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "url": { "type": "string" }, - "html_url": { "type": "string" }, - "sha": { "type": "string" } - } - } - }, - "repository": { "$ref": "#/components/schemas/minimal-repository" }, - "score": { "type": "integer" }, - "node_id": { "type": "string" }, - "text_matches": { - "$ref": "#/components/schemas/search-result-text-matches" - } - }, - "required": [ - "sha", - "node_id", - "url", - "html_url", - "author", - "committer", - "parents", - "comments_url", - "commit", - "repository", - "score" - ] - }, - "issue-search-result-item": { - "title": "Issue Search Result Item", - "description": "Issue Search Result Item", - "type": "object", - "properties": { - "url": { "type": "string", "format": "uri" }, - "repository_url": { "type": "string", "format": "uri" }, - "labels_url": { "type": "string" }, - "comments_url": { "type": "string", "format": "uri" }, - "events_url": { "type": "string", "format": "uri" }, - "html_url": { "type": "string", "format": "uri" }, - "id": { "type": "integer" }, - "node_id": { "type": "string" }, - "number": { "type": "integer" }, - "title": { "type": "string" }, - "locked": { "type": "boolean" }, - "active_lock_reason": { "type": "string", "nullable": true }, - "assignees": { - "type": "array", - "items": { "$ref": "#/components/schemas/simple-user" }, - "nullable": true - }, - "user": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "labels": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "node_id": { "type": "string" }, - "url": { "type": "string" }, - "name": { "type": "string" }, - "color": { "type": "string" }, - "default": { "type": "boolean" }, - "description": { "type": "string", "nullable": true } - } - } - }, - "state": { "type": "string" }, - "assignee": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "milestone": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/milestone" }] - }, - "comments": { "type": "integer" }, - "created_at": { "type": "string", "format": "date-time" }, - "updated_at": { "type": "string", "format": "date-time" }, - "closed_at": { - "type": "string", - "format": "date-time", - "nullable": true - }, - "text_matches": { - "$ref": "#/components/schemas/search-result-text-matches" - }, - "pull_request": { - "type": "object", - "properties": { - "merged_at": { - "type": "string", - "format": "date-time", - "nullable": true - }, - "diff_url": { - "type": "string", - "format": "uri", - "nullable": true - }, - "html_url": { - "type": "string", - "format": "uri", - "nullable": true - }, - "patch_url": { - "type": "string", - "format": "uri", - "nullable": true - }, - "url": { "type": "string", "format": "uri", "nullable": true } - }, - "required": ["diff_url", "html_url", "patch_url", "url"] - }, - "body": { "type": "string" }, - "score": { "type": "integer" }, - "author_association": { - "$ref": "#/components/schemas/author_association" - }, - "draft": { "type": "boolean" }, - "repository": { "$ref": "#/components/schemas/repository" }, - "body_html": { "type": "string" }, - "body_text": { "type": "string" }, - "timeline_url": { "type": "string", "format": "uri" }, - "performed_via_github_app": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/integration" }] - } - }, - "required": [ - "assignee", - "closed_at", - "comments", - "comments_url", - "events_url", - "html_url", - "id", - "node_id", - "labels", - "labels_url", - "milestone", - "number", - "repository_url", - "state", - "locked", - "title", - "url", - "user", - "author_association", - "created_at", - "updated_at", - "score" - ] - }, - "label-search-result-item": { - "title": "Label Search Result Item", - "description": "Label Search Result Item", - "type": "object", - "properties": { - "id": { "type": "integer" }, - "node_id": { "type": "string" }, - "url": { "type": "string", "format": "uri" }, - "name": { "type": "string" }, - "color": { "type": "string" }, - "default": { "type": "boolean" }, - "description": { "type": "string", "nullable": true }, - "score": { "type": "integer" }, - "text_matches": { - "$ref": "#/components/schemas/search-result-text-matches" - } - }, - "required": [ - "id", - "node_id", - "url", - "name", - "color", - "default", - "description", - "score" - ] - }, - "repo-search-result-item": { - "title": "Repo Search Result Item", - "description": "Repo Search Result Item", - "type": "object", - "properties": { - "id": { "type": "integer" }, - "node_id": { "type": "string" }, - "name": { "type": "string" }, - "full_name": { "type": "string" }, - "owner": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/simple-user" }] - }, - "private": { "type": "boolean" }, - "html_url": { "type": "string", "format": "uri" }, - "description": { "type": "string", "nullable": true }, - "fork": { "type": "boolean" }, - "url": { "type": "string", "format": "uri" }, - "created_at": { "type": "string", "format": "date-time" }, - "updated_at": { "type": "string", "format": "date-time" }, - "pushed_at": { "type": "string", "format": "date-time" }, - "homepage": { "type": "string", "format": "uri", "nullable": true }, - "size": { "type": "integer" }, - "stargazers_count": { "type": "integer" }, - "watchers_count": { "type": "integer" }, - "language": { "type": "string", "nullable": true }, - "forks_count": { "type": "integer" }, - "open_issues_count": { "type": "integer" }, - "master_branch": { "type": "string" }, - "default_branch": { "type": "string" }, - "score": { "type": "integer" }, - "forks_url": { "type": "string", "format": "uri" }, - "keys_url": { "type": "string" }, - "collaborators_url": { "type": "string" }, - "teams_url": { "type": "string", "format": "uri" }, - "hooks_url": { "type": "string", "format": "uri" }, - "issue_events_url": { "type": "string" }, - "events_url": { "type": "string", "format": "uri" }, - "assignees_url": { "type": "string" }, - "branches_url": { "type": "string" }, - "tags_url": { "type": "string", "format": "uri" }, - "blobs_url": { "type": "string" }, - "git_tags_url": { "type": "string" }, - "git_refs_url": { "type": "string" }, - "trees_url": { "type": "string" }, - "statuses_url": { "type": "string" }, - "languages_url": { "type": "string", "format": "uri" }, - "stargazers_url": { "type": "string", "format": "uri" }, - "contributors_url": { "type": "string", "format": "uri" }, - "subscribers_url": { "type": "string", "format": "uri" }, - "subscription_url": { "type": "string", "format": "uri" }, - "commits_url": { "type": "string" }, - "git_commits_url": { "type": "string" }, - "comments_url": { "type": "string" }, - "issue_comment_url": { "type": "string" }, - "contents_url": { "type": "string" }, - "compare_url": { "type": "string" }, - "merges_url": { "type": "string", "format": "uri" }, - "archive_url": { "type": "string" }, - "downloads_url": { "type": "string", "format": "uri" }, - "issues_url": { "type": "string" }, - "pulls_url": { "type": "string" }, - "milestones_url": { "type": "string" }, - "notifications_url": { "type": "string" }, - "labels_url": { "type": "string" }, - "releases_url": { "type": "string" }, - "deployments_url": { "type": "string", "format": "uri" }, - "git_url": { "type": "string" }, - "ssh_url": { "type": "string" }, - "clone_url": { "type": "string" }, - "svn_url": { "type": "string", "format": "uri" }, - "forks": { "type": "integer" }, - "open_issues": { "type": "integer" }, - "watchers": { "type": "integer" }, - "topics": { "type": "array", "items": { "type": "string" } }, - "mirror_url": { "type": "string", "format": "uri", "nullable": true }, - "has_issues": { "type": "boolean" }, - "has_projects": { "type": "boolean" }, - "has_pages": { "type": "boolean" }, - "has_wiki": { "type": "boolean" }, - "has_downloads": { "type": "boolean" }, - "archived": { "type": "boolean" }, - "disabled": { - "type": "boolean", - "description": "Returns whether or not this repository disabled." - }, - "license": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/license-simple" }] - }, - "permissions": { - "type": "object", - "properties": { - "admin": { "type": "boolean" }, - "pull": { "type": "boolean" }, - "push": { "type": "boolean" } - }, - "required": ["admin", "pull", "push"] - }, - "text_matches": { - "$ref": "#/components/schemas/search-result-text-matches" - }, - "temp_clone_token": { "type": "string" }, - "allow_merge_commit": { "type": "boolean" }, - "allow_squash_merge": { "type": "boolean" }, - "allow_rebase_merge": { "type": "boolean" }, - "delete_branch_on_merge": { "type": "boolean" } - }, - "required": [ - "archive_url", - "assignees_url", - "blobs_url", - "branches_url", - "collaborators_url", - "comments_url", - "commits_url", - "compare_url", - "contents_url", - "contributors_url", - "deployments_url", - "description", - "downloads_url", - "events_url", - "fork", - "forks_url", - "full_name", - "git_commits_url", - "git_refs_url", - "git_tags_url", - "hooks_url", - "html_url", - "id", - "node_id", - "issue_comment_url", - "issue_events_url", - "issues_url", - "keys_url", - "labels_url", - "languages_url", - "merges_url", - "milestones_url", - "name", - "notifications_url", - "owner", - "private", - "pulls_url", - "releases_url", - "stargazers_url", - "statuses_url", - "subscribers_url", - "subscription_url", - "tags_url", - "teams_url", - "trees_url", - "url", - "clone_url", - "default_branch", - "forks", - "forks_count", - "git_url", - "has_downloads", - "has_issues", - "has_projects", - "has_wiki", - "has_pages", - "homepage", - "language", - "archived", - "disabled", - "mirror_url", - "open_issues", - "open_issues_count", - "license", - "pushed_at", - "size", - "ssh_url", - "stargazers_count", - "svn_url", - "watchers", - "watchers_count", - "created_at", - "updated_at", - "score" - ] - }, - "topic-search-result-item": { - "title": "Topic Search Result Item", - "description": "Topic Search Result Item", - "type": "object", - "properties": { - "name": { "type": "string" }, - "display_name": { "type": "string", "nullable": true }, - "short_description": { "type": "string", "nullable": true }, - "description": { "type": "string", "nullable": true }, - "created_by": { "type": "string", "nullable": true }, - "released": { "type": "string", "nullable": true }, - "created_at": { "type": "string", "format": "date-time" }, - "updated_at": { "type": "string", "format": "date-time" }, - "featured": { "type": "boolean" }, - "curated": { "type": "boolean" }, - "score": { "type": "integer" }, - "repository_count": { "type": "integer", "nullable": true }, - "logo_url": { "type": "string", "format": "uri", "nullable": true }, - "text_matches": { - "$ref": "#/components/schemas/search-result-text-matches" - }, - "related": { - "type": "array", - "nullable": true, - "items": { - "type": "object", - "properties": { - "topic_relation": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "name": { "type": "string" }, - "topic_id": { "type": "integer" }, - "relation_type": { "type": "string" } - } - } - } - } - }, - "aliases": { - "type": "array", - "nullable": true, - "items": { - "type": "object", - "properties": { - "topic_relation": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "name": { "type": "string" }, - "topic_id": { "type": "integer" }, - "relation_type": { "type": "string" } - } - } - } - } - } - }, - "required": [ - "name", - "display_name", - "short_description", - "description", - "created_by", - "released", - "created_at", - "updated_at", - "featured", - "curated", - "score" - ] - }, - "user-search-result-item": { - "title": "User Search Result Item", - "description": "User Search Result Item", - "type": "object", - "properties": { - "login": { "type": "string" }, - "id": { "type": "integer" }, - "node_id": { "type": "string" }, - "avatar_url": { "type": "string", "format": "uri" }, - "gravatar_id": { "type": "string", "nullable": true }, - "url": { "type": "string", "format": "uri" }, - "html_url": { "type": "string", "format": "uri" }, - "followers_url": { "type": "string", "format": "uri" }, - "subscriptions_url": { "type": "string", "format": "uri" }, - "organizations_url": { "type": "string", "format": "uri" }, - "repos_url": { "type": "string", "format": "uri" }, - "received_events_url": { "type": "string", "format": "uri" }, - "type": { "type": "string" }, - "score": { "type": "integer" }, - "following_url": { "type": "string" }, - "gists_url": { "type": "string" }, - "starred_url": { "type": "string" }, - "events_url": { "type": "string" }, - "public_repos": { "type": "integer" }, - "public_gists": { "type": "integer" }, - "followers": { "type": "integer" }, - "following": { "type": "integer" }, - "created_at": { "type": "string", "format": "date-time" }, - "updated_at": { "type": "string", "format": "date-time" }, - "name": { "type": "string", "nullable": true }, - "bio": { "type": "string", "nullable": true }, - "email": { "type": "string", "format": "email", "nullable": true }, - "location": { "type": "string", "nullable": true }, - "site_admin": { "type": "boolean" }, - "hireable": { "type": "boolean", "nullable": true }, - "text_matches": { - "$ref": "#/components/schemas/search-result-text-matches" - }, - "blog": { "type": "string", "nullable": true }, - "company": { "type": "string", "nullable": true }, - "suspended_at": { - "type": "string", - "format": "date-time", - "nullable": true - } - }, - "required": [ - "avatar_url", - "events_url", - "followers_url", - "following_url", - "gists_url", - "gravatar_id", - "html_url", - "id", - "node_id", - "login", - "organizations_url", - "received_events_url", - "repos_url", - "site_admin", - "starred_url", - "subscriptions_url", - "type", - "url", - "score" - ] - }, - "private-user": { - "title": "Private User", - "description": "Private User", - "type": "object", - "properties": { - "login": { "type": "string", "example": "octocat" }, - "id": { "type": "integer", "example": 1 }, - "node_id": { "type": "string", "example": "MDQ6VXNlcjE=" }, - "avatar_url": { - "type": "string", - "format": "uri", - "example": "https://github.com/images/error/octocat_happy.gif" - }, - "gravatar_id": { - "type": "string", - "example": "41d064eb2195891e12d0413f63227ea7", - "nullable": true - }, - "url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/users/octocat" - }, - "html_url": { - "type": "string", - "format": "uri", - "example": "https://github.com/octocat" - }, - "followers_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/users/octocat/followers" - }, - "following_url": { - "type": "string", - "example": "https://api.github.com/users/octocat/following{/other_user}" - }, - "gists_url": { - "type": "string", - "example": "https://api.github.com/users/octocat/gists{/gist_id}" - }, - "starred_url": { - "type": "string", - "example": "https://api.github.com/users/octocat/starred{/owner}{/repo}" - }, - "subscriptions_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/users/octocat/subscriptions" - }, - "organizations_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/users/octocat/orgs" - }, - "repos_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/users/octocat/repos" - }, - "events_url": { - "type": "string", - "example": "https://api.github.com/users/octocat/events{/privacy}" - }, - "received_events_url": { - "type": "string", - "format": "uri", - "example": "https://api.github.com/users/octocat/received_events" - }, - "type": { "type": "string", "example": "User" }, - "site_admin": { "type": "boolean" }, - "name": { - "type": "string", - "example": "monalisa octocat", - "nullable": true - }, - "company": { - "type": "string", - "example": "GitHub", - "nullable": true - }, - "blog": { - "type": "string", - "example": "https://github.com/blog", - "nullable": true - }, - "location": { - "type": "string", - "example": "San Francisco", - "nullable": true - }, - "email": { - "type": "string", - "format": "email", - "example": "octocat@github.com", - "nullable": true - }, - "hireable": { "type": "boolean", "nullable": true }, - "bio": { - "type": "string", - "example": "There once was...", - "nullable": true - }, - "twitter_username": { - "type": "string", - "example": "monalisa", - "nullable": true - }, - "public_repos": { "type": "integer", "example": 2 }, - "public_gists": { "type": "integer", "example": 1 }, - "followers": { "type": "integer", "example": 20 }, - "following": { "type": "integer", "example": 0 }, - "created_at": { - "type": "string", - "format": "date-time", - "example": "2008-01-14T04:33:35Z" - }, - "updated_at": { - "type": "string", - "format": "date-time", - "example": "2008-01-14T04:33:35Z" - }, - "private_gists": { "type": "integer", "example": 81 }, - "total_private_repos": { "type": "integer", "example": 100 }, - "owned_private_repos": { "type": "integer", "example": 100 }, - "disk_usage": { "type": "integer", "example": 10000 }, - "collaborators": { "type": "integer", "example": 8 }, - "two_factor_authentication": { "type": "boolean", "example": true }, - "plan": { - "type": "object", - "properties": { - "collaborators": { "type": "integer" }, - "name": { "type": "string" }, - "space": { "type": "integer" }, - "private_repos": { "type": "integer" } - }, - "required": ["collaborators", "name", "space", "private_repos"] - }, - "suspended_at": { - "type": "string", - "format": "date-time", - "nullable": true - }, - "business_plus": { "type": "boolean" }, - "ldap_dn": { "type": "string" } - }, - "required": [ - "avatar_url", - "events_url", - "followers_url", - "following_url", - "gists_url", - "gravatar_id", - "html_url", - "id", - "node_id", - "login", - "organizations_url", - "received_events_url", - "repos_url", - "site_admin", - "starred_url", - "subscriptions_url", - "type", - "url", - "bio", - "blog", - "company", - "email", - "followers", - "following", - "hireable", - "location", - "name", - "public_gists", - "public_repos", - "created_at", - "updated_at", - "collaborators", - "disk_usage", - "owned_private_repos", - "private_gists", - "total_private_repos", - "two_factor_authentication" - ] - }, - "public-user": { - "title": "Public User", - "description": "Public User", - "type": "object", - "properties": { - "login": { "type": "string" }, - "id": { "type": "integer" }, - "node_id": { "type": "string" }, - "avatar_url": { "type": "string", "format": "uri" }, - "gravatar_id": { "type": "string", "nullable": true }, - "url": { "type": "string", "format": "uri" }, - "html_url": { "type": "string", "format": "uri" }, - "followers_url": { "type": "string", "format": "uri" }, - "following_url": { "type": "string" }, - "gists_url": { "type": "string" }, - "starred_url": { "type": "string" }, - "subscriptions_url": { "type": "string", "format": "uri" }, - "organizations_url": { "type": "string", "format": "uri" }, - "repos_url": { "type": "string", "format": "uri" }, - "events_url": { "type": "string" }, - "received_events_url": { "type": "string", "format": "uri" }, - "type": { "type": "string" }, - "site_admin": { "type": "boolean" }, - "name": { "type": "string", "nullable": true }, - "company": { "type": "string", "nullable": true }, - "blog": { "type": "string", "nullable": true }, - "location": { "type": "string", "nullable": true }, - "email": { "type": "string", "format": "email", "nullable": true }, - "hireable": { "type": "boolean", "nullable": true }, - "bio": { "type": "string", "nullable": true }, - "twitter_username": { "type": "string", "nullable": true }, - "public_repos": { "type": "integer" }, - "public_gists": { "type": "integer" }, - "followers": { "type": "integer" }, - "following": { "type": "integer" }, - "created_at": { "type": "string", "format": "date-time" }, - "updated_at": { "type": "string", "format": "date-time" }, - "plan": { - "type": "object", - "properties": { - "collaborators": { "type": "integer" }, - "name": { "type": "string" }, - "space": { "type": "integer" }, - "private_repos": { "type": "integer" } - }, - "required": ["collaborators", "name", "space", "private_repos"] - }, - "suspended_at": { - "type": "string", - "format": "date-time", - "nullable": true - }, - "private_gists": { "type": "integer", "example": 1 }, - "total_private_repos": { "type": "integer", "example": 2 }, - "owned_private_repos": { "type": "integer", "example": 2 }, - "disk_usage": { "type": "integer", "example": 1 }, - "collaborators": { "type": "integer", "example": 3 } - }, - "required": [ - "avatar_url", - "events_url", - "followers_url", - "following_url", - "gists_url", - "gravatar_id", - "html_url", - "id", - "node_id", - "login", - "organizations_url", - "received_events_url", - "repos_url", - "site_admin", - "starred_url", - "subscriptions_url", - "type", - "url", - "bio", - "blog", - "company", - "email", - "followers", - "following", - "hireable", - "location", - "name", - "public_gists", - "public_repos", - "created_at", - "updated_at" - ], - "additionalProperties": false - }, - "email": { - "title": "Email", - "description": "Email", - "type": "object", - "properties": { - "email": { - "type": "string", - "format": "email", - "example": "octocat@github.com" - }, - "primary": { "type": "boolean", "example": true }, - "verified": { "type": "boolean", "example": true }, - "visibility": { - "type": "string", - "example": "public", - "nullable": true - } - }, - "required": ["email", "primary", "verified", "visibility"] - }, - "gpg-key": { - "title": "GPG Key", - "description": "A unique encryption key", - "type": "object", - "properties": { - "id": { "type": "integer", "example": 3 }, - "primary_key_id": { "type": "integer", "nullable": true }, - "key_id": { "type": "string", "example": "3262EFF25BA0D270" }, - "public_key": { "type": "string", "example": "xsBNBFayYZ..." }, - "emails": { - "type": "array", - "example": [ - { - "email": "mastahyeti@users.noreply.github.com", - "verified": true - } - ], - "items": { - "type": "object", - "properties": { - "email": { "type": "string" }, - "verified": { "type": "boolean" } - } - } - }, - "subkeys": { - "type": "array", - "example": [ - { - "id": 4, - "primary_key_id": 3, - "key_id": "4A595D4C72EE49C7", - "public_key": "zsBNBFayYZ...", - "emails": [], - "subkeys": [], - "can_sign": false, - "can_encrypt_comms": true, - "can_encrypt_storage": true, - "can_certify": false, - "created_at": "2016-03-24T11:31:04-06:00", - "expires_at": null - } - ], - "items": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "primary_key_id": { "type": "integer" }, - "key_id": { "type": "string" }, - "public_key": { "type": "string" }, - "emails": { "type": "array", "items": {} }, - "subkeys": { "type": "array", "items": {} }, - "can_sign": { "type": "boolean" }, - "can_encrypt_comms": { "type": "boolean" }, - "can_encrypt_storage": { "type": "boolean" }, - "can_certify": { "type": "boolean" }, - "created_at": { "type": "string" }, - "expires_at": { "type": "string", "nullable": true }, - "raw_key": { "type": "string", "nullable": true } - } - } - }, - "can_sign": { "type": "boolean", "example": true }, - "can_encrypt_comms": { "type": "boolean" }, - "can_encrypt_storage": { "type": "boolean" }, - "can_certify": { "type": "boolean", "example": true }, - "created_at": { - "type": "string", - "format": "date-time", - "example": "2016-03-24T11:31:04-06:00" - }, - "expires_at": { - "type": "string", - "format": "date-time", - "nullable": true - }, - "raw_key": { "type": "string", "nullable": true } - }, - "required": [ - "id", - "primary_key_id", - "key_id", - "raw_key", - "public_key", - "created_at", - "expires_at", - "can_sign", - "can_encrypt_comms", - "can_encrypt_storage", - "can_certify", - "emails", - "subkeys" - ] - }, - "key": { - "title": "Key", - "description": "Key", - "type": "object", - "properties": { - "key_id": { "type": "string" }, - "key": { "type": "string" }, - "id": { "type": "integer" }, - "url": { "type": "string" }, - "title": { "type": "string" }, - "created_at": { "type": "string", "format": "date-time" }, - "verified": { "type": "boolean" }, - "read_only": { "type": "boolean" } - }, - "required": [ - "key_id", - "key", - "id", - "url", - "title", - "created_at", - "verified", - "read_only" - ] - }, - "marketplace-account": { - "title": "Marketplace Account", - "type": "object", - "properties": { - "url": { "type": "string", "format": "uri" }, - "id": { "type": "integer" }, - "type": { "type": "string" }, - "node_id": { "type": "string" }, - "login": { "type": "string" }, - "email": { "type": "string", "nullable": true, "format": "email" }, - "organization_billing_email": { - "type": "string", - "nullable": true, - "format": "email" - } - }, - "required": ["url", "id", "type", "login"] - }, - "user-marketplace-purchase": { - "title": "User Marketplace Purchase", - "description": "User Marketplace Purchase", - "type": "object", - "properties": { - "billing_cycle": { "type": "string", "example": "monthly" }, - "next_billing_date": { - "type": "string", - "format": "date-time", - "example": "2017-11-11T00:00:00Z", - "nullable": true - }, - "unit_count": { "type": "integer", "nullable": true }, - "on_free_trial": { "type": "boolean", "example": true }, - "free_trial_ends_on": { - "type": "string", - "format": "date-time", - "example": "2017-11-11T00:00:00Z", - "nullable": true - }, - "updated_at": { - "type": "string", - "format": "date-time", - "example": "2017-11-02T01:12:12Z", - "nullable": true - }, - "account": { "$ref": "#/components/schemas/marketplace-account" }, - "plan": { "$ref": "#/components/schemas/marketplace-listing-plan" } - }, - "required": [ - "billing_cycle", - "next_billing_date", - "unit_count", - "updated_at", - "on_free_trial", - "free_trial_ends_on", - "account", - "plan" - ] - }, - "starred-repository": { - "title": "Starred Repository", - "description": "Starred Repository", - "type": "object", - "properties": { - "starred_at": { "type": "string", "format": "date-time" }, - "repo": { "$ref": "#/components/schemas/repository" } - }, - "required": ["starred_at", "repo"] - }, - "hovercard": { - "title": "Hovercard", - "description": "Hovercard", - "type": "object", - "properties": { - "contexts": { - "type": "array", - "items": { - "type": "object", - "properties": { - "message": { "type": "string" }, - "octicon": { "type": "string" } - }, - "required": ["message", "octicon"] - } - } - }, - "required": ["contexts"] - }, - "key-simple": { - "title": "Key Simple", - "description": "Key Simple", - "type": "object", - "properties": { - "id": { "type": "integer" }, - "key": { "type": "string" } - }, - "required": ["key", "id"] - } - }, - "examples": { - "integration": { - "value": { - "id": 1, - "slug": "octoapp", - "node_id": "MDExOkludGVncmF0aW9uMQ==", - "owner": { - "login": "github", - "id": 1, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", - "url": "https://api.github.com/orgs/github", - "repos_url": "https://api.github.com/orgs/github/repos", - "events_url": "https://api.github.com/orgs/github/events", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": true - }, - "name": "Octocat App", - "description": "", - "external_url": "https://example.com", - "html_url": "https://github.com/apps/octoapp", - "created_at": "2017-07-08T16:18:44-04:00", - "updated_at": "2017-07-08T16:18:44-04:00", - "permissions": { - "metadata": "read", - "contents": "read", - "issues": "write", - "single_file": "write" - }, - "events": ["push", "pull_request"] - } - }, - "integration-from-manifest": { - "value": { - "id": 1, - "slug": "octoapp", - "node_id": "MDxOkludGVncmF0aW9uMQ==", - "owner": { - "login": "github", - "id": 1, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", - "url": "https://api.github.com/orgs/github", - "repos_url": "https://api.github.com/orgs/github/repos", - "events_url": "https://api.github.com/orgs/github/events", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": true - }, - "name": "Octocat App", - "description": "", - "external_url": "https://example.com", - "html_url": "https://github.com/apps/octoapp", - "created_at": "2017-07-08T16:18:44-04:00", - "updated_at": "2017-07-08T16:18:44-04:00", - "permissions": { - "metadata": "read", - "contents": "read", - "issues": "write", - "single_file": "write" - }, - "events": ["push", "pull_request"], - "client_id": "Iv1.8a61f9b3a7aba766", - "client_secret": "1726be1638095a19edd134c77bde3aa2ece1e5d8", - "webhook_secret": "e340154128314309424b7c8e90325147d99fdafa", - "pem": "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAuEPzOUE+kiEH1WLiMeBytTEF856j0hOVcSUSUkZxKvqczkWM\n9vo1gDyC7ZXhdH9fKh32aapba3RSsp4ke+giSmYTk2mGR538ShSDxh0OgpJmjiKP\nX0Bj4j5sFqfXuCtl9SkH4iueivv4R53ktqM+n6hk98l6hRwC39GVIblAh2lEM4L/\n6WvYwuQXPMM5OG2Ryh2tDZ1WS5RKfgq+9ksNJ5Q9UtqtqHkO+E63N5OK9sbzpUUm\noNaOl3udTlZD3A8iqwMPVxH4SxgATBPAc+bmjk6BMJ0qIzDcVGTrqrzUiywCTLma\nszdk8GjzXtPDmuBgNn+o6s02qVGpyydgEuqmTQIDAQABAoIBACL6AvkjQVVLn8kJ\ndBYznJJ4M8ECo+YEgaFwgAHODT0zRQCCgzd+Vxl4YwHmKV2Lr+y2s0drZt8GvYva\nKOK8NYYZyi15IlwFyRXmvvykF1UBpSXluYFDH7KaVroWMgRreHcIys5LqVSIb6Bo\ngDmK0yBLPp8qR29s2b7ScZRtLaqGJiX+j55rNzrZwxHkxFHyG9OG+u9IsBElcKCP\nkYCVE8ZdYexfnKOZbgn2kZB9qu0T/Mdvki8yk3I2bI6xYO24oQmhnT36qnqWoCBX\nNuCNsBQgpYZeZET8mEAUmo9d+ABmIHIvSs005agK8xRaP4+6jYgy6WwoejJRF5yd\nNBuF7aECgYEA50nZ4FiZYV0vcJDxFYeY3kYOvVuKn8OyW+2rg7JIQTremIjv8FkE\nZnwuF9ZRxgqLxUIfKKfzp/5l5LrycNoj2YKfHKnRejxRWXqG+ZETfxxlmlRns0QG\nJ4+BYL0CoanDSeA4fuyn4Bv7cy/03TDhfg/Uq0Aeg+hhcPE/vx3ebPsCgYEAy/Pv\neDLssOSdeyIxf0Brtocg6aPXIVaLdus+bXmLg77rJIFytAZmTTW8SkkSczWtucI3\nFI1I6sei/8FdPzAl62/JDdlf7Wd9K7JIotY4TzT7Tm7QU7xpfLLYIP1bOFjN81rk\n77oOD4LsXcosB/U6s1blPJMZ6AlO2EKs10UuR1cCgYBipzuJ2ADEaOz9RLWwi0AH\nPza2Sj+c2epQD9ZivD7Zo/Sid3ZwvGeGF13JyR7kLEdmAkgsHUdu1rI7mAolXMaB\n1pdrsHureeLxGbRM6za3tzMXWv1Il7FQWoPC8ZwXvMOR1VQDv4nzq7vbbA8z8c+c\n57+8tALQHOTDOgQIzwK61QKBgERGVc0EJy4Uag+VY8J4m1ZQKBluqo7TfP6DQ7O8\nM5MX73maB/7yAX8pVO39RjrhJlYACRZNMbK+v/ckEQYdJSSKmGCVe0JrGYDuPtic\nI9+IGfSorf7KHPoMmMN6bPYQ7Gjh7a++tgRFTMEc8956Hnt4xGahy9NcglNtBpVN\n6G8jAoGBAMCh028pdzJa/xeBHLLaVB2sc0Fe7993WlsPmnVE779dAz7qMscOtXJK\nfgtriltLSSD6rTA9hUAsL/X62rY0wdXuNdijjBb/qvrx7CAV6i37NK1CjABNjsfG\nZM372Ac6zc1EqSrid2IjET1YqyIW2KGLI1R2xbQc98UGlt48OdWu\n-----END RSA PRIVATE KEY-----\n" - } - }, - "webhook-config": { - "value": { - "content_type": "json", - "insecure_ssl": "0", - "secret": "********", - "url": "https://example.com/webhook" - } - }, - "base-installation-items": { - "value": [ - { - "id": 1, - "account": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "access_tokens_url": "https://api.github.com/installations/1/access_tokens", - "repositories_url": "https://api.github.com/installation/repositories", - "html_url": "https://github.com/organizations/github/settings/installations/1", - "app_id": 1, - "target_id": 1, - "target_type": "Organization", - "permissions": { - "checks": "write", - "metadata": "read", - "contents": "read" - }, - "events": ["push", "pull_request"], - "single_file_name": "config.yaml", - "has_multiple_single_files": true, - "single_file_paths": ["config.yml", ".github/issue_TEMPLATE.md"], - "repository_selection": "selected", - "created_at": "2017-07-08T16:18:44-04:00", - "updated_at": "2017-07-08T16:18:44-04:00", - "app_slug": "github-actions" - } - ] - }, - "base-installation": { - "value": { - "id": 1, - "account": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "access_tokens_url": "https://api.github.com/installations/1/access_tokens", - "repositories_url": "https://api.github.com/installation/repositories", - "html_url": "https://github.com/organizations/github/settings/installations/1", - "app_id": 1, - "target_id": 1, - "target_type": "Organization", - "permissions": { - "checks": "write", - "metadata": "read", - "contents": "read" - }, - "events": ["push", "pull_request"], - "single_file_name": "config.yaml", - "has_multiple_single_files": true, - "single_file_paths": ["config.yml", ".github/issue_TEMPLATE.md"], - "repository_selection": "selected", - "created_at": "2017-07-08T16:18:44-04:00", - "updated_at": "2017-07-08T16:18:44-04:00", - "app_slug": "github-actions" - } - }, - "installation-token": { - "value": { - "token": "v1.1f699f1069f60xxx", - "expires_at": "2016-07-11T22:14:10Z", - "permissions": { "issues": "write", "contents": "read" }, - "repository_selection": "selected", - "repositories": [ - { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "clone_url": "https://github.com/octocat/Hello-World.git", - "mirror_url": "git:git.example.com/octocat/Hello-World", - "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", - "svn_url": "https://svn.github.com/octocat/Hello-World", - "homepage": "https://github.com", - "language": null, - "forks_count": 9, - "stargazers_count": 80, - "watchers_count": 80, - "size": 108, - "default_branch": "master", - "open_issues_count": 0, - "is_template": true, - "topics": ["octocat", "atom", "electron", "api"], - "has_issues": true, - "has_projects": true, - "has_wiki": true, - "has_pages": false, - "has_downloads": true, - "archived": false, - "disabled": false, - "visibility": "public", - "pushed_at": "2011-01-26T19:06:43Z", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "permissions": { "admin": false, "push": false, "pull": true }, - "allow_rebase_merge": true, - "template_repository": null, - "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", - "allow_squash_merge": true, - "delete_branch_on_merge": true, - "allow_merge_commit": true, - "subscribers_count": 42, - "network_count": 0, - "license": { - "key": "mit", - "name": "MIT License", - "url": "https://api.github.com/licenses/mit", - "spdx_id": "MIT", - "node_id": "MDc6TGljZW5zZW1pdA==", - "html_url": "https://github.com/licenses/mit" - }, - "forks": 1, - "open_issues": 1, - "watchers": 1 - } - ] - } - }, - "application-grant-items": { - "value": [ - { - "id": 1, - "url": "https://api.github.com/applications/grants/1", - "app": { - "url": "http://my-github-app.com", - "name": "my github app", - "client_id": "abcde12345fghij67890" - }, - "created_at": "2011-09-06T17:26:27Z", - "updated_at": "2011-09-06T20:39:23Z", - "scopes": ["public_repo"] - } - ] - }, - "application-grant": { - "value": { - "id": 1, - "url": "https://api.github.com/applications/grants/1", - "app": { - "url": "http://my-github-app.com", - "name": "my github app", - "client_id": "abcde12345fghij67890" - }, - "created_at": "2011-09-06T17:26:27Z", - "updated_at": "2011-09-06T20:39:23Z", - "scopes": ["public_repo"] - } - }, - "authorization-with-user": { - "value": { - "id": 1, - "url": "https://api.github.com/authorizations/1", - "scopes": ["public_repo", "user"], - "token": "abcdefgh12345678", - "token_last_eight": "12345678", - "hashed_token": "25f94a2a5c7fbaf499c665bc73d67c1c87e496da8985131633ee0a95819db2e8", - "app": { - "url": "http://my-github-app.com", - "name": "my github app", - "client_id": "abcde12345fghij67890" - }, - "note": "optional note", - "note_url": "http://optional/note/url", - "updated_at": "2011-09-06T20:39:23Z", - "created_at": "2011-09-06T17:26:27Z", - "fingerprint": "jklmnop12345678", - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - } - } - }, - "scope-token": { - "value": { - "id": 1, - "url": "https://api.github.com/authorizations/1", - "scopes": ["public_repo"], - "token": "abcdefgh12345678", - "token_last_eight": "12345678", - "hashed_token": "25f94a2a5c7fbaf499c665bc73d67c1c87e496da8985131633ee0a95819db2e8", - "app": { - "url": "http://my-github-app.com", - "name": "my github app", - "client_id": "abcde12345fghij67890" - }, - "note": "optional note", - "note_url": "http://optional/note/url", - "updated_at": "2011-09-06T20:39:23Z", - "created_at": "2011-09-06T17:26:27Z", - "fingerprint": "jklmnop12345678", - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "installation": { - "permissions": { - "metadata": "read", - "issues": "write", - "contents": "read" - }, - "repository_selection": "selected", - "single_file_name": ".github/workflow.yml", - "repositories_url": "https://api.github.com/user/repos", - "account": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "has_multiple_single_files": false, - "single_file_paths": [] - } - } - }, - "authorization-items": { - "value": [ - { - "id": 1, - "url": "https://api.github.com/authorizations/1", - "scopes": ["public_repo"], - "token": "", - "token_last_eight": "12345678", - "hashed_token": "25f94a2a5c7fbaf499c665bc73d67c1c87e496da8985131633ee0a95819db2e8", - "app": { - "url": "http://my-github-app.com", - "name": "my github app", - "client_id": "abcde12345fghij67890" - }, - "note": "optional note", - "note_url": "http://optional/note/url", - "updated_at": "2011-09-06T20:39:23Z", - "created_at": "2011-09-06T17:26:27Z", - "fingerprint": "jklmnop12345678" - } - ] - }, - "authorization": { - "value": { - "id": 1, - "url": "https://api.github.com/authorizations/1", - "scopes": ["public_repo"], - "token": "abcdefgh12345678", - "token_last_eight": "12345678", - "hashed_token": "25f94a2a5c7fbaf499c665bc73d67c1c87e496da8985131633ee0a95819db2e8", - "app": { - "url": "http://my-github-app.com", - "name": "my github app", - "client_id": "abcde12345fghij67890" - }, - "note": "optional note", - "note_url": "http://optional/note/url", - "updated_at": "2011-09-06T20:39:23Z", - "created_at": "2011-09-06T17:26:27Z", - "fingerprint": "" - } - }, - "authorization-response-if-returning-an-existing-token-2": { - "value": { - "id": 1, - "url": "https://api.github.com/authorizations/1", - "scopes": ["public_repo"], - "token": "", - "token_last_eight": "12345678", - "hashed_token": "25f94a2a5c7fbaf499c665bc73d67c1c87e496da8985131633ee0a95819db2e8", - "app": { - "url": "http://my-github-app.com", - "name": "my github app", - "client_id": "abcde12345fghij67890" - }, - "note": "optional note", - "note_url": "http://optional/note/url", - "updated_at": "2011-09-06T20:39:23Z", - "created_at": "2011-09-06T17:26:27Z", - "fingerprint": "" - } - }, - "authorization-response-if-returning-an-existing-token": { - "value": { - "id": 1, - "url": "https://api.github.com/authorizations/1", - "scopes": ["public_repo"], - "token": "", - "token_last_eight": "12345678", - "hashed_token": "25f94a2a5c7fbaf499c665bc73d67c1c87e496da8985131633ee0a95819db2e8", - "app": { - "url": "http://my-github-app.com", - "name": "my github app", - "client_id": "abcde12345fghij67890" - }, - "note": "optional note", - "note_url": "http://optional/note/url", - "updated_at": "2011-09-06T20:39:23Z", - "created_at": "2011-09-06T17:26:27Z", - "fingerprint": "jklmnop12345678" - } - }, - "authorization-3": { - "value": { - "id": 1, - "url": "https://api.github.com/authorizations/1", - "scopes": ["public_repo"], - "token": "abcdefgh12345678", - "token_last_eight": "12345678", - "hashed_token": "25f94a2a5c7fbaf499c665bc73d67c1c87e496da8985131633ee0a95819db2e8", - "app": { - "url": "http://my-github-app.com", - "name": "my github app", - "client_id": "abcde12345fghij67890" - }, - "note": "optional note", - "note_url": "http://optional/note/url", - "updated_at": "2011-09-06T20:39:23Z", - "created_at": "2011-09-06T17:26:27Z", - "fingerprint": "jklmnop12345678" - } - }, - "authorization-2": { - "value": { - "id": 1, - "url": "https://api.github.com/authorizations/1", - "scopes": ["public_repo"], - "token": "", - "token_last_eight": "12345678", - "hashed_token": "25f94a2a5c7fbaf499c665bc73d67c1c87e496da8985131633ee0a95819db2e8", - "app": { - "url": "http://my-github-app.com", - "name": "my github app", - "client_id": "abcde12345fghij67890" - }, - "note": "optional note", - "note_url": "http://optional/note/url", - "updated_at": "2011-09-06T20:39:23Z", - "created_at": "2011-09-06T17:26:27Z", - "fingerprint": "jklmnop12345678" - } - }, - "code-of-conduct-simple-items": { - "value": [ - { - "key": "citizen_code_of_conduct", - "name": "Citizen Code of Conduct", - "url": "https://api.github.com/codes_of_conduct/citizen_code_of_conduct", - "html_url": "http://citizencodeofconduct.org/" - }, - { - "key": "contributor_covenant", - "name": "Contributor Covenant", - "url": "https://api.github.com/codes_of_conduct/contributor_covenant", - "html_url": "https://www.contributor-covenant.org/version/2/0/code_of_conduct/" - } - ] - }, - "code-of-conduct": { - "value": { - "key": "contributor_covenant", - "name": "Contributor Covenant", - "url": "https://api.github.com/codes_of_conduct/contributor_covenant", - "body": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nIn the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.\n\n## Our Standards\n\nExamples of behavior that contributes to creating a positive environment include:\n\n* Using welcoming and inclusive language\n* Being respectful of differing viewpoints and experiences\n* Gracefully accepting constructive criticism\n* Focusing on what is best for the community\n* Showing empathy towards other community members\n\nExamples of unacceptable behavior by participants include:\n\n* The use of sexualized language or imagery and unwelcome sexual attention or advances\n* Trolling, insulting/derogatory comments, and personal or political attacks\n* Public or private harassment\n* Publishing others' private information, such as a physical or electronic address, without explicit permission\n* Other conduct which could reasonably be considered inappropriate in a professional setting\n\n## Our Responsibilities\n\nProject maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response\n to any instances of unacceptable behavior.\n\nProject maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.\n\n## Scope\n\nThis Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address,\n posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.\n\n## Enforcement\n\nInstances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.\n\nProject maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.\n\n## Attribution\n\nThis Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]\n\n[homepage]: http://contributor-covenant.org\n[version]: http://contributor-covenant.org/version/1/4/\n", - "html_url": "http://contributor-covenant.org/version/1/4/" - } - }, - "content-reference-attachment": { - "value": { - "id": 101, - "title": "[A-1234] Error found in core/models.py file'", - "body": "You have used an email that already exists for the user_email_uniq field.\n ## DETAILS:\n\nThe (email)=(Octocat@github.com) already exists.\n\n The error was found in core/models.py in get_or_create_user at line 62.\n\n self.save()" - } - }, - "actions-enterprise-permissions": { - "value": { - "enabled_organizations": "all", - "allowed_actions": "selected", - "selected_actions_url": "https://api.github.com/enterprises/2/actions/permissions/selected-actions" - } - }, - "organization-targets": { - "value": { - "total_count": 1, - "organizations": [ - { - "login": "octocat", - "id": 161335, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "url": "https://api.github.com/orgs/octo-org", - "repos_url": "https://api.github.com/orgs/octo-org/repos", - "events_url": "https://api.github.com/orgs/octo-org/events", - "hooks_url": "https://api.github.com/orgs/octo-org/hooks", - "issues_url": "https://api.github.com/orgs/octo-org/issues", - "members_url": "https://api.github.com/orgs/octo-org/members{/member}", - "public_members_url": "https://api.github.com/orgs/octo-org/public_members{/member}", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "description": "A great organization" - } - ] - } - }, - "selected-actions": { - "value": { - "github_owned_allowed": true, - "verified_allowed": false, - "patterns_allowed": ["monalisa/octocat@*", "docker/*"] - } - }, - "runner-groups-enterprise": { - "value": { - "total_count": 3, - "runner_groups": [ - { - "id": 1, - "name": "Default", - "visibility": "all", - "default": true, - "runners_url": "https://api.github.com/enterprises/octo-corp/actions/runner_groups/1/runners", - "allows_public_repositories": false - }, - { - "id": 2, - "name": "octo-runner-group", - "visibility": "selected", - "default": false, - "selected_organizations_url": "https://api.github.com/enterprises/octo-corp/actions/runner_groups/2/organizations", - "runners_url": "https://api.github.com/enterprises/octo-corp/actions/runner_groups/2/runners", - "allows_public_repositories": true - }, - { - "id": 3, - "name": "expensive-hardware", - "visibility": "private", - "default": false, - "runners_url": "https://api.github.com/enterprises/octo-corp/actions/runner_groups/3/runners", - "allows_public_repositories": true - } - ] - } - }, - "runner-group-enterprise": { - "value": { - "id": 2, - "name": "octo-runner-group", - "visibility": "selected", - "default": false, - "selected_organizations_url": "https://api.github.com/enterprises/octo-corp/actions/runner-groups/2/organizations", - "runners_url": "https://api.github.com/enterprises/octo-corp/actions/runner-groups/2/runners", - "allows_public_repositories": false - } - }, - "runner-group-update-enterprise": { - "value": { - "id": 2, - "name": "Expensive hardware runners", - "visibility": "selected", - "default": false, - "selected_organizations_url": "https://api.github.com/enterprises/octo-corp/actions/runner-groups/2/organizations", - "runners_url": "https://api.github.com/enterprises/octo-corp/actions/runner-groups/2/runners", - "allows_public_repositories": true - } - }, - "runner-paginated": { - "value": { - "total_count": 2, - "runners": [ - { - "id": 23, - "name": "linux_runner", - "os": "linux", - "status": "online", - "busy": true, - "labels": [ - { "id": 5, "name": "self-hosted", "type": "read-only" }, - { "id": 7, "name": "X64", "type": "read-only" }, - { "id": 11, "name": "Linux", "type": "read-only" } - ] - }, - { - "id": 24, - "name": "mac_runner", - "os": "macos", - "status": "offline", - "busy": false, - "labels": [ - { "id": 5, "name": "self-hosted", "type": "read-only" }, - { "id": 7, "name": "X64", "type": "read-only" }, - { "id": 20, "name": "macOS", "type": "read-only" }, - { "id": 21, "name": "no-gpu", "type": "custom" } - ] - } - ] - } - }, - "runner-application-items": { - "value": [ - { - "os": "osx", - "architecture": "x64", - "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-osx-x64-2.164.0.tar.gz", - "filename": "actions-runner-osx-x64-2.164.0.tar.gz" - }, - { - "os": "linux", - "architecture": "x64", - "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-linux-x64-2.164.0.tar.gz", - "filename": "actions-runner-linux-x64-2.164.0.tar.gz" - }, - { - "os": "linux", - "architecture": "arm", - "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-linux-arm-2.164.0.tar.gz", - "filename": "actions-runner-linux-arm-2.164.0.tar.gz" - }, - { - "os": "win", - "architecture": "x64", - "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-win-x64-2.164.0.zip", - "filename": "actions-runner-win-x64-2.164.0.zip" - }, - { - "os": "linux", - "architecture": "arm64", - "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-linux-arm64-2.164.0.tar.gz", - "filename": "actions-runner-linux-arm64-2.164.0.tar.gz" - } - ] - }, - "authentication-token": { - "value": { - "token": "LLBF3JGZDX3P5PMEXLND6TS6FCWO6", - "expires_at": "2020-01-22T12:13:35.123-08:00" - } - }, - "authentication-token-2": { - "value": { - "token": "AABF3JGZDX3P5PMEXLND6TS6FCWO6", - "expires_at": "2020-01-29T12:13:35.123-08:00" - } - }, - "runner": { - "value": { - "id": 23, - "name": "MBP", - "os": "macos", - "status": "online", - "busy": true, - "labels": [ - { "id": 5, "name": "self-hosted", "type": "read-only" }, - { "id": 7, "name": "X64", "type": "read-only" }, - { "id": 20, "name": "macOS", "type": "read-only" }, - { "id": 21, "name": "no-gpu", "type": "custom" } - ] - } - }, - "audit-log": { - "value": [ - { - "@timestamp": 1606929874512, - "action": "team.add_member", - "actor": "octocat", - "created_at": 1606929874512, - "org": "octo-corp", - "team": "octo-corp/example-team", - "user": "monalisa" - }, - { - "@timestamp": 1606507117008, - "action": "org.create", - "actor": "octocat", - "created_at": 1606507117008, - "org": "octocat-test-org" - }, - { - "@timestamp": 1605719148837, - "action": "repo.destroy", - "actor": "monalisa", - "created_at": 1605719148837, - "org": "mona-org", - "repo": "mona-org/mona-test-repo", - "visibility": "private" - } - ] - }, - "actions-billing-usage": { - "value": { - "total_minutes_used": 305, - "total_paid_minutes_used": 0, - "included_minutes": 3000, - "minutes_used_breakdown": { - "UBUNTU": 205, - "MACOS": 10, - "WINDOWS": 90 - } - } - }, - "packages-billing-usage": { - "value": { - "total_gigabytes_bandwidth_used": 50, - "total_paid_gigabytes_bandwidth_used": 40, - "included_gigabytes_bandwidth": 10 - } - }, - "combined-billing-usage": { - "value": { - "days_left_in_billing_cycle": 20, - "estimated_paid_storage_for_month": 15, - "estimated_storage_for_month": 40 - } - }, - "feed": { - "value": { - "timeline_url": "https://github.com/timeline", - "user_url": "https://github.com/{user}", - "current_user_public_url": "https://github.com/octocat", - "current_user_url": "https://github.com/octocat.private?token=abc123", - "current_user_actor_url": "https://github.com/octocat.private.actor?token=abc123", - "current_user_organization_url": "", - "current_user_organization_urls": [ - "https://github.com/organizations/github/octocat.private.atom?token=abc123" - ], - "security_advisories_url": "https://github.com/security-advisories", - "_links": { - "timeline": { - "href": "https://github.com/timeline", - "type": "application/atom+xml" - }, - "user": { - "href": "https://github.com/{user}", - "type": "application/atom+xml" - }, - "current_user_public": { - "href": "https://github.com/octocat", - "type": "application/atom+xml" - }, - "current_user": { - "href": "https://github.com/octocat.private?token=abc123", - "type": "application/atom+xml" - }, - "current_user_actor": { - "href": "https://github.com/octocat.private.actor?token=abc123", - "type": "application/atom+xml" - }, - "current_user_organization": { "href": "", "type": "" }, - "current_user_organizations": [ - { - "href": "https://github.com/organizations/github/octocat.private.atom?token=abc123", - "type": "application/atom+xml" - } - ], - "security_advisories": { - "href": "https://github.com/security-advisories", - "type": "application/atom+xml" - } - } - } - }, - "base-gist-items": { - "value": [ - { - "url": "https://api.github.com/gists/aa5a315d61ae9438b18d", - "forks_url": "https://api.github.com/gists/aa5a315d61ae9438b18d/forks", - "commits_url": "https://api.github.com/gists/aa5a315d61ae9438b18d/commits", - "id": "aa5a315d61ae9438b18d", - "node_id": "MDQ6R2lzdGFhNWEzMTVkNjFhZTk0MzhiMThk", - "git_pull_url": "https://gist.github.com/aa5a315d61ae9438b18d.git", - "git_push_url": "https://gist.github.com/aa5a315d61ae9438b18d.git", - "html_url": "https://gist.github.com/aa5a315d61ae9438b18d", - "files": { - "hello_world.rb": { - "filename": "hello_world.rb", - "type": "application/x-ruby", - "language": "Ruby", - "raw_url": "https://gist.githubusercontent.com/octocat/6cad326836d38bd3a7ae/raw/db9c55113504e46fa076e7df3a04ce592e2e86d8/hello_world.rb", - "size": 167 - } - }, - "public": true, - "created_at": "2010-04-14T02:15:15Z", - "updated_at": "2011-06-20T11:34:15Z", - "description": "Hello World Examples", - "comments": 0, - "user": null, - "comments_url": "https://api.github.com/gists/aa5a315d61ae9438b18d/comments/", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "truncated": false - } - ] - }, - "gist": { - "value": { - "url": "https://api.github.com/gists/aa5a315d61ae9438b18d", - "forks_url": "https://api.github.com/gists/aa5a315d61ae9438b18d/forks", - "commits_url": "https://api.github.com/gists/aa5a315d61ae9438b18d/commits", - "id": "aa5a315d61ae9438b18d", - "node_id": "MDQ6R2lzdGFhNWEzMTVkNjFhZTk0MzhiMThk", - "git_pull_url": "https://gist.github.com/aa5a315d61ae9438b18d.git", - "git_push_url": "https://gist.github.com/aa5a315d61ae9438b18d.git", - "html_url": "https://gist.github.com/aa5a315d61ae9438b18d", - "created_at": "2010-04-14T02:15:15Z", - "updated_at": "2011-06-20T11:34:15Z", - "description": "Hello World Examples", - "comments": 0, - "comments_url": "https://api.github.com/gists/aa5a315d61ae9438b18d/comments/" - } - }, - "gist-comment-items": { - "value": [ - { - "id": 1, - "node_id": "MDExOkdpc3RDb21tZW50MQ==", - "url": "https://api.github.com/gists/a6db0bec360bb87e9418/comments/1", - "body": "Just commenting for the sake of commenting", - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "created_at": "2011-04-18T23:23:56Z", - "updated_at": "2011-04-18T23:23:56Z", - "author_association": "COLLABORATOR" - } - ] - }, - "gist-comment": { - "value": { - "id": 1, - "node_id": "MDExOkdpc3RDb21tZW50MQ==", - "url": "https://api.github.com/gists/a6db0bec360bb87e9418/comments/1", - "body": "Just commenting for the sake of commenting", - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "created_at": "2011-04-18T23:23:56Z", - "updated_at": "2011-04-18T23:23:56Z", - "author_association": "COLLABORATOR" - } - }, - "gist-commit-items": { - "value": [ - { - "url": "https://api.github.com/gists/aa5a315d61ae9438b18d/57a7f021a713b1c5a6a199b54cc514735d2d462f", - "version": "57a7f021a713b1c5a6a199b54cc514735d2d462f", - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "change_status": { "deletions": 0, "additions": 180, "total": 180 }, - "committed_at": "2010-04-14T02:15:15Z" - } - ] - }, - "gist-fork-items": { - "value": [ - { - "url": "https://api.github.com/gists/aa5a315d61ae9438b18d", - "forks_url": "https://api.github.com/gists/aa5a315d61ae9438b18d/forks", - "commits_url": "https://api.github.com/gists/aa5a315d61ae9438b18d/commits", - "id": "aa5a315d61ae9438b18d", - "node_id": "MDQ6R2lzdGFhNWEzMTVkNjFhZTk0MzhiMThk", - "git_pull_url": "https://gist.github.com/aa5a315d61ae9438b18d.git", - "git_push_url": "https://gist.github.com/aa5a315d61ae9438b18d.git", - "html_url": "https://gist.github.com/aa5a315d61ae9438b18d", - "files": { - "hello_world.rb": { - "filename": "hello_world.rb", - "type": "application/x-ruby", - "language": "Ruby", - "raw_url": "https://gist.githubusercontent.com/octocat/6cad326836d38bd3a7ae/raw/db9c55113504e46fa076e7df3a04ce592e2e86d8/hello_world.rb", - "size": 167 - } - }, - "public": true, - "created_at": "2010-04-14T02:15:15Z", - "updated_at": "2011-06-20T11:34:15Z", - "description": "Hello World Examples", - "comments": 1, - "user": null, - "comments_url": "https://api.github.com/gists/aa5a315d61ae9438b18d/comments/", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - } - } - ] - }, - "base-gist": { - "value": { - "url": "https://api.github.com/gists/aa5a315d61ae9438b18d", - "forks_url": "https://api.github.com/gists/aa5a315d61ae9438b18d/forks", - "commits_url": "https://api.github.com/gists/aa5a315d61ae9438b18d/commits", - "id": "aa5a315d61ae9438b18d", - "node_id": "MDQ6R2lzdGFhNWEzMTVkNjFhZTk0MzhiMThk", - "git_pull_url": "https://gist.github.com/aa5a315d61ae9438b18d.git", - "git_push_url": "https://gist.github.com/aa5a315d61ae9438b18d.git", - "html_url": "https://gist.github.com/aa5a315d61ae9438b18d", - "files": { - "hello_world.rb": { - "filename": "hello_world.rb", - "type": "application/x-ruby", - "language": "Ruby", - "raw_url": "https://gist.githubusercontent.com/octocat/6cad326836d38bd3a7ae/raw/db9c55113504e46fa076e7df3a04ce592e2e86d8/hello_world.rb", - "size": 167 - } - }, - "public": true, - "created_at": "2010-04-14T02:15:15Z", - "updated_at": "2011-06-20T11:34:15Z", - "description": "Hello World Examples", - "comments": 0, - "user": null, - "comments_url": "https://api.github.com/gists/aa5a315d61ae9438b18d/comments/", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "truncated": false - } - }, - "gitignore-template": { - "value": { - "name": "C", - "source": "# Object files\n*.o\n\n# Libraries\n*.lib\n*.a\n\n# Shared objects (inc. Windows DLLs)\n*.dll\n*.so\n*.so.*\n*.dylib\n\n# Executables\n*.exe\n*.out\n*.app\n" - } - }, - "repository-paginated-2": { - "value": { - "total_count": 1, - "repositories": [ - { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "clone_url": "https://github.com/octocat/Hello-World.git", - "mirror_url": "git:git.example.com/octocat/Hello-World", - "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", - "svn_url": "https://svn.github.com/octocat/Hello-World", - "homepage": "https://github.com", - "language": null, - "forks_count": 9, - "stargazers_count": 80, - "watchers_count": 80, - "size": 108, - "default_branch": "master", - "open_issues_count": 0, - "is_template": true, - "topics": ["octocat", "atom", "electron", "api"], - "has_issues": true, - "has_projects": true, - "has_wiki": true, - "has_pages": false, - "has_downloads": true, - "archived": false, - "disabled": false, - "visibility": "public", - "pushed_at": "2011-01-26T19:06:43Z", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "allow_rebase_merge": true, - "template_repository": null, - "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", - "allow_squash_merge": true, - "delete_branch_on_merge": true, - "allow_merge_commit": true, - "subscribers_count": 42, - "network_count": 0, - "license": { - "key": "mit", - "name": "MIT License", - "url": "https://api.github.com/licenses/mit", - "spdx_id": "MIT", - "node_id": "MDc6TGljZW5zZW1pdA==", - "html_url": "https://github.com/licenses/mit" - }, - "forks": 1, - "open_issues": 1, - "watchers": 1 - } - ] - } - }, - "issue-with-repo-items": { - "value": [ - { - "id": 1, - "node_id": "MDU6SXNzdWUx", - "url": "https://api.github.com/repos/octocat/Hello-World/issues/1347", - "repository_url": "https://api.github.com/repos/octocat/Hello-World", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/labels{/name}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/comments", - "events_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/events", - "html_url": "https://github.com/octocat/Hello-World/issues/1347", - "number": 1347, - "state": "open", - "title": "Found a bug", - "body": "I'm having a problem with this.", - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "labels": [ - { - "id": 208045946, - "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", - "url": "https://api.github.com/repos/octocat/Hello-World/labels/bug", - "name": "bug", - "description": "Something isn't working", - "color": "f29513", - "default": true - } - ], - "assignee": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "assignees": [ - { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - } - ], - "milestone": { - "url": "https://api.github.com/repos/octocat/Hello-World/milestones/1", - "html_url": "https://github.com/octocat/Hello-World/milestones/v1.0", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/milestones/1/labels", - "id": 1002604, - "node_id": "MDk6TWlsZXN0b25lMTAwMjYwNA==", - "number": 1, - "state": "open", - "title": "v1.0", - "description": "Tracking milestone for version 1.0", - "creator": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "open_issues": 4, - "closed_issues": 8, - "created_at": "2011-04-10T20:09:31Z", - "updated_at": "2014-03-03T18:58:10Z", - "closed_at": "2013-02-12T13:22:01Z", - "due_on": "2012-10-09T23:39:01Z" - }, - "locked": true, - "active_lock_reason": "too heated", - "comments": 0, - "pull_request": { - "url": "https://api.github.com/repos/octocat/Hello-World/pulls/1347", - "html_url": "https://github.com/octocat/Hello-World/pull/1347", - "diff_url": "https://github.com/octocat/Hello-World/pull/1347.diff", - "patch_url": "https://github.com/octocat/Hello-World/pull/1347.patch" - }, - "closed_at": null, - "created_at": "2011-04-22T13:33:48Z", - "updated_at": "2011-04-22T13:33:48Z", - "repository": { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "clone_url": "https://github.com/octocat/Hello-World.git", - "mirror_url": "git:git.example.com/octocat/Hello-World", - "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", - "svn_url": "https://svn.github.com/octocat/Hello-World", - "homepage": "https://github.com", - "language": null, - "forks_count": 9, - "stargazers_count": 80, - "watchers_count": 80, - "size": 108, - "default_branch": "master", - "open_issues_count": 0, - "is_template": true, - "topics": ["octocat", "atom", "electron", "api"], - "has_issues": true, - "has_projects": true, - "has_wiki": true, - "has_pages": false, - "has_downloads": true, - "archived": false, - "disabled": false, - "visibility": "public", - "pushed_at": "2011-01-26T19:06:43Z", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "permissions": { "admin": false, "push": false, "pull": true }, - "allow_rebase_merge": true, - "template_repository": null, - "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", - "allow_squash_merge": true, - "delete_branch_on_merge": true, - "allow_merge_commit": true, - "subscribers_count": 42, - "network_count": 0, - "license": { - "key": "mit", - "name": "MIT License", - "url": "https://api.github.com/licenses/mit", - "spdx_id": "MIT", - "node_id": "MDc6TGljZW5zZW1pdA==", - "html_url": "https://github.com/licenses/mit" - }, - "forks": 1, - "open_issues": 1, - "watchers": 1 - }, - "author_association": "COLLABORATOR" - } - ] - }, - "license-simple-items": { - "value": [ - { - "key": "mit", - "name": "MIT License", - "spdx_id": "MIT", - "url": "https://api.github.com/licenses/mit", - "node_id": "MDc6TGljZW5zZW1pdA==" - }, - { - "key": "lgpl-3.0", - "name": "GNU Lesser General Public License v3.0", - "spdx_id": "LGPL-3.0", - "url": "https://api.github.com/licenses/lgpl-3.0", - "node_id": "MDc6TGljZW5zZW1pdA==" - }, - { - "key": "mpl-2.0", - "name": "Mozilla Public License 2.0", - "spdx_id": "MPL-2.0", - "url": "https://api.github.com/licenses/mpl-2.0", - "node_id": "MDc6TGljZW5zZW1pdA==" - }, - { - "key": "agpl-3.0", - "name": "GNU Affero General Public License v3.0", - "spdx_id": "AGPL-3.0", - "url": "https://api.github.com/licenses/agpl-3.0", - "node_id": "MDc6TGljZW5zZW1pdA==" - }, - { - "key": "unlicense", - "name": "The Unlicense", - "spdx_id": "Unlicense", - "url": "https://api.github.com/licenses/unlicense", - "node_id": "MDc6TGljZW5zZW1pdA==" - }, - { - "key": "apache-2.0", - "name": "Apache License 2.0", - "spdx_id": "Apache-2.0", - "url": "https://api.github.com/licenses/apache-2.0", - "node_id": "MDc6TGljZW5zZW1pdA==" - }, - { - "key": "gpl-3.0", - "name": "GNU General Public License v3.0", - "spdx_id": "GPL-3.0", - "url": "https://api.github.com/licenses/gpl-3.0", - "node_id": "MDc6TGljZW5zZW1pdA==" - } - ] - }, - "license": { - "value": { - "key": "mit", - "name": "MIT License", - "spdx_id": "MIT", - "url": "https://api.github.com/licenses/mit", - "node_id": "MDc6TGljZW5zZW1pdA==", - "html_url": "http://choosealicense.com/licenses/mit/", - "description": "A permissive license that is short and to the point. It lets people do anything with your code with proper attribution and without warranty.", - "implementation": "Create a text file (typically named LICENSE or LICENSE.txt) in the root of your source code and copy the text of the license into the file. Replace [year] with the current year and [fullname] with the name (or names) of the copyright holders.", - "permissions": [ - "commercial-use", - "modifications", - "distribution", - "sublicense", - "private-use" - ], - "conditions": ["include-copyright"], - "limitations": ["no-liability"], - "body": "\n\nThe MIT License (MIT)\n\nCopyright (c) [year] [fullname]\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n", - "featured": true - } - }, - "marketplace-purchase": { - "value": { - "url": "https://api.github.com/orgs/github", - "type": "Organization", - "id": 4, - "login": "github", - "organization_billing_email": "billing@github.com", - "marketplace_pending_change": { - "effective_date": "2017-11-11T00:00:00Z", - "unit_count": null, - "id": 77, - "plan": { - "url": "https://api.github.com/marketplace_listing/plans/1111", - "accounts_url": "https://api.github.com/marketplace_listing/plans/1111/accounts", - "id": 1111, - "number": 2, - "name": "Startup", - "description": "A professional-grade CI solution", - "monthly_price_in_cents": 699, - "yearly_price_in_cents": 7870, - "price_model": "flat-rate", - "has_free_trial": true, - "state": "published", - "unit_name": null, - "bullets": [ - "Up to 10 private repositories", - "3 concurrent builds" - ] - } - }, - "marketplace_purchase": { - "billing_cycle": "monthly", - "next_billing_date": "2017-11-11T00:00:00Z", - "unit_count": null, - "on_free_trial": true, - "free_trial_ends_on": "2017-11-11T00:00:00Z", - "updated_at": "2017-11-02T01:12:12Z", - "plan": { - "url": "https://api.github.com/marketplace_listing/plans/1313", - "accounts_url": "https://api.github.com/marketplace_listing/plans/1313/accounts", - "id": 1313, - "number": 3, - "name": "Pro", - "description": "A professional-grade CI solution", - "monthly_price_in_cents": 1099, - "yearly_price_in_cents": 11870, - "price_model": "flat-rate", - "has_free_trial": true, - "unit_name": null, - "state": "published", - "bullets": [ - "Up to 25 private repositories", - "11 concurrent builds" - ] - } - } - } - }, - "marketplace-listing-plan-items": { - "value": [ - { - "url": "https://api.github.com/marketplace_listing/plans/1313", - "accounts_url": "https://api.github.com/marketplace_listing/plans/1313/accounts", - "id": 1313, - "number": 3, - "name": "Pro", - "description": "A professional-grade CI solution", - "monthly_price_in_cents": 1099, - "yearly_price_in_cents": 11870, - "price_model": "flat-rate", - "has_free_trial": true, - "unit_name": null, - "state": "published", - "bullets": ["Up to 25 private repositories", "11 concurrent builds"] - } - ] - }, - "marketplace-purchase-items": { - "value": [ - { - "url": "https://api.github.com/orgs/github", - "type": "Organization", - "id": 4, - "login": "github", - "organization_billing_email": "billing@github.com", - "marketplace_pending_change": { - "effective_date": "2017-11-11T00:00:00Z", - "unit_count": null, - "id": 77, - "plan": { - "url": "https://api.github.com/marketplace_listing/plans/1111", - "accounts_url": "https://api.github.com/marketplace_listing/plans/1111/accounts", - "id": 1111, - "number": 2, - "name": "Startup", - "description": "A professional-grade CI solution", - "monthly_price_in_cents": 699, - "yearly_price_in_cents": 7870, - "price_model": "flat-rate", - "has_free_trial": true, - "state": "published", - "unit_name": null, - "bullets": [ - "Up to 10 private repositories", - "3 concurrent builds" - ] - } - }, - "marketplace_purchase": { - "billing_cycle": "monthly", - "next_billing_date": "2017-11-11T00:00:00Z", - "unit_count": null, - "on_free_trial": true, - "free_trial_ends_on": "2017-11-11T00:00:00Z", - "updated_at": "2017-11-02T01:12:12Z", - "plan": { - "url": "https://api.github.com/marketplace_listing/plans/1313", - "accounts_url": "https://api.github.com/marketplace_listing/plans/1313/accounts", - "id": 1313, - "number": 3, - "name": "Pro", - "description": "A professional-grade CI solution", - "monthly_price_in_cents": 1099, - "yearly_price_in_cents": 11870, - "price_model": "flat-rate", - "has_free_trial": true, - "unit_name": null, - "state": "published", - "bullets": [ - "Up to 25 private repositories", - "11 concurrent builds" - ] - } - } - } - ] - }, - "api-overview": { - "value": { - "verifiable_password_authentication": true, - "ssh_key_fingerprints": { - "SHA256_RSA": "nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8", - "SHA256_DSA": "br9IjFspm1vxR3iA35FWE+4VTyz1hYVLIE2t1/CeyWQ" - }, - "hooks": ["192.30.252.0/22"], - "web": ["192.30.252.0/22", "185.199.108.0/22"], - "api": ["192.30.252.0/22", "185.199.108.0/22"], - "git": ["192.30.252.0/22"], - "pages": ["192.30.252.153/32", "192.30.252.154/32"], - "importer": ["54.158.161.132", "54.226.70.38"], - "actions": ["13.64.0.0/16", "13.65.0.0/16"] - } - }, - "thread-items": { - "value": [ - { - "id": "1", - "repository": { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "hooks_url": "http://api.github.com/repos/octocat/Hello-World/hooks" - }, - "subject": { - "title": "Greetings", - "url": "https://api.github.com/repos/octokit/octokit.rb/issues/123", - "latest_comment_url": "https://api.github.com/repos/octokit/octokit.rb/issues/comments/123", - "type": "Issue" - }, - "reason": "subscribed", - "unread": true, - "updated_at": "2014-11-07T22:01:45Z", - "last_read_at": "2014-11-07T22:01:45Z", - "url": "https://api.github.com/notifications/threads/1", - "subscription_url": "https://api.github.com/notifications/threads/1/subscription" - } - ] - }, - "thread": { - "value": { - "id": "1", - "repository": { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "hooks_url": "http://api.github.com/repos/octocat/Hello-World/hooks" - }, - "subject": { - "title": "Greetings", - "url": "https://api.github.com/repos/octokit/octokit.rb/issues/123", - "latest_comment_url": "https://api.github.com/repos/octokit/octokit.rb/issues/comments/123", - "type": "Issue" - }, - "reason": "subscribed", - "unread": true, - "updated_at": "2014-11-07T22:01:45Z", - "last_read_at": "2014-11-07T22:01:45Z", - "url": "https://api.github.com/notifications/threads/1", - "subscription_url": "https://api.github.com/notifications/threads/1/subscription" - } - }, - "thread-subscription": { - "value": { - "subscribed": true, - "ignored": false, - "reason": null, - "created_at": "2012-10-06T21:34:12Z", - "url": "https://api.github.com/notifications/threads/1/subscription", - "thread_url": "https://api.github.com/notifications/threads/1" - } - }, - "organization-simple-items": { - "value": [ - { - "login": "github", - "id": 1, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", - "url": "https://api.github.com/orgs/github", - "repos_url": "https://api.github.com/orgs/github/repos", - "events_url": "https://api.github.com/orgs/github/events", - "hooks_url": "https://api.github.com/orgs/github/hooks", - "issues_url": "https://api.github.com/orgs/github/issues", - "members_url": "https://api.github.com/orgs/github/members{/member}", - "public_members_url": "https://api.github.com/orgs/github/public_members{/member}", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "description": "A great organization" - } - ] - }, - "organization-full-default-response": { - "summary": "Default response", - "value": { - "login": "github", - "id": 1, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", - "url": "https://api.github.com/orgs/github", - "repos_url": "https://api.github.com/orgs/github/repos", - "events_url": "https://api.github.com/orgs/github/events", - "hooks_url": "https://api.github.com/orgs/github/hooks", - "issues_url": "https://api.github.com/orgs/github/issues", - "members_url": "https://api.github.com/orgs/github/members{/member}", - "public_members_url": "https://api.github.com/orgs/github/public_members{/member}", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "description": "A great organization", - "name": "github", - "company": "GitHub", - "blog": "https://github.com/blog", - "location": "San Francisco", - "email": "octocat@github.com", - "twitter_username": "github", - "is_verified": true, - "has_organization_projects": true, - "has_repository_projects": true, - "public_repos": 2, - "public_gists": 1, - "followers": 20, - "following": 0, - "html_url": "https://github.com/octocat", - "created_at": "2008-01-14T04:33:35Z", - "updated_at": "2014-03-03T18:58:10Z", - "type": "Organization", - "total_private_repos": 100, - "owned_private_repos": 100, - "private_gists": 81, - "disk_usage": 10000, - "collaborators": 8, - "billing_email": "mona@github.com", - "plan": { "name": "Medium", "space": 400, "private_repos": 20 }, - "default_repository_permission": "read", - "members_can_create_repositories": true, - "two_factor_requirement_enabled": true, - "members_allowed_repository_creation_type": "all", - "members_can_create_public_repositories": false, - "members_can_create_private_repositories": false, - "members_can_create_internal_repositories": false, - "members_can_create_pages": true - } - }, - "organization-full-response-with-git-hub-plan-information": { - "summary": "Response with GitHub plan information", - "value": { - "login": "github", - "id": 1, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", - "url": "https://api.github.com/orgs/github", - "repos_url": "https://api.github.com/orgs/github/repos", - "events_url": "https://api.github.com/orgs/github/events", - "hooks_url": "https://api.github.com/orgs/github/hooks", - "issues_url": "https://api.github.com/orgs/github/issues", - "members_url": "https://api.github.com/orgs/github/members{/member}", - "public_members_url": "https://api.github.com/orgs/github/public_members{/member}", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "description": "A great organization", - "name": "github", - "company": "GitHub", - "blog": "https://github.com/blog", - "location": "San Francisco", - "email": "octocat@github.com", - "twitter_username": "github", - "is_verified": true, - "has_organization_projects": true, - "has_repository_projects": true, - "public_repos": 2, - "public_gists": 1, - "followers": 20, - "following": 0, - "html_url": "https://github.com/octocat", - "created_at": "2008-01-14T04:33:35Z", - "updated_at": "2014-03-03T18:58:10Z", - "type": "Organization", - "plan": { - "name": "team", - "space": 976562499, - "private_repos": 999999, - "filled_seats": 4, - "seats": 5 - } - } - }, - "organization-full": { - "value": { - "login": "github", - "id": 1, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", - "url": "https://api.github.com/orgs/github", - "repos_url": "https://api.github.com/orgs/github/repos", - "events_url": "https://api.github.com/orgs/github/events", - "hooks_url": "https://api.github.com/orgs/github/hooks", - "issues_url": "https://api.github.com/orgs/github/issues", - "members_url": "https://api.github.com/orgs/github/members{/member}", - "public_members_url": "https://api.github.com/orgs/github/public_members{/member}", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "description": "A great organization", - "name": "github", - "company": "GitHub", - "blog": "https://github.com/blog", - "location": "San Francisco", - "email": "octocat@github.com", - "twitter_username": "github", - "is_verified": true, - "has_organization_projects": true, - "has_repository_projects": true, - "public_repos": 2, - "public_gists": 1, - "followers": 20, - "following": 0, - "html_url": "https://github.com/octocat", - "created_at": "2008-01-14T04:33:35Z", - "type": "Organization", - "total_private_repos": 100, - "owned_private_repos": 100, - "private_gists": 81, - "disk_usage": 10000, - "collaborators": 8, - "billing_email": "mona@github.com", - "plan": { "name": "Medium", "space": 400, "private_repos": 20 }, - "default_repository_permission": "read", - "members_can_create_repositories": true, - "two_factor_requirement_enabled": true, - "members_allowed_repository_creation_type": "all", - "members_can_create_public_repositories": false, - "members_can_create_private_repositories": false, - "members_can_create_internal_repositories": false, - "members_can_create_pages": true, - "updated_at": "2014-03-03T18:58:10Z" - } - }, - "actions-organization-permissions": { - "value": { - "enabled_repositories": "all", - "allowed_actions": "selected", - "selected_actions_url": "https://api.github.com/organizations/42/actions/permissions/selected-actions" - } - }, - "repository-paginated": { - "value": { - "total_count": 1, - "repositories": [ - { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "clone_url": "https://github.com/octocat/Hello-World.git", - "mirror_url": "git:git.example.com/octocat/Hello-World", - "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", - "svn_url": "https://svn.github.com/octocat/Hello-World", - "homepage": "https://github.com", - "language": null, - "forks_count": 9, - "stargazers_count": 80, - "watchers_count": 80, - "size": 108, - "default_branch": "master", - "open_issues_count": 0, - "is_template": true, - "topics": ["octocat", "atom", "electron", "api"], - "has_issues": true, - "has_projects": true, - "has_wiki": true, - "has_pages": false, - "has_downloads": true, - "archived": false, - "disabled": false, - "visibility": "public", - "pushed_at": "2011-01-26T19:06:43Z", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "permissions": { "admin": false, "push": false, "pull": true }, - "allow_rebase_merge": true, - "template_repository": null, - "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", - "allow_squash_merge": true, - "delete_branch_on_merge": true, - "allow_merge_commit": true, - "subscribers_count": 42, - "network_count": 0, - "license": { - "key": "mit", - "name": "MIT License", - "url": "https://api.github.com/licenses/mit", - "spdx_id": "MIT", - "node_id": "MDc6TGljZW5zZW1pdA==", - "html_url": "https://github.com/licenses/mit" - }, - "forks": 1, - "open_issues": 1, - "watchers": 1 - } - ] - } - }, - "runner-groups-org": { - "value": { - "total_count": 3, - "runner_groups": [ - { - "id": 1, - "name": "Default", - "visibility": "all", - "default": true, - "runners_url": "https://api.github.com/orgs/octo-org/actions/runner_groups/1/runners", - "inherited": false, - "allows_public_repositories": true - }, - { - "id": 2, - "name": "octo-runner-group", - "visibility": "selected", - "default": false, - "selected_repositories_url": "https://api.github.com/orgs/octo-org/actions/runner_groups/2/repositories", - "runners_url": "https://api.github.com/orgs/octo-org/actions/runner_groups/2/runners", - "inherited": true, - "allows_public_repositories": true - }, - { - "id": 3, - "name": "expensive-hardware", - "visibility": "private", - "default": false, - "runners_url": "https://api.github.com/orgs/octo-org/actions/runner_groups/3/runners", - "inherited": false, - "allows_public_repositories": true - } - ] - } - }, - "runner-group": { - "value": { - "id": 2, - "name": "octo-runner-group", - "visibility": "selected", - "default": false, - "selected_repositories_url": "https://api.github.com/orgs/octo-org/actions/runner-groups/2/repositories", - "runners_url": "https://api.github.com/orgs/octo-org/actions/runner_groups/2/runners", - "inherited": false, - "allows_public_repositories": true - } - }, - "runner-group-item": { - "value": { - "id": 2, - "name": "octo-runner-group", - "visibility": "selected", - "default": false, - "selected_repositories_url": "https://api.github.com/orgs/octo-org/actions/runner_groups/2/repositories", - "runners_url": "https://api.github.com/orgs/octo-org/actions/runner_groups/2/runners", - "inherited": false, - "allows_public_repositories": true - } - }, - "organization-actions-secret-paginated": { - "value": { - "total_count": 3, - "secrets": [ - { - "name": "GIST_ID", - "created_at": "2019-08-10T14:59:22Z", - "updated_at": "2020-01-10T14:59:22Z", - "visibility": "private" - }, - { - "name": "DEPLOY_TOKEN", - "created_at": "2019-08-10T14:59:22Z", - "updated_at": "2020-01-10T14:59:22Z", - "visibility": "all" - }, - { - "name": "GH_TOKEN", - "created_at": "2019-08-10T14:59:22Z", - "updated_at": "2020-01-10T14:59:22Z", - "visibility": "selected", - "selected_repositories_url": "https://api.github.com/orgs/octo-org/actions/secrets/SUPER_SECRET/repositories" - } - ] - } - }, - "actions-public-key": { - "value": { - "key_id": "012345678912345678", - "key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234" - } - }, - "organization-actions-secret": { - "value": { - "name": "GH_TOKEN", - "created_at": "2019-08-10T14:59:22Z", - "updated_at": "2020-01-10T14:59:22Z", - "visibility": "selected", - "selected_repositories_url": "https://api.github.com/orgs/octo-org/actions/secrets/SUPER_SECRET/repositories" - } - }, - "public-repository-paginated": { - "value": { - "total_count": 1, - "repositories": [ - { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "hooks_url": "http://api.github.com/repos/octocat/Hello-World/hooks" - } - ] - } - }, - "simple-user-items": { - "value": [ - { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - } - ] - }, - "credential-authorization-items": { - "value": [ - { - "login": "octocat", - "credential_id": 161195, - "credential_type": "personal access token", - "token_last_eight": "71c3fc11", - "credential_authorized_at": "2011-01-26T19:06:43Z", - "scopes": ["user", "repo"] - }, - { - "login": "hubot", - "credential_id": 161196, - "credential_type": "personal access token", - "token_last_eight": "12345678", - "credential_authorized_at": "2019-03-29T19:06:43Z", - "scopes": ["repo"] - } - ] - }, - "organization-invitation-items": { - "value": [ - { - "id": 1, - "login": "monalisa", - "node_id": "MDQ6VXNlcjE=", - "email": "octocat@github.com", - "role": "direct_member", - "created_at": "2016-11-30T06:46:10-08:00", - "failed_at": "", - "failed_reason": "", - "inviter": { - "login": "other_user", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/other_user_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/other_user", - "html_url": "https://github.com/other_user", - "followers_url": "https://api.github.com/users/other_user/followers", - "following_url": "https://api.github.com/users/other_user/following{/other_user}", - "gists_url": "https://api.github.com/users/other_user/gists{/gist_id}", - "starred_url": "https://api.github.com/users/other_user/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/other_user/subscriptions", - "organizations_url": "https://api.github.com/users/other_user/orgs", - "repos_url": "https://api.github.com/users/other_user/repos", - "events_url": "https://api.github.com/users/other_user/events{/privacy}", - "received_events_url": "https://api.github.com/users/other_user/received_events", - "type": "User", - "site_admin": false - }, - "team_count": 2, - "invitation_team_url": "https://api.github.com/organizations/2/invitations/1/teams" - } - ] - }, - "org-hook-items": { - "value": [ - { - "id": 1, - "url": "https://api.github.com/orgs/octocat/hooks/1", - "ping_url": "https://api.github.com/orgs/octocat/hooks/1/pings", - "name": "web", - "events": ["push", "pull_request"], - "active": true, - "config": { "url": "http://example.com", "content_type": "json" }, - "updated_at": "2011-09-06T20:39:23Z", - "created_at": "2011-09-06T17:26:27Z", - "type": "Organization" - } - ] - }, - "org-hook": { - "value": { - "id": 1, - "url": "https://api.github.com/orgs/octocat/hooks/1", - "ping_url": "https://api.github.com/orgs/octocat/hooks/1/pings", - "name": "web", - "events": ["push", "pull_request"], - "active": true, - "config": { "url": "http://example.com", "content_type": "json" }, - "updated_at": "2011-09-06T20:39:23Z", - "created_at": "2011-09-06T17:26:27Z", - "type": "Organization" - } - }, - "org-hook-2": { - "value": { - "id": 1, - "url": "https://api.github.com/orgs/octocat/hooks/1", - "ping_url": "https://api.github.com/orgs/octocat/hooks/1/pings", - "name": "web", - "events": ["pull_request"], - "active": true, - "config": { "url": "http://example.com", "content_type": "json" }, - "updated_at": "2011-09-06T20:39:23Z", - "created_at": "2011-09-06T17:26:27Z", - "type": "Organization" - } - }, - "installation": { - "value": { - "id": 1, - "account": { - "login": "github", - "id": 1, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", - "avatar_url": "https://github.com/images/error/hubot_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/orgs/github", - "html_url": "https://github.com/github", - "followers_url": "https://api.github.com/users/github/followers", - "following_url": "https://api.github.com/users/github/following{/other_user}", - "gists_url": "https://api.github.com/users/github/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github/subscriptions", - "organizations_url": "https://api.github.com/users/github/orgs", - "repos_url": "https://api.github.com/orgs/github/repos", - "events_url": "https://api.github.com/orgs/github/events", - "received_events_url": "https://api.github.com/users/github/received_events", - "type": "Organization", - "site_admin": false - }, - "repository_selection": "all", - "access_tokens_url": "https://api.github.com/installations/1/access_tokens", - "repositories_url": "https://api.github.com/installation/repositories", - "html_url": "https://github.com/organizations/github/settings/installations/1", - "app_id": 1, - "target_id": 1, - "target_type": "Organization", - "permissions": { - "checks": "write", - "metadata": "read", - "contents": "read" - }, - "events": ["push", "pull_request"], - "created_at": "2018-02-09T20:51:14Z", - "updated_at": "2018-02-09T20:51:14Z", - "single_file_name": "config.yml", - "has_multiple_single_files": true, - "single_file_paths": ["config.yml", ".github/issue_TEMPLATE.md"], - "app_slug": "github-actions" - } - }, - "installation-paginated": { - "value": { - "total_count": 1, - "installations": [ - { - "id": 25381, - "account": { - "login": "octo-org", - "id": 6811672, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjY4MTE2NzI=", - "avatar_url": "https://avatars3.githubusercontent.com/u/6811672?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/octo-org", - "html_url": "https://github.com/octo-org", - "followers_url": "https://api.github.com/users/octo-org/followers", - "following_url": "https://api.github.com/users/octo-org/following{/other_user}", - "gists_url": "https://api.github.com/users/octo-org/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octo-org/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octo-org/subscriptions", - "organizations_url": "https://api.github.com/users/octo-org/orgs", - "repos_url": "https://api.github.com/users/octo-org/repos", - "events_url": "https://api.github.com/users/octo-org/events{/privacy}", - "received_events_url": "https://api.github.com/users/octo-org/received_events", - "type": "Organization", - "site_admin": false - }, - "repository_selection": "selected", - "access_tokens_url": "https://api.github.com/app/installations/25381/access_tokens", - "repositories_url": "https://api.github.com/installation/repositories", - "html_url": "https://github.com/organizations/octo-org/settings/installations/25381", - "app_id": 2218, - "target_id": 6811672, - "target_type": "Organization", - "permissions": { - "deployments": "write", - "metadata": "read", - "pull_requests": "read", - "statuses": "read" - }, - "events": ["deployment", "deployment_status"], - "created_at": "2017-05-16T08:47:09.000-07:00", - "updated_at": "2017-06-06T11:23:23.000-07:00", - "single_file_name": "config.yml", - "has_multiple_single_files": true, - "single_file_paths": ["config.yml", ".github/issue_TEMPLATE.md"], - "app_slug": "github-actions" - } - ] - } - }, - "interaction-limit-response": { - "value": { - "limit": "collaborators_only", - "origin": "organization", - "expires_at": "2018-08-17T04:18:39Z" - } - }, - "organization-invitation": { - "value": { - "id": 1, - "login": "monalisa", - "node_id": "MDQ6VXNlcjE=", - "email": "octocat@github.com", - "role": "direct_member", - "created_at": "2016-11-30T06:46:10-08:00", - "inviter": { - "login": "other_user", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/other_user_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/other_user", - "html_url": "https://github.com/other_user", - "followers_url": "https://api.github.com/users/other_user/followers", - "following_url": "https://api.github.com/users/other_user/following{/other_user}", - "gists_url": "https://api.github.com/users/other_user/gists{/gist_id}", - "starred_url": "https://api.github.com/users/other_user/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/other_user/subscriptions", - "organizations_url": "https://api.github.com/users/other_user/orgs", - "repos_url": "https://api.github.com/users/other_user/repos", - "events_url": "https://api.github.com/users/other_user/events{/privacy}", - "received_events_url": "https://api.github.com/users/other_user/received_events", - "type": "User", - "site_admin": false - }, - "team_count": 2, - "invitation_team_url": "https://api.github.com/organizations/2/invitations/1/teams" - } - }, - "team-items": { - "value": [ - { - "id": 1, - "node_id": "MDQ6VGVhbTE=", - "url": "https://api.github.com/teams/1", - "html_url": "https://github.com/orgs/github/teams/justice-league", - "name": "Justice League", - "slug": "justice-league", - "description": "A great team.", - "privacy": "closed", - "permission": "admin", - "members_url": "https://api.github.com/teams/1/members{/member}", - "repositories_url": "https://api.github.com/teams/1/repos", - "parent": null - } - ] - }, - "org-membership-response-if-user-has-an-active-admin-membership-with-organization": { - "summary": "Response if user has an active admin membership with organization", - "value": { - "url": "https://api.github.com/orgs/octocat/memberships/defunkt", - "state": "active", - "role": "admin", - "organization_url": "https://api.github.com/orgs/octocat", - "organization": { - "login": "github", - "id": 1, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", - "url": "https://api.github.com/orgs/github", - "repos_url": "https://api.github.com/orgs/github/repos", - "events_url": "https://api.github.com/orgs/github/events", - "hooks_url": "https://api.github.com/orgs/github/hooks", - "issues_url": "https://api.github.com/orgs/github/issues", - "members_url": "https://api.github.com/orgs/github/members{/member}", - "public_members_url": "https://api.github.com/orgs/github/public_members{/member}", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "description": "A great organization" - }, - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - } - } - }, - "org-membership-response-if-user-has-an-active-membership-with-organization": { - "summary": "Response if user has an active membership with organization", - "value": { - "url": "https://api.github.com/orgs/octocat/memberships/defunkt", - "state": "active", - "role": "member", - "organization_url": "https://api.github.com/orgs/octocat", - "organization": { - "login": "github", - "id": 1, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", - "url": "https://api.github.com/orgs/github", - "repos_url": "https://api.github.com/orgs/github/repos", - "events_url": "https://api.github.com/orgs/github/events", - "hooks_url": "https://api.github.com/orgs/github/hooks", - "issues_url": "https://api.github.com/orgs/github/issues", - "members_url": "https://api.github.com/orgs/github/members{/member}", - "public_members_url": "https://api.github.com/orgs/github/public_members{/member}", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "description": "A great organization" - }, - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - } - } - }, - "org-membership-response-if-user-has-a-pending-membership-with-organization": { - "summary": "Response if user has a pending membership with organization", - "value": { - "url": "https://api.github.com/orgs/invitocat/memberships/defunkt", - "state": "pending", - "role": "member", - "organization_url": "https://api.github.com/orgs/invitocat", - "organization": { - "login": "github", - "id": 1, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", - "url": "https://api.github.com/orgs/github", - "repos_url": "https://api.github.com/orgs/github/repos", - "events_url": "https://api.github.com/orgs/github/events", - "hooks_url": "https://api.github.com/orgs/github/hooks", - "issues_url": "https://api.github.com/orgs/github/issues", - "members_url": "https://api.github.com/orgs/github/members{/member}", - "public_members_url": "https://api.github.com/orgs/github/public_members{/member}", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "description": "A great organization" - }, - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - } - } - }, - "org-membership-response-if-user-was-previously-unaffiliated-with-organization": { - "summary": "Response if user was previously unaffiliated with organization", - "value": { - "url": "https://api.github.com/orgs/invitocat/memberships/defunkt", - "state": "pending", - "role": "admin", - "organization_url": "https://api.github.com/orgs/invitocat", - "organization": { - "login": "github", - "id": 1, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", - "url": "https://api.github.com/orgs/github", - "repos_url": "https://api.github.com/orgs/github/repos", - "events_url": "https://api.github.com/orgs/github/events", - "hooks_url": "https://api.github.com/orgs/github/hooks", - "issues_url": "https://api.github.com/orgs/github/issues", - "members_url": "https://api.github.com/orgs/github/members{/member}", - "public_members_url": "https://api.github.com/orgs/github/public_members{/member}", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "description": "A great organization" - }, - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - } - } - }, - "org-membership-response-if-user-already-had-membership-with-organization": { - "summary": "Response if user already had membership with organization", - "value": { - "url": "https://api.github.com/orgs/octocat/memberships/defunkt", - "state": "active", - "role": "admin", - "organization_url": "https://api.github.com/orgs/octocat", - "organization": { - "login": "github", - "id": 1, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", - "url": "https://api.github.com/orgs/github", - "repos_url": "https://api.github.com/orgs/github/repos", - "events_url": "https://api.github.com/orgs/github/events", - "hooks_url": "https://api.github.com/orgs/github/hooks", - "issues_url": "https://api.github.com/orgs/github/issues", - "members_url": "https://api.github.com/orgs/github/members{/member}", - "public_members_url": "https://api.github.com/orgs/github/public_members{/member}", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "description": "A great organization" - }, - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - } - } - }, - "migration-with-short-org-items": { - "value": [ - { - "id": 79, - "owner": { - "login": "github", - "id": 1, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", - "url": "https://api.github.com/orgs/github", - "repos_url": "https://api.github.com/orgs/github/repos", - "events_url": "https://api.github.com/orgs/github/events", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": true - }, - "guid": "0b989ba4-242f-11e5-81e1-c7b6966d2516", - "state": "pending", - "lock_repositories": true, - "exclude_attachments": false, - "repositories": [ - { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "clone_url": "https://github.com/octocat/Hello-World.git", - "mirror_url": "git:git.example.com/octocat/Hello-World", - "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", - "svn_url": "https://svn.github.com/octocat/Hello-World", - "homepage": "https://github.com", - "language": null, - "forks_count": 9, - "stargazers_count": 80, - "watchers_count": 80, - "size": 108, - "default_branch": "master", - "open_issues_count": 0, - "is_template": true, - "topics": ["octocat", "atom", "electron", "api"], - "has_issues": true, - "has_projects": true, - "has_wiki": true, - "has_pages": false, - "has_downloads": true, - "archived": false, - "disabled": false, - "visibility": "public", - "pushed_at": "2011-01-26T19:06:43Z", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "permissions": { "admin": false, "push": false, "pull": true }, - "allow_rebase_merge": true, - "template_repository": null, - "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", - "allow_squash_merge": true, - "delete_branch_on_merge": true, - "allow_merge_commit": true, - "subscribers_count": 42, - "network_count": 0, - "license": { - "key": "mit", - "name": "MIT License", - "url": "https://api.github.com/licenses/mit", - "spdx_id": "MIT", - "node_id": "MDc6TGljZW5zZW1pdA==", - "html_url": "https://api.github.com/licenses/mit" - }, - "forks": 1, - "open_issues": 1, - "watchers": 1 - } - ], - "url": "https://api.github.com/orgs/octo-org/migrations/79", - "created_at": "2015-07-06T15:33:38-07:00", - "updated_at": "2015-07-06T15:33:38-07:00", - "node_id": "MDQ6VXNlcjE=" - } - ] - }, - "migration-with-short-org-2": { - "value": { - "id": 79, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", - "owner": { - "login": "github", - "id": 1, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", - "url": "https://api.github.com/orgs/github", - "repos_url": "https://api.github.com/orgs/github/repos", - "events_url": "https://api.github.com/orgs/github/events", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": true - }, - "guid": "0b989ba4-242f-11e5-81e1-c7b6966d2516", - "state": "pending", - "lock_repositories": true, - "exclude_attachments": false, - "repositories": [ - { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "clone_url": "https://github.com/octocat/Hello-World.git", - "mirror_url": "git:git.example.com/octocat/Hello-World", - "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", - "svn_url": "https://svn.github.com/octocat/Hello-World", - "homepage": "https://github.com", - "language": null, - "forks_count": 9, - "stargazers_count": 80, - "watchers_count": 80, - "size": 108, - "default_branch": "master", - "open_issues_count": 0, - "is_template": true, - "topics": ["octocat", "atom", "electron", "api"], - "has_issues": true, - "has_projects": true, - "has_wiki": true, - "has_pages": false, - "has_downloads": true, - "archived": false, - "disabled": false, - "visibility": "public", - "pushed_at": "2011-01-26T19:06:43Z", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "permissions": { "admin": false, "push": false, "pull": true }, - "allow_rebase_merge": true, - "template_repository": null, - "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", - "allow_squash_merge": true, - "delete_branch_on_merge": true, - "allow_merge_commit": true, - "subscribers_count": 42, - "network_count": 0, - "license": { - "key": "mit", - "name": "MIT License", - "url": "https://api.github.com/licenses/mit", - "spdx_id": "MIT", - "node_id": "MDc6TGljZW5zZW1pdA==", - "html_url": "https://api.github.com/licenses/mit" - }, - "forks": 1, - "open_issues": 1, - "watchers": 1 - } - ], - "url": "https://api.github.com/orgs/octo-org/migrations/79", - "created_at": "2015-07-06T15:33:38-07:00", - "updated_at": "2015-07-06T15:33:38-07:00" - } - }, - "migration-with-short-org": { - "value": { - "id": 79, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", - "owner": { - "login": "github", - "id": 1, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", - "url": "https://api.github.com/orgs/github", - "repos_url": "https://api.github.com/orgs/github/repos", - "events_url": "https://api.github.com/orgs/github/events", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": true - }, - "guid": "0b989ba4-242f-11e5-81e1-c7b6966d2516", - "state": "exported", - "lock_repositories": true, - "exclude_attachments": false, - "repositories": [ - { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "clone_url": "https://github.com/octocat/Hello-World.git", - "mirror_url": "git:git.example.com/octocat/Hello-World", - "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", - "svn_url": "https://svn.github.com/octocat/Hello-World", - "homepage": "https://github.com", - "language": null, - "forks_count": 9, - "stargazers_count": 80, - "watchers_count": 80, - "size": 108, - "default_branch": "master", - "open_issues_count": 0, - "is_template": true, - "topics": ["octocat", "atom", "electron", "api"], - "has_issues": true, - "has_projects": true, - "has_wiki": true, - "has_pages": false, - "has_downloads": true, - "archived": false, - "disabled": false, - "visibility": "public", - "pushed_at": "2011-01-26T19:06:43Z", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "permissions": { "admin": false, "push": false, "pull": true }, - "allow_rebase_merge": true, - "template_repository": null, - "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", - "allow_squash_merge": true, - "delete_branch_on_merge": true, - "allow_merge_commit": true, - "subscribers_count": 42, - "network_count": 0, - "license": { - "key": "mit", - "name": "MIT License", - "url": "https://api.github.com/licenses/mit", - "spdx_id": "MIT", - "node_id": "MDc6TGljZW5zZW1pdA==", - "html_url": "https://api.github.com/licenses/mit" - }, - "forks": 1, - "open_issues": 1, - "watchers": 1 - } - ], - "url": "https://api.github.com/orgs/octo-org/migrations/79", - "created_at": "2015-07-06T15:33:38-07:00", - "updated_at": "2015-07-06T15:33:38-07:00" - } - }, - "minimal-repository-items": { - "value": [ - { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "clone_url": "https://github.com/octocat/Hello-World.git", - "mirror_url": "git:git.example.com/octocat/Hello-World", - "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", - "svn_url": "https://svn.github.com/octocat/Hello-World", - "homepage": "https://github.com", - "language": null, - "forks_count": 9, - "stargazers_count": 80, - "watchers_count": 80, - "size": 108, - "default_branch": "master", - "open_issues_count": 0, - "is_template": false, - "topics": ["octocat", "atom", "electron", "api"], - "has_issues": true, - "has_projects": true, - "has_wiki": true, - "has_pages": false, - "has_downloads": true, - "archived": false, - "disabled": false, - "visibility": "public", - "pushed_at": "2011-01-26T19:06:43Z", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "permissions": { "admin": false, "push": false, "pull": true }, - "template_repository": { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World-Template", - "full_name": "octocat/Hello-World-Template", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World-Template", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World-Template", - "archive_url": "https://api.github.com/repos/octocat/Hello-World-Template/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World-Template/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World-Template/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World-Template/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World-Template/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World-Template/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World-Template/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World-Template/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World-Template/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World-Template/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World-Template/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World-Template/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World-Template/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World-Template/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World-Template/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World-Template/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World-Template/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World-Template.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World-Template/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World-Template/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World-Template/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World-Template/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World-Template/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World-Template/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World-Template/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World-Template/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World-Template/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World-Template/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World-Template/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World-Template.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World-Template/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World-Template/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World-Template/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World-Template/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World-Template/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World-Template/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World-Template/git/trees{/sha}", - "clone_url": "https://github.com/octocat/Hello-World-Template.git", - "mirror_url": "git:git.example.com/octocat/Hello-World-Template", - "hooks_url": "https://api.github.com/repos/octocat/Hello-World-Template/hooks", - "svn_url": "https://svn.github.com/octocat/Hello-World-Template", - "homepage": "https://github.com", - "language": null, - "forks": 9, - "forks_count": 9, - "stargazers_count": 80, - "watchers_count": 80, - "watchers": 80, - "size": 108, - "default_branch": "master", - "open_issues": 0, - "open_issues_count": 0, - "is_template": true, - "license": { - "key": "mit", - "name": "MIT License", - "url": "https://api.github.com/licenses/mit", - "spdx_id": "MIT", - "node_id": "MDc6TGljZW5zZW1pdA==", - "html_url": "https://api.github.com/licenses/mit" - }, - "topics": ["octocat", "atom", "electron", "api"], - "has_issues": true, - "has_projects": true, - "has_wiki": true, - "has_pages": false, - "has_downloads": true, - "archived": false, - "disabled": false, - "visibility": "public", - "pushed_at": "2011-01-26T19:06:43Z", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "permissions": { "admin": false, "push": false, "pull": true }, - "allow_rebase_merge": true, - "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", - "allow_squash_merge": true, - "delete_branch_on_merge": true, - "allow_merge_commit": true, - "subscribers_count": 42, - "network_count": 0 - } - } - ] - }, - "project-items": { - "value": [ - { - "owner_url": "https://api.github.com/orgs/octocat", - "url": "https://api.github.com/projects/1002605", - "html_url": "https://github.com/orgs/api-playground/projects/1", - "columns_url": "https://api.github.com/projects/1002605/columns", - "id": 1002605, - "node_id": "MDc6UHJvamVjdDEwMDI2MDU=", - "name": "Organization Roadmap", - "body": "High-level roadmap for the upcoming year.", - "number": 1, - "state": "open", - "creator": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "created_at": "2011-04-11T20:09:31Z", - "updated_at": "2014-03-04T18:58:10Z" - } - ] - }, - "project-2": { - "value": { - "owner_url": "https://api.github.com/orgs/octocat", - "url": "https://api.github.com/projects/1002605", - "html_url": "https://github.com/orgs/api-playground/projects/1", - "columns_url": "https://api.github.com/projects/1002605/columns", - "id": 1002605, - "node_id": "MDc6UHJvamVjdDEwMDI2MDU=", - "name": "Organization Roadmap", - "body": "High-level roadmap for the upcoming year.", - "number": 1, - "state": "open", - "creator": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "created_at": "2011-04-11T20:09:31Z", - "updated_at": "2014-03-04T18:58:10Z" - } - }, - "repository": { - "value": { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "clone_url": "https://github.com/octocat/Hello-World.git", - "mirror_url": "git:git.example.com/octocat/Hello-World", - "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", - "svn_url": "https://svn.github.com/octocat/Hello-World", - "homepage": "https://github.com", - "language": null, - "forks": 9, - "forks_count": 9, - "stargazers_count": 80, - "watchers_count": 80, - "watchers": 80, - "size": 108, - "default_branch": "master", - "open_issues": 0, - "open_issues_count": 0, - "is_template": true, - "license": { - "key": "mit", - "name": "MIT License", - "url": "https://api.github.com/licenses/mit", - "spdx_id": "MIT", - "node_id": "MDc6TGljZW5zZW1pdA==", - "html_url": "https://api.github.com/licenses/mit" - }, - "topics": ["octocat", "atom", "electron", "api"], - "has_issues": true, - "has_projects": true, - "has_wiki": true, - "has_pages": false, - "has_downloads": true, - "archived": false, - "disabled": false, - "visibility": "public", - "pushed_at": "2011-01-26T19:06:43Z", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "permissions": { "admin": false, "push": false, "pull": true }, - "allow_rebase_merge": true, - "template_repository": null, - "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", - "allow_squash_merge": true, - "delete_branch_on_merge": true, - "allow_merge_commit": true, - "subscribers_count": 42, - "network_count": 0 - } - }, - "group-mapping-3": { - "value": { - "groups": [ - { - "group_id": "123", - "group_name": "Octocat admins", - "group_description": "The people who configure your octoworld." - }, - { - "group_id": "456", - "group_name": "Octocat docs members", - "group_description": "The people who make your octoworld come to life." - } - ] - } - }, - "team-full": { - "value": { - "id": 1, - "node_id": "MDQ6VGVhbTE=", - "url": "https://api.github.com/teams/1", - "html_url": "https://github.com/orgs/github/teams/justice-league", - "name": "Justice League", - "slug": "justice-league", - "description": "A great team.", - "privacy": "closed", - "permission": "admin", - "members_url": "https://api.github.com/teams/1/members{/member}", - "repositories_url": "https://api.github.com/teams/1/repos", - "parent": null, - "members_count": 3, - "repos_count": 10, - "created_at": "2017-07-14T16:53:42Z", - "updated_at": "2017-08-17T12:37:15Z", - "organization": { - "login": "github", - "id": 1, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", - "url": "https://api.github.com/orgs/github", - "repos_url": "https://api.github.com/orgs/github/repos", - "events_url": "https://api.github.com/orgs/github/events", - "hooks_url": "https://api.github.com/orgs/github/hooks", - "issues_url": "https://api.github.com/orgs/github/issues", - "members_url": "https://api.github.com/orgs/github/members{/member}", - "public_members_url": "https://api.github.com/orgs/github/public_members{/member}", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "description": "A great organization", - "name": "github", - "company": "GitHub", - "blog": "https://github.com/blog", - "location": "San Francisco", - "email": "octocat@github.com", - "is_verified": true, - "has_organization_projects": true, - "has_repository_projects": true, - "public_repos": 2, - "public_gists": 1, - "followers": 20, - "following": 0, - "html_url": "https://github.com/octocat", - "created_at": "2008-01-14T04:33:35Z", - "updated_at": "2017-08-17T12:37:15Z", - "type": "Organization" - } - } - }, - "team-discussion-items": { - "value": [ - { - "author": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "body": "Hi! This is an area for us to collaborate as a team.", - "body_html": "

Hi! This is an area for us to collaborate as a team

", - "body_version": "0d495416a700fb06133c612575d92bfb", - "comments_count": 0, - "comments_url": "https://api.github.com/teams/2343027/discussions/1/comments", - "created_at": "2018-01-25T18:56:31Z", - "last_edited_at": null, - "html_url": "https://github.com/orgs/github/teams/justice-league/discussions/1", - "node_id": "MDE0OlRlYW1EaXNjdXNzaW9uMQ==", - "number": 1, - "pinned": false, - "private": false, - "team_url": "https://api.github.com/teams/2343027", - "title": "Our first team post", - "updated_at": "2018-01-25T18:56:31Z", - "url": "https://api.github.com/teams/2343027/discussions/1", - "reactions": { - "url": "https://api.github.com/teams/2343027/discussions/1/reactions", - "total_count": 5, - "+1": 3, - "-1": 1, - "laugh": 0, - "confused": 0, - "heart": 1, - "hooray": 0, - "eyes": 1, - "rocket": 1 - } - } - ] - }, - "team-discussion": { - "value": { - "author": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "body": "Hi! This is an area for us to collaborate as a team.", - "body_html": "

Hi! This is an area for us to collaborate as a team

", - "body_version": "0d495416a700fb06133c612575d92bfb", - "comments_count": 0, - "comments_url": "https://api.github.com/teams/2343027/discussions/1/comments", - "created_at": "2018-01-25T18:56:31Z", - "last_edited_at": null, - "html_url": "https://github.com/orgs/github/teams/justice-league/discussions/1", - "node_id": "MDE0OlRlYW1EaXNjdXNzaW9uMQ==", - "number": 1, - "pinned": false, - "private": false, - "team_url": "https://api.github.com/teams/2343027", - "title": "Our first team post", - "updated_at": "2018-01-25T18:56:31Z", - "url": "https://api.github.com/teams/2343027/discussions/1", - "reactions": { - "url": "https://api.github.com/teams/2343027/discussions/1/reactions", - "total_count": 5, - "+1": 3, - "-1": 1, - "laugh": 0, - "confused": 0, - "heart": 1, - "hooray": 0, - "eyes": 1, - "rocket": 1 - } - } - }, - "team-discussion-2": { - "value": { - "author": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "body": "Hi! This is an area for us to collaborate as a team.", - "body_html": "

Hi! This is an area for us to collaborate as a team

", - "body_version": "0d495416a700fb06133c612575d92bfb", - "comments_count": 1, - "comments_url": "https://api.github.com/teams/2343027/discussions/1/comments", - "created_at": "2018-01-25T18:56:31Z", - "last_edited_at": "2018-01-26T18:22:20Z", - "html_url": "https://github.com/orgs/github/teams/justice-league/discussions/1", - "node_id": "MDE0OlRlYW1EaXNjdXNzaW9uMQ==", - "number": 1, - "pinned": false, - "private": false, - "team_url": "https://api.github.com/teams/2343027", - "title": "Welcome to our first team post", - "updated_at": "2018-01-26T18:22:20Z", - "url": "https://api.github.com/teams/2343027/discussions/1", - "reactions": { - "url": "https://api.github.com/teams/2343027/discussions/1/reactions", - "total_count": 5, - "+1": 3, - "-1": 1, - "laugh": 0, - "confused": 0, - "heart": 1, - "hooray": 0, - "eyes": 1, - "rocket": 1 - } - } - }, - "team-discussion-comment-items": { - "value": [ - { - "author": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "body": "Do you like apples?", - "body_html": "

Do you like apples?

", - "body_version": "5eb32b219cdc6a5a9b29ba5d6caa9c51", - "created_at": "2018-01-15T23:53:58Z", - "last_edited_at": null, - "discussion_url": "https://api.github.com/teams/2403582/discussions/1", - "html_url": "https://github.com/orgs/github/teams/justice-league/discussions/1/comments/1", - "node_id": "MDIxOlRlYW1EaXNjdXNzaW9uQ29tbWVudDE=", - "number": 1, - "updated_at": "2018-01-15T23:53:58Z", - "url": "https://api.github.com/teams/2403582/discussions/1/comments/1", - "reactions": { - "url": "https://api.github.com/teams/2403582/discussions/1/reactions", - "total_count": 5, - "+1": 3, - "-1": 1, - "laugh": 0, - "confused": 0, - "heart": 1, - "hooray": 0, - "eyes": 1, - "rocket": 1 - } - } - ] - }, - "team-discussion-comment": { - "value": { - "author": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "body": "Do you like apples?", - "body_html": "

Do you like apples?

", - "body_version": "5eb32b219cdc6a5a9b29ba5d6caa9c51", - "created_at": "2018-01-15T23:53:58Z", - "last_edited_at": null, - "discussion_url": "https://api.github.com/teams/2403582/discussions/1", - "html_url": "https://github.com/orgs/github/teams/justice-league/discussions/1/comments/1", - "node_id": "MDIxOlRlYW1EaXNjdXNzaW9uQ29tbWVudDE=", - "number": 1, - "updated_at": "2018-01-15T23:53:58Z", - "url": "https://api.github.com/teams/2403582/discussions/1/comments/1", - "reactions": { - "url": "https://api.github.com/teams/2403582/discussions/1/reactions", - "total_count": 5, - "+1": 3, - "-1": 1, - "laugh": 0, - "confused": 0, - "heart": 1, - "hooray": 0, - "eyes": 1, - "rocket": 1 - } - } - }, - "team-discussion-comment-2": { - "value": { - "author": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "body": "Do you like pineapples?", - "body_html": "

Do you like pineapples?

", - "body_version": "e6907b24d9c93cc0c5024a7af5888116", - "created_at": "2018-01-15T23:53:58Z", - "last_edited_at": "2018-01-26T18:22:20Z", - "discussion_url": "https://api.github.com/teams/2403582/discussions/1", - "html_url": "https://github.com/orgs/github/teams/justice-league/discussions/1/comments/1", - "node_id": "MDIxOlRlYW1EaXNjdXNzaW9uQ29tbWVudDE=", - "number": 1, - "updated_at": "2018-01-26T18:22:20Z", - "url": "https://api.github.com/teams/2403582/discussions/1/comments/1", - "reactions": { - "url": "https://api.github.com/teams/2403582/discussions/1/reactions", - "total_count": 5, - "+1": 3, - "-1": 1, - "laugh": 0, - "confused": 0, - "heart": 1, - "hooray": 0, - "eyes": 1, - "rocket": 1 - } - } - }, - "reaction-items": { - "value": [ - { - "id": 1, - "node_id": "MDg6UmVhY3Rpb24x", - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "content": "heart", - "created_at": "2016-05-20T20:09:31Z" - } - ] - }, - "reaction": { - "value": { - "id": 1, - "node_id": "MDg6UmVhY3Rpb24x", - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "content": "heart", - "created_at": "2016-05-20T20:09:31Z" - } - }, - "team-membership-response-if-user-has-an-active-membership-with-team": { - "summary": "Response if user has an active membership with team", - "value": { - "url": "https://api.github.com/teams/1/memberships/octocat", - "role": "member", - "state": "active" - } - }, - "team-membership-response-if-user-is-a-team-maintainer": { - "summary": "Response if user is a team maintainer", - "value": { - "url": "https://api.github.com/teams/1/memberships/octocat", - "role": "maintainer", - "state": "active" - } - }, - "team-membership-response-if-user-has-a-pending-membership-with-team": { - "summary": "Response if user has a pending membership with team", - "value": { - "url": "https://api.github.com/teams/1/memberships/octocat", - "role": "member", - "state": "pending" - } - }, - "team-membership-response-if-users-membership-with-team-is-now-active": { - "summary": "Response if user's membership with team is now active", - "value": { - "url": "https://api.github.com/teams/1/memberships/octocat", - "role": "member", - "state": "active" - } - }, - "team-membership-response-if-users-membership-with-team-is-now-pending": { - "summary": "Response if user's membership with team is now pending", - "value": { - "url": "https://api.github.com/teams/1/memberships/octocat", - "role": "member", - "state": "pending" - } - }, - "team-project-items": { - "value": [ - { - "owner_url": "https://api.github.com/orgs/octocat", - "url": "https://api.github.com/projects/1002605", - "html_url": "https://github.com/orgs/api-playground/projects/1", - "columns_url": "https://api.github.com/projects/1002605/columns", - "id": 1002605, - "node_id": "MDc6UHJvamVjdDEwMDI2MDU=", - "name": "Organization Roadmap", - "body": "High-level roadmap for the upcoming year.", - "number": 1, - "state": "open", - "creator": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "created_at": "2011-04-11T20:09:31Z", - "updated_at": "2014-03-04T18:58:10Z", - "organization_permission": "write", - "private": false, - "permissions": { "read": true, "write": true, "admin": false } - } - ] - }, - "team-project": { - "value": { - "owner_url": "https://api.github.com/orgs/octocat", - "url": "https://api.github.com/projects/1002605", - "html_url": "https://github.com/orgs/api-playground/projects/1", - "columns_url": "https://api.github.com/projects/1002605/columns", - "id": 1002605, - "node_id": "MDc6UHJvamVjdDEwMDI2MDU=", - "name": "Organization Roadmap", - "body": "High-level roadmap for the upcoming year.", - "number": 1, - "state": "open", - "creator": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "created_at": "2011-04-11T20:09:31Z", - "updated_at": "2014-03-04T18:58:10Z", - "organization_permission": "write", - "private": false, - "permissions": { "read": true, "write": true, "admin": false } - } - }, - "team-repository-alternative-response-with-repository-permissions": { - "value": { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "clone_url": "https://github.com/octocat/Hello-World.git", - "mirror_url": "git:git.example.com/octocat/Hello-World", - "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", - "svn_url": "https://svn.github.com/octocat/Hello-World", - "homepage": "https://github.com", - "language": null, - "forks_count": 9, - "stargazers_count": 80, - "watchers_count": 80, - "size": 108, - "default_branch": "master", - "open_issues_count": 0, - "is_template": false, - "topics": ["octocat", "atom", "electron", "api"], - "has_issues": true, - "has_projects": true, - "has_wiki": true, - "has_pages": false, - "has_downloads": true, - "archived": false, - "disabled": false, - "visibility": "public", - "pushed_at": "2011-01-26T19:06:43Z", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "permissions": { "admin": false, "push": false, "pull": true }, - "allow_rebase_merge": true, - "template_repository": { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World-Template", - "full_name": "octocat/Hello-World-Template", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World-Template", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World-Template", - "archive_url": "https://api.github.com/repos/octocat/Hello-World-Template/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World-Template/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World-Template/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World-Template/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World-Template/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World-Template/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World-Template/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World-Template/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World-Template/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World-Template/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World-Template/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World-Template/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World-Template/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World-Template/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World-Template/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World-Template/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World-Template/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World-Template.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World-Template/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World-Template/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World-Template/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World-Template/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World-Template/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World-Template/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World-Template/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World-Template/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World-Template/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World-Template/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World-Template/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World-Template.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World-Template/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World-Template/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World-Template/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World-Template/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World-Template/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World-Template/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World-Template/git/trees{/sha}", - "clone_url": "https://github.com/octocat/Hello-World-Template.git", - "mirror_url": "git:git.example.com/octocat/Hello-World-Template", - "hooks_url": "https://api.github.com/repos/octocat/Hello-World-Template/hooks", - "svn_url": "https://svn.github.com/octocat/Hello-World-Template", - "homepage": "https://github.com", - "language": null, - "forks": 9, - "forks_count": 9, - "stargazers_count": 80, - "watchers_count": 80, - "watchers": 80, - "size": 108, - "default_branch": "master", - "open_issues": 0, - "open_issues_count": 0, - "is_template": true, - "license": { - "key": "mit", - "name": "MIT License", - "url": "https://api.github.com/licenses/mit", - "spdx_id": "MIT", - "node_id": "MDc6TGljZW5zZW1pdA==", - "html_url": "https://api.github.com/licenses/mit" - }, - "topics": ["octocat", "atom", "electron", "api"], - "has_issues": true, - "has_projects": true, - "has_wiki": true, - "has_pages": false, - "has_downloads": true, - "archived": false, - "disabled": false, - "visibility": "public", - "pushed_at": "2011-01-26T19:06:43Z", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "permissions": { "admin": false, "push": false, "pull": true }, - "allow_rebase_merge": true, - "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", - "allow_squash_merge": true, - "delete_branch_on_merge": true, - "allow_merge_commit": true, - "subscribers_count": 42, - "network_count": 0 - }, - "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", - "allow_squash_merge": true, - "delete_branch_on_merge": true, - "allow_merge_commit": true, - "subscribers_count": 42, - "network_count": 0, - "license": { - "key": "mit", - "name": "MIT License", - "url": "https://api.github.com/licenses/mit", - "spdx_id": "MIT", - "node_id": "MDc6TGljZW5zZW1pdA==", - "html_url": "https://api.github.com/licenses/mit" - }, - "forks": 1, - "open_issues": 1, - "watchers": 1 - } - }, - "group-mapping": { - "value": { - "groups": [ - { - "group_id": "123", - "group_name": "Octocat admins", - "group_description": "The people who configure your octoworld." - }, - { - "group_id": "456", - "group_name": "Octocat docs members", - "group_description": "The people who make your octoworld come to life." - } - ] - } - }, - "team-items-response-if-child-teams-exist": { - "value": [ - { - "id": 2, - "node_id": "MDQ6VGVhbTI=", - "url": "https://api.github.com/teams/2", - "name": "Original Roster", - "slug": "original-roster", - "description": "Started it all.", - "privacy": "closed", - "permission": "admin", - "members_url": "https://api.github.com/teams/2/members{/member}", - "repositories_url": "https://api.github.com/teams/2/repos", - "parent": { - "id": 1, - "node_id": "MDQ6VGVhbTE=", - "url": "https://api.github.com/teams/1", - "html_url": "https://github.com/orgs/github/teams/justice-league", - "name": "Justice League", - "slug": "justice-league", - "description": "A great team.", - "privacy": "closed", - "permission": "admin", - "members_url": "https://api.github.com/teams/1/members{/member}", - "repositories_url": "https://api.github.com/teams/1/repos" - }, - "html_url": "https://github.com/orgs/rails/teams/core" - } - ] - }, - "project-card": { - "value": { - "url": "https://api.github.com/projects/columns/cards/1478", - "id": 1478, - "node_id": "MDExOlByb2plY3RDYXJkMTQ3OA==", - "note": "Add payload for delete Project column", - "creator": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "created_at": "2016-09-05T14:21:06Z", - "updated_at": "2016-09-05T14:20:22Z", - "archived": false, - "column_url": "https://api.github.com/projects/columns/367", - "content_url": "https://api.github.com/repos/api-playground/projects-test/issues/3", - "project_url": "https://api.github.com/projects/120" - } - }, - "project-column": { - "value": { - "url": "https://api.github.com/projects/columns/367", - "project_url": "https://api.github.com/projects/120", - "cards_url": "https://api.github.com/projects/columns/367/cards", - "id": 367, - "node_id": "MDEzOlByb2plY3RDb2x1bW4zNjc=", - "name": "To Do", - "created_at": "2016-09-05T14:18:44Z", - "updated_at": "2016-09-05T14:22:28Z" - } - }, - "project-card-items": { - "value": [ - { - "url": "https://api.github.com/projects/columns/cards/1478", - "id": 1478, - "node_id": "MDExOlByb2plY3RDYXJkMTQ3OA==", - "note": "Add payload for delete Project column", - "creator": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "created_at": "2016-09-05T14:21:06Z", - "updated_at": "2016-09-05T14:20:22Z", - "archived": false, - "column_url": "https://api.github.com/projects/columns/367", - "content_url": "https://api.github.com/repos/api-playground/projects-test/issues/3", - "project_url": "https://api.github.com/projects/120" - } - ] - }, - "project-3": { - "value": { - "owner_url": "https://api.github.com/repos/api-playground/projects-test", - "url": "https://api.github.com/projects/1002604", - "html_url": "https://github.com/api-playground/projects-test/projects/1", - "columns_url": "https://api.github.com/projects/1002604/columns", - "id": 1002604, - "node_id": "MDc6UHJvamVjdDEwMDI2MDQ=", - "name": "Projects Documentation", - "body": "Developer documentation project for the developer site.", - "number": 1, - "state": "open", - "creator": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "created_at": "2011-04-10T20:09:31Z", - "updated_at": "2014-03-03T18:58:10Z" - } - }, - "repository-collaborator-permission": { - "value": { - "permission": "admin", - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - } - } - }, - "project-column-items": { - "value": [ - { - "url": "https://api.github.com/projects/columns/367", - "project_url": "https://api.github.com/projects/120", - "cards_url": "https://api.github.com/projects/columns/367/cards", - "id": 367, - "node_id": "MDEzOlByb2plY3RDb2x1bW4zNjc=", - "name": "To Do", - "created_at": "2016-09-05T14:18:44Z", - "updated_at": "2016-09-05T14:22:28Z" - } - ] - }, - "rate-limit-overview": { - "value": { - "resources": { - "core": { "limit": 5000, "remaining": 4999, "reset": 1372700873 }, - "search": { "limit": 30, "remaining": 18, "reset": 1372697452 }, - "graphql": { - "limit": 5000, - "remaining": 4993, - "reset": 1372700389 - }, - "integration_manifest": { - "limit": 5000, - "remaining": 4999, - "reset": 1551806725 - }, - "code_scanning_upload": { - "limit": 500, - "remaining": 499, - "reset": 1551806725 - } - }, - "rate": { "limit": 5000, "remaining": 4999, "reset": 1372700873 } - } - }, - "full-repository-default-response": { - "summary": "Default response", - "value": { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "clone_url": "https://github.com/octocat/Hello-World.git", - "mirror_url": "git:git.example.com/octocat/Hello-World", - "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", - "svn_url": "https://svn.github.com/octocat/Hello-World", - "homepage": "https://github.com", - "language": null, - "forks_count": 9, - "forks": 9, - "stargazers_count": 80, - "watchers_count": 80, - "watchers": 80, - "size": 108, - "default_branch": "master", - "open_issues_count": 0, - "open_issues": 0, - "is_template": false, - "topics": ["octocat", "atom", "electron", "api"], - "has_issues": true, - "has_projects": true, - "has_wiki": true, - "has_pages": false, - "has_downloads": true, - "archived": false, - "disabled": false, - "visibility": "public", - "pushed_at": "2011-01-26T19:06:43Z", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "permissions": { "pull": true, "push": false, "admin": false }, - "allow_rebase_merge": true, - "template_repository": { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World-Template", - "full_name": "octocat/Hello-World-Template", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World-Template", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World-Template", - "archive_url": "https://api.github.com/repos/octocat/Hello-World-Template/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World-Template/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World-Template/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World-Template/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World-Template/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World-Template/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World-Template/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World-Template/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World-Template/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World-Template/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World-Template/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World-Template/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World-Template/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World-Template/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World-Template/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World-Template/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World-Template/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World-Template.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World-Template/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World-Template/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World-Template/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World-Template/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World-Template/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World-Template/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World-Template/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World-Template/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World-Template/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World-Template/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World-Template/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World-Template.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World-Template/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World-Template/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World-Template/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World-Template/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World-Template/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World-Template/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World-Template/git/trees{/sha}", - "clone_url": "https://github.com/octocat/Hello-World-Template.git", - "mirror_url": "git:git.example.com/octocat/Hello-World-Template", - "hooks_url": "https://api.github.com/repos/octocat/Hello-World-Template/hooks", - "svn_url": "https://svn.github.com/octocat/Hello-World-Template", - "homepage": "https://github.com", - "language": null, - "forks": 9, - "forks_count": 9, - "stargazers_count": 80, - "watchers_count": 80, - "watchers": 80, - "size": 108, - "default_branch": "master", - "open_issues": 0, - "open_issues_count": 0, - "is_template": true, - "license": { - "key": "mit", - "name": "MIT License", - "url": "https://api.github.com/licenses/mit", - "spdx_id": "MIT", - "node_id": "MDc6TGljZW5zZW1pdA==", - "html_url": "https://api.github.com/licenses/mit" - }, - "topics": ["octocat", "atom", "electron", "api"], - "has_issues": true, - "has_projects": true, - "has_wiki": true, - "has_pages": false, - "has_downloads": true, - "archived": false, - "disabled": false, - "visibility": "public", - "pushed_at": "2011-01-26T19:06:43Z", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "permissions": { "admin": false, "push": false, "pull": true }, - "allow_rebase_merge": true, - "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", - "allow_squash_merge": true, - "delete_branch_on_merge": true, - "allow_merge_commit": true, - "subscribers_count": 42, - "network_count": 0 - }, - "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", - "allow_squash_merge": true, - "delete_branch_on_merge": true, - "allow_merge_commit": true, - "subscribers_count": 42, - "network_count": 0, - "license": { - "key": "mit", - "name": "MIT License", - "spdx_id": "MIT", - "url": "https://api.github.com/licenses/mit", - "node_id": "MDc6TGljZW5zZW1pdA==" - }, - "organization": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "Organization", - "site_admin": false - }, - "parent": { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "clone_url": "https://github.com/octocat/Hello-World.git", - "mirror_url": "git:git.example.com/octocat/Hello-World", - "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", - "svn_url": "https://svn.github.com/octocat/Hello-World", - "homepage": "https://github.com", - "language": null, - "forks_count": 9, - "stargazers_count": 80, - "watchers_count": 80, - "size": 108, - "default_branch": "master", - "open_issues_count": 0, - "is_template": true, - "topics": ["octocat", "atom", "electron", "api"], - "has_issues": true, - "has_projects": true, - "has_wiki": true, - "has_pages": false, - "has_downloads": true, - "archived": false, - "disabled": false, - "visibility": "public", - "pushed_at": "2011-01-26T19:06:43Z", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "permissions": { "admin": false, "push": false, "pull": true }, - "allow_rebase_merge": true, - "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", - "allow_squash_merge": true, - "delete_branch_on_merge": true, - "allow_merge_commit": true, - "subscribers_count": 42, - "network_count": 0, - "license": { - "key": "mit", - "name": "MIT License", - "url": "https://api.github.com/licenses/mit", - "spdx_id": "MIT", - "node_id": "MDc6TGljZW5zZW1pdA==", - "html_url": "https://api.github.com/licenses/mit" - }, - "forks": 1, - "open_issues": 1, - "watchers": 1 - }, - "source": { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "clone_url": "https://github.com/octocat/Hello-World.git", - "mirror_url": "git:git.example.com/octocat/Hello-World", - "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", - "svn_url": "https://svn.github.com/octocat/Hello-World", - "homepage": "https://github.com", - "language": null, - "forks_count": 9, - "stargazers_count": 80, - "watchers_count": 80, - "size": 108, - "default_branch": "master", - "open_issues_count": 0, - "is_template": true, - "topics": ["octocat", "atom", "electron", "api"], - "has_issues": true, - "has_projects": true, - "has_wiki": true, - "has_pages": false, - "has_downloads": true, - "archived": false, - "disabled": false, - "visibility": "public", - "pushed_at": "2011-01-26T19:06:43Z", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "permissions": { "admin": false, "push": false, "pull": true }, - "allow_rebase_merge": true, - "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", - "allow_squash_merge": true, - "delete_branch_on_merge": true, - "allow_merge_commit": true, - "subscribers_count": 42, - "network_count": 0, - "license": { - "key": "mit", - "name": "MIT License", - "url": "https://api.github.com/licenses/mit", - "spdx_id": "MIT", - "node_id": "MDc6TGljZW5zZW1pdA==", - "html_url": "https://api.github.com/licenses/mit" - }, - "forks": 1, - "open_issues": 1, - "watchers": 1 - } - } - }, - "full-repository-response-with-scarlet-witch-preview-media-type": { - "summary": "Response with scarlet-witch-preview media type", - "value": { - "id": 88760408, - "node_id": "MDEwOlJlcG9zaXRvcnk4ODc2MDQwOA==", - "name": "cosee", - "full_name": "LindseyB/cosee", - "disabled": false, - "archived": false, - "owner": { - "login": "LindseyB", - "id": 33750, - "node_id": "MDQ6VXNlcjMzNzUw", - "avatar_url": "https://avatars2.githubusercontent.com/u/33750?v=3", - "gravatar_id": "", - "url": "https://api.github.com/users/LindseyB", - "html_url": "https://github.com/LindseyB", - "followers_url": "https://api.github.com/users/LindseyB/followers", - "following_url": "https://api.github.com/users/LindseyB/following{/other_user}", - "gists_url": "https://api.github.com/users/LindseyB/gists{/gist_id}", - "starred_url": "https://api.github.com/users/LindseyB/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/LindseyB/subscriptions", - "organizations_url": "https://api.github.com/users/LindseyB/orgs", - "repos_url": "https://api.github.com/users/LindseyB/repos", - "events_url": "https://api.github.com/users/LindseyB/events{/privacy}", - "received_events_url": "https://api.github.com/users/LindseyB/received_events", - "type": "User", - "site_admin": true - }, - "private": false, - "html_url": "https://github.com/LindseyB/cosee", - "description": null, - "fork": false, - "license": { - "key": "mit", - "name": "MIT License", - "url": "https://api.github.com/licenses/mit", - "spdx_id": "MIT", - "node_id": "MDc6TGljZW5zZW1pdA==", - "html_url": "https://github.com/licenses/mit" - }, - "url": "https://api.github.com/repos/LindseyB/cosee", - "forks_url": "https://api.github.com/repos/LindseyB/cosee/forks", - "keys_url": "https://api.github.com/repos/LindseyB/cosee/keys{/key_id}", - "collaborators_url": "https://api.github.com/repos/LindseyB/cosee/collaborators{/collaborator}", - "teams_url": "https://api.github.com/repos/LindseyB/cosee/teams", - "hooks_url": "https://api.github.com/repos/LindseyB/cosee/hooks", - "issue_events_url": "https://api.github.com/repos/LindseyB/cosee/issues/events{/number}", - "events_url": "https://api.github.com/repos/LindseyB/cosee/events", - "assignees_url": "https://api.github.com/repos/LindseyB/cosee/assignees{/user}", - "branches_url": "https://api.github.com/repos/LindseyB/cosee/branches{/branch}", - "tags_url": "https://api.github.com/repos/LindseyB/cosee/tags", - "blobs_url": "https://api.github.com/repos/LindseyB/cosee/git/blobs{/sha}", - "git_tags_url": "https://api.github.com/repos/LindseyB/cosee/git/tags{/sha}", - "git_refs_url": "https://api.github.com/repos/LindseyB/cosee/git/refs{/sha}", - "trees_url": "https://api.github.com/repos/LindseyB/cosee/git/trees{/sha}", - "statuses_url": "https://api.github.com/repos/LindseyB/cosee/statuses/{sha}", - "languages_url": "https://api.github.com/repos/LindseyB/cosee/languages", - "stargazers_url": "https://api.github.com/repos/LindseyB/cosee/stargazers", - "contributors_url": "https://api.github.com/repos/LindseyB/cosee/contributors", - "subscribers_url": "https://api.github.com/repos/LindseyB/cosee/subscribers", - "subscription_url": "https://api.github.com/repos/LindseyB/cosee/subscription", - "commits_url": "https://api.github.com/repos/LindseyB/cosee/commits{/sha}", - "git_commits_url": "https://api.github.com/repos/LindseyB/cosee/git/commits{/sha}", - "comments_url": "https://api.github.com/repos/LindseyB/cosee/comments{/number}", - "issue_comment_url": "https://api.github.com/repos/LindseyB/cosee/issues/comments{/number}", - "contents_url": "https://api.github.com/repos/LindseyB/cosee/contents/{+path}", - "compare_url": "https://api.github.com/repos/LindseyB/cosee/compare/{base}...{head}", - "merges_url": "https://api.github.com/repos/LindseyB/cosee/merges", - "archive_url": "https://api.github.com/repos/LindseyB/cosee/{archive_format}{/ref}", - "downloads_url": "https://api.github.com/repos/LindseyB/cosee/downloads", - "issues_url": "https://api.github.com/repos/LindseyB/cosee/issues{/number}", - "pulls_url": "https://api.github.com/repos/LindseyB/cosee/pulls{/number}", - "milestones_url": "https://api.github.com/repos/LindseyB/cosee/milestones{/number}", - "notifications_url": "https://api.github.com/repos/LindseyB/cosee/notifications{?since,all,participating}", - "labels_url": "https://api.github.com/repos/LindseyB/cosee/labels{/name}", - "releases_url": "https://api.github.com/repos/LindseyB/cosee/releases{/id}", - "deployments_url": "https://api.github.com/repos/LindseyB/cosee/deployments", - "pushed_at": "2011-01-26T19:06:43Z", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "git_url": "git://github.com/LindseyB/cosee.git", - "ssh_url": "git@github.com:LindseyB/cosee.git", - "clone_url": "https://github.com/LindseyB/cosee.git", - "svn_url": "https://github.com/LindseyB/cosee", - "homepage": null, - "size": 1, - "stargazers_count": 0, - "watchers_count": 0, - "language": null, - "has_issues": true, - "has_projects": true, - "has_downloads": true, - "has_wiki": true, - "has_pages": false, - "forks_count": 0, - "mirror_url": null, - "open_issues_count": 0, - "forks": 0, - "open_issues": 0, - "watchers": 0, - "default_branch": "master", - "network_count": 0, - "subscribers_count": 0 - } - }, - "full-repository": { - "value": { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "clone_url": "https://github.com/octocat/Hello-World.git", - "mirror_url": "git:git.example.com/octocat/Hello-World", - "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", - "svn_url": "https://svn.github.com/octocat/Hello-World", - "homepage": "https://github.com", - "license": { - "key": "mit", - "name": "MIT License", - "url": "https://api.github.com/licenses/mit", - "spdx_id": "MIT", - "node_id": "MDc6TGljZW5zZW1pdA==", - "html_url": "https://github.com/licenses/mit" - }, - "language": null, - "forks_count": 9, - "forks": 9, - "stargazers_count": 80, - "watchers_count": 80, - "watchers": 80, - "size": 108, - "default_branch": "master", - "open_issues_count": 0, - "open_issues": 0, - "is_template": false, - "topics": ["octocat", "atom", "electron", "api"], - "has_issues": true, - "has_projects": true, - "has_wiki": true, - "has_pages": false, - "has_downloads": true, - "archived": false, - "disabled": false, - "visibility": "public", - "pushed_at": "2011-01-26T19:06:43Z", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "permissions": { "pull": true, "push": false, "admin": false }, - "allow_rebase_merge": true, - "template_repository": { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World-Template", - "full_name": "octocat/Hello-World-Template", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World-Template", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World-Template", - "archive_url": "https://api.github.com/repos/octocat/Hello-World-Template/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World-Template/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World-Template/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World-Template/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World-Template/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World-Template/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World-Template/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World-Template/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World-Template/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World-Template/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World-Template/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World-Template/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World-Template/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World-Template/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World-Template/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World-Template/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World-Template/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World-Template.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World-Template/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World-Template/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World-Template/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World-Template/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World-Template/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World-Template/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World-Template/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World-Template/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World-Template/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World-Template/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World-Template/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World-Template.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World-Template/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World-Template/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World-Template/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World-Template/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World-Template/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World-Template/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World-Template/git/trees{/sha}", - "clone_url": "https://github.com/octocat/Hello-World-Template.git", - "mirror_url": "git:git.example.com/octocat/Hello-World-Template", - "hooks_url": "https://api.github.com/repos/octocat/Hello-World-Template/hooks", - "svn_url": "https://svn.github.com/octocat/Hello-World-Template", - "homepage": "https://github.com", - "language": null, - "forks": 9, - "forks_count": 9, - "stargazers_count": 80, - "watchers_count": 80, - "watchers": 80, - "size": 108, - "default_branch": "master", - "open_issues": 0, - "open_issues_count": 0, - "is_template": true, - "license": { - "key": "mit", - "name": "MIT License", - "url": "https://api.github.com/licenses/mit", - "spdx_id": "MIT", - "node_id": "MDc6TGljZW5zZW1pdA==", - "html_url": "https://api.github.com/licenses/mit" - }, - "topics": ["octocat", "atom", "electron", "api"], - "has_issues": true, - "has_projects": true, - "has_wiki": true, - "has_pages": false, - "has_downloads": true, - "archived": false, - "disabled": false, - "visibility": "public", - "pushed_at": "2011-01-26T19:06:43Z", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "permissions": { "admin": false, "push": false, "pull": true }, - "allow_rebase_merge": true, - "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", - "allow_squash_merge": true, - "delete_branch_on_merge": true, - "allow_merge_commit": true, - "subscribers_count": 42, - "network_count": 0 - }, - "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", - "allow_squash_merge": true, - "delete_branch_on_merge": true, - "allow_merge_commit": true, - "subscribers_count": 42, - "network_count": 0, - "organization": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "Organization", - "site_admin": false - }, - "parent": { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "clone_url": "https://github.com/octocat/Hello-World.git", - "mirror_url": "git:git.example.com/octocat/Hello-World", - "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", - "svn_url": "https://svn.github.com/octocat/Hello-World", - "homepage": "https://github.com", - "language": null, - "forks_count": 9, - "stargazers_count": 80, - "watchers_count": 80, - "size": 108, - "default_branch": "master", - "open_issues_count": 0, - "is_template": true, - "topics": ["octocat", "atom", "electron", "api"], - "has_issues": true, - "has_projects": true, - "has_wiki": true, - "has_pages": false, - "has_downloads": true, - "archived": false, - "disabled": false, - "visibility": "public", - "pushed_at": "2011-01-26T19:06:43Z", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "permissions": { "admin": false, "push": false, "pull": true }, - "allow_rebase_merge": true, - "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", - "allow_squash_merge": true, - "delete_branch_on_merge": true, - "allow_merge_commit": true, - "subscribers_count": 42, - "network_count": 0, - "license": { - "key": "mit", - "name": "MIT License", - "url": "https://api.github.com/licenses/mit", - "spdx_id": "MIT", - "node_id": "MDc6TGljZW5zZW1pdA==", - "html_url": "https://api.github.com/licenses/mit" - }, - "forks": 1, - "open_issues": 1, - "watchers": 1 - }, - "source": { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "clone_url": "https://github.com/octocat/Hello-World.git", - "mirror_url": "git:git.example.com/octocat/Hello-World", - "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", - "svn_url": "https://svn.github.com/octocat/Hello-World", - "homepage": "https://github.com", - "language": null, - "forks_count": 9, - "stargazers_count": 80, - "watchers_count": 80, - "size": 108, - "default_branch": "master", - "open_issues_count": 0, - "is_template": true, - "topics": ["octocat", "atom", "electron", "api"], - "has_issues": true, - "has_projects": true, - "has_wiki": true, - "has_pages": false, - "has_downloads": true, - "archived": false, - "disabled": false, - "visibility": "public", - "pushed_at": "2011-01-26T19:06:43Z", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "permissions": { "admin": false, "push": false, "pull": true }, - "allow_rebase_merge": true, - "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", - "allow_squash_merge": true, - "delete_branch_on_merge": true, - "allow_merge_commit": true, - "subscribers_count": 42, - "network_count": 0, - "license": { - "key": "mit", - "name": "MIT License", - "url": "https://api.github.com/licenses/mit", - "spdx_id": "MIT", - "node_id": "MDc6TGljZW5zZW1pdA==", - "html_url": "https://api.github.com/licenses/mit" - }, - "forks": 1, - "open_issues": 1, - "watchers": 1 - } - } - }, - "artifact-paginated": { - "value": { - "total_count": 2, - "artifacts": [ - { - "id": 11, - "node_id": "MDg6QXJ0aWZhY3QxMQ==", - "name": "Rails", - "size_in_bytes": 556, - "url": "https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/11", - "archive_download_url": "https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/11/zip", - "expired": false, - "created_at": "2020-01-10T14:59:22Z", - "expires_at": "2020-03-21T14:59:22Z", - "updated_at": "2020-02-21T14:59:22Z" - }, - { - "id": 13, - "node_id": "MDg6QXJ0aWZhY3QxMw==", - "name": "", - "size_in_bytes": 453, - "url": "https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/13", - "archive_download_url": "https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/13/zip", - "expired": false, - "created_at": "2020-01-10T14:59:22Z", - "expires_at": "2020-03-21T14:59:22Z", - "updated_at": "2020-02-21T14:59:22Z" - } - ] - } - }, - "artifact": { - "value": { - "id": 11, - "node_id": "MDg6QXJ0aWZhY3QxMQ==", - "name": "Rails", - "size_in_bytes": 556, - "url": "https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/11", - "archive_download_url": "https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/11/zip", - "expired": false, - "created_at": "2020-01-10T14:59:22Z", - "expires_at": "2020-01-21T14:59:22Z", - "updated_at": "2020-01-21T14:59:22Z" - } - }, - "job": { - "value": { - "id": 399444496, - "run_id": 29679449, - "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", - "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", - "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", - "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444496", - "html_url": "https://github.com/octo-org/octo-repo/runs/399444496", - "status": "completed", - "conclusion": "success", - "started_at": "2020-01-20T17:42:40Z", - "completed_at": "2020-01-20T17:44:39Z", - "name": "build", - "steps": [ - { - "name": "Set up job", - "status": "completed", - "conclusion": "success", - "number": 1, - "started_at": "2020-01-20T09:42:40.000-08:00", - "completed_at": "2020-01-20T09:42:41.000-08:00" - }, - { - "name": "Run actions/checkout@v2", - "status": "completed", - "conclusion": "success", - "number": 2, - "started_at": "2020-01-20T09:42:41.000-08:00", - "completed_at": "2020-01-20T09:42:45.000-08:00" - }, - { - "name": "Set up Ruby", - "status": "completed", - "conclusion": "success", - "number": 3, - "started_at": "2020-01-20T09:42:45.000-08:00", - "completed_at": "2020-01-20T09:42:45.000-08:00" - }, - { - "name": "Run actions/cache@v2", - "status": "completed", - "conclusion": "success", - "number": 4, - "started_at": "2020-01-20T09:42:45.000-08:00", - "completed_at": "2020-01-20T09:42:48.000-08:00" - }, - { - "name": "Install Bundler", - "status": "completed", - "conclusion": "success", - "number": 5, - "started_at": "2020-01-20T09:42:48.000-08:00", - "completed_at": "2020-01-20T09:42:52.000-08:00" - }, - { - "name": "Install Gems", - "status": "completed", - "conclusion": "success", - "number": 6, - "started_at": "2020-01-20T09:42:52.000-08:00", - "completed_at": "2020-01-20T09:42:53.000-08:00" - }, - { - "name": "Run Tests", - "status": "completed", - "conclusion": "success", - "number": 7, - "started_at": "2020-01-20T09:42:53.000-08:00", - "completed_at": "2020-01-20T09:42:59.000-08:00" - }, - { - "name": "Deploy to Heroku", - "status": "completed", - "conclusion": "success", - "number": 8, - "started_at": "2020-01-20T09:42:59.000-08:00", - "completed_at": "2020-01-20T09:44:39.000-08:00" - }, - { - "name": "Post actions/cache@v2", - "status": "completed", - "conclusion": "success", - "number": 16, - "started_at": "2020-01-20T09:44:39.000-08:00", - "completed_at": "2020-01-20T09:44:39.000-08:00" - }, - { - "name": "Complete job", - "status": "completed", - "conclusion": "success", - "number": 17, - "started_at": "2020-01-20T09:44:39.000-08:00", - "completed_at": "2020-01-20T09:44:39.000-08:00" - } - ], - "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444496" - } - }, - "actions-repository-permissions": { - "value": { - "enabled": true, - "allowed_actions": "selected", - "selected_actions_url": "https://api.github.com/repositories/42/actions/permissions/selected-actions" - } - }, - "workflow-run-paginated": { - "value": { - "total_count": 1, - "workflow_runs": [ - { - "id": 30433642, - "name": "Build", - "node_id": "MDEyOldvcmtmbG93IFJ1bjI2OTI4OQ==", - "head_branch": "master", - "head_sha": "acb5820ced9479c074f688cc328bf03f341a511d", - "run_number": 562, - "event": "push", - "status": "queued", - "conclusion": null, - "workflow_id": 159038, - "url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642", - "html_url": "https://github.com/octo-org/octo-repo/actions/runs/30433642", - "pull_requests": [], - "created_at": "2020-01-22T19:33:08Z", - "updated_at": "2020-01-22T19:33:08Z", - "jobs_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/jobs", - "logs_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/logs", - "check_suite_url": "https://api.github.com/repos/octo-org/octo-repo/check-suites/414944374", - "artifacts_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/artifacts", - "cancel_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/cancel", - "rerun_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/rerun", - "workflow_url": "https://api.github.com/repos/octo-org/octo-repo/actions/workflows/159038", - "head_commit": { - "id": "acb5820ced9479c074f688cc328bf03f341a511d", - "tree_id": "d23f6eedb1e1b9610bbc754ddb5197bfe7271223", - "message": "Create linter.yaml", - "timestamp": "2020-01-22T19:33:05Z", - "author": { "name": "Octo Cat", "email": "octocat@github.com" }, - "committer": { "name": "GitHub", "email": "noreply@github.com" } - }, - "repository": { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "hooks_url": "http://api.github.com/repos/octocat/Hello-World/hooks" - }, - "head_repository": { - "id": 217723378, - "node_id": "MDEwOlJlcG9zaXRvcnkyMTc3MjMzNzg=", - "name": "octo-repo", - "full_name": "octo-org/octo-repo", - "private": true, - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "html_url": "https://github.com/octo-org/octo-repo", - "description": null, - "fork": false, - "url": "https://api.github.com/repos/octo-org/octo-repo", - "forks_url": "https://api.github.com/repos/octo-org/octo-repo/forks", - "keys_url": "https://api.github.com/repos/octo-org/octo-repo/keys{/key_id}", - "collaborators_url": "https://api.github.com/repos/octo-org/octo-repo/collaborators{/collaborator}", - "teams_url": "https://api.github.com/repos/octo-org/octo-repo/teams", - "hooks_url": "https://api.github.com/repos/octo-org/octo-repo/hooks", - "issue_events_url": "https://api.github.com/repos/octo-org/octo-repo/issues/events{/number}", - "events_url": "https://api.github.com/repos/octo-org/octo-repo/events", - "assignees_url": "https://api.github.com/repos/octo-org/octo-repo/assignees{/user}", - "branches_url": "https://api.github.com/repos/octo-org/octo-repo/branches{/branch}", - "tags_url": "https://api.github.com/repos/octo-org/octo-repo/tags", - "blobs_url": "https://api.github.com/repos/octo-org/octo-repo/git/blobs{/sha}", - "git_tags_url": "https://api.github.com/repos/octo-org/octo-repo/git/tags{/sha}", - "git_refs_url": "https://api.github.com/repos/octo-org/octo-repo/git/refs{/sha}", - "trees_url": "https://api.github.com/repos/octo-org/octo-repo/git/trees{/sha}", - "statuses_url": "https://api.github.com/repos/octo-org/octo-repo/statuses/{sha}", - "languages_url": "https://api.github.com/repos/octo-org/octo-repo/languages", - "stargazers_url": "https://api.github.com/repos/octo-org/octo-repo/stargazers", - "contributors_url": "https://api.github.com/repos/octo-org/octo-repo/contributors", - "subscribers_url": "https://api.github.com/repos/octo-org/octo-repo/subscribers", - "subscription_url": "https://api.github.com/repos/octo-org/octo-repo/subscription", - "commits_url": "https://api.github.com/repos/octo-org/octo-repo/commits{/sha}", - "git_commits_url": "https://api.github.com/repos/octo-org/octo-repo/git/commits{/sha}", - "comments_url": "https://api.github.com/repos/octo-org/octo-repo/comments{/number}", - "issue_comment_url": "https://api.github.com/repos/octo-org/octo-repo/issues/comments{/number}", - "contents_url": "https://api.github.com/repos/octo-org/octo-repo/contents/{+path}", - "compare_url": "https://api.github.com/repos/octo-org/octo-repo/compare/{base}...{head}", - "merges_url": "https://api.github.com/repos/octo-org/octo-repo/merges", - "archive_url": "https://api.github.com/repos/octo-org/octo-repo/{archive_format}{/ref}", - "downloads_url": "https://api.github.com/repos/octo-org/octo-repo/downloads", - "issues_url": "https://api.github.com/repos/octo-org/octo-repo/issues{/number}", - "pulls_url": "https://api.github.com/repos/octo-org/octo-repo/pulls{/number}", - "milestones_url": "https://api.github.com/repos/octo-org/octo-repo/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octo-org/octo-repo/notifications{?since,all,participating}", - "labels_url": "https://api.github.com/repos/octo-org/octo-repo/labels{/name}", - "releases_url": "https://api.github.com/repos/octo-org/octo-repo/releases{/id}", - "deployments_url": "https://api.github.com/repos/octo-org/octo-repo/deployments" - } - } - ] - } - }, - "workflow-run": { - "value": { - "id": 30433642, - "name": "Build", - "node_id": "MDEyOldvcmtmbG93IFJ1bjI2OTI4OQ==", - "head_branch": "master", - "head_sha": "acb5820ced9479c074f688cc328bf03f341a511d", - "run_number": 562, - "event": "push", - "status": "queued", - "conclusion": null, - "workflow_id": 159038, - "url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642", - "html_url": "https://github.com/octo-org/octo-repo/actions/runs/30433642", - "pull_requests": [], - "created_at": "2020-01-22T19:33:08Z", - "updated_at": "2020-01-22T19:33:08Z", - "jobs_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/jobs", - "logs_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/logs", - "check_suite_url": "https://api.github.com/repos/octo-org/octo-repo/check-suites/414944374", - "artifacts_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/artifacts", - "cancel_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/cancel", - "rerun_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/rerun", - "workflow_url": "https://api.github.com/repos/octo-org/octo-repo/actions/workflows/159038", - "head_commit": { - "id": "acb5820ced9479c074f688cc328bf03f341a511d", - "tree_id": "d23f6eedb1e1b9610bbc754ddb5197bfe7271223", - "message": "Create linter.yaml", - "timestamp": "2020-01-22T19:33:05Z", - "author": { "name": "Octo Cat", "email": "octocat@github.com" }, - "committer": { "name": "GitHub", "email": "noreply@github.com" } - }, - "repository": { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "hooks_url": "http://api.github.com/repos/octocat/Hello-World/hooks" - }, - "head_repository": { - "id": 217723378, - "node_id": "MDEwOlJlcG9zaXRvcnkyMTc3MjMzNzg=", - "name": "octo-repo", - "full_name": "octo-org/octo-repo", - "private": true, - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "html_url": "https://github.com/octo-org/octo-repo", - "description": null, - "fork": false, - "url": "https://api.github.com/repos/octo-org/octo-repo", - "forks_url": "https://api.github.com/repos/octo-org/octo-repo/forks", - "keys_url": "https://api.github.com/repos/octo-org/octo-repo/keys{/key_id}", - "collaborators_url": "https://api.github.com/repos/octo-org/octo-repo/collaborators{/collaborator}", - "teams_url": "https://api.github.com/repos/octo-org/octo-repo/teams", - "hooks_url": "https://api.github.com/repos/octo-org/octo-repo/hooks", - "issue_events_url": "https://api.github.com/repos/octo-org/octo-repo/issues/events{/number}", - "events_url": "https://api.github.com/repos/octo-org/octo-repo/events", - "assignees_url": "https://api.github.com/repos/octo-org/octo-repo/assignees{/user}", - "branches_url": "https://api.github.com/repos/octo-org/octo-repo/branches{/branch}", - "tags_url": "https://api.github.com/repos/octo-org/octo-repo/tags", - "blobs_url": "https://api.github.com/repos/octo-org/octo-repo/git/blobs{/sha}", - "git_tags_url": "https://api.github.com/repos/octo-org/octo-repo/git/tags{/sha}", - "git_refs_url": "https://api.github.com/repos/octo-org/octo-repo/git/refs{/sha}", - "trees_url": "https://api.github.com/repos/octo-org/octo-repo/git/trees{/sha}", - "statuses_url": "https://api.github.com/repos/octo-org/octo-repo/statuses/{sha}", - "languages_url": "https://api.github.com/repos/octo-org/octo-repo/languages", - "stargazers_url": "https://api.github.com/repos/octo-org/octo-repo/stargazers", - "contributors_url": "https://api.github.com/repos/octo-org/octo-repo/contributors", - "subscribers_url": "https://api.github.com/repos/octo-org/octo-repo/subscribers", - "subscription_url": "https://api.github.com/repos/octo-org/octo-repo/subscription", - "commits_url": "https://api.github.com/repos/octo-org/octo-repo/commits{/sha}", - "git_commits_url": "https://api.github.com/repos/octo-org/octo-repo/git/commits{/sha}", - "comments_url": "https://api.github.com/repos/octo-org/octo-repo/comments{/number}", - "issue_comment_url": "https://api.github.com/repos/octo-org/octo-repo/issues/comments{/number}", - "contents_url": "https://api.github.com/repos/octo-org/octo-repo/contents/{+path}", - "compare_url": "https://api.github.com/repos/octo-org/octo-repo/compare/{base}...{head}", - "merges_url": "https://api.github.com/repos/octo-org/octo-repo/merges", - "archive_url": "https://api.github.com/repos/octo-org/octo-repo/{archive_format}{/ref}", - "downloads_url": "https://api.github.com/repos/octo-org/octo-repo/downloads", - "issues_url": "https://api.github.com/repos/octo-org/octo-repo/issues{/number}", - "pulls_url": "https://api.github.com/repos/octo-org/octo-repo/pulls{/number}", - "milestones_url": "https://api.github.com/repos/octo-org/octo-repo/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octo-org/octo-repo/notifications{?since,all,participating}", - "labels_url": "https://api.github.com/repos/octo-org/octo-repo/labels{/name}", - "releases_url": "https://api.github.com/repos/octo-org/octo-repo/releases{/id}", - "deployments_url": "https://api.github.com/repos/octo-org/octo-repo/deployments" - } - } - }, - "job-paginated": { - "value": { - "total_count": 1, - "jobs": [ - { - "id": 399444496, - "run_id": 29679449, - "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", - "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", - "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", - "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444496", - "html_url": "https://github.com/octo-org/octo-repo/runs/399444496", - "status": "completed", - "conclusion": "success", - "started_at": "2020-01-20T17:42:40Z", - "completed_at": "2020-01-20T17:44:39Z", - "name": "build", - "steps": [ - { - "name": "Set up job", - "status": "completed", - "conclusion": "success", - "number": 1, - "started_at": "2020-01-20T09:42:40.000-08:00", - "completed_at": "2020-01-20T09:42:41.000-08:00" - }, - { - "name": "Run actions/checkout@v2", - "status": "completed", - "conclusion": "success", - "number": 2, - "started_at": "2020-01-20T09:42:41.000-08:00", - "completed_at": "2020-01-20T09:42:45.000-08:00" - }, - { - "name": "Set up Ruby", - "status": "completed", - "conclusion": "success", - "number": 3, - "started_at": "2020-01-20T09:42:45.000-08:00", - "completed_at": "2020-01-20T09:42:45.000-08:00" - }, - { - "name": "Run actions/cache@v2", - "status": "completed", - "conclusion": "success", - "number": 4, - "started_at": "2020-01-20T09:42:45.000-08:00", - "completed_at": "2020-01-20T09:42:48.000-08:00" - }, - { - "name": "Install Bundler", - "status": "completed", - "conclusion": "success", - "number": 5, - "started_at": "2020-01-20T09:42:48.000-08:00", - "completed_at": "2020-01-20T09:42:52.000-08:00" - }, - { - "name": "Install Gems", - "status": "completed", - "conclusion": "success", - "number": 6, - "started_at": "2020-01-20T09:42:52.000-08:00", - "completed_at": "2020-01-20T09:42:53.000-08:00" - }, - { - "name": "Run Tests", - "status": "completed", - "conclusion": "success", - "number": 7, - "started_at": "2020-01-20T09:42:53.000-08:00", - "completed_at": "2020-01-20T09:42:59.000-08:00" - }, - { - "name": "Deploy to Heroku", - "status": "completed", - "conclusion": "success", - "number": 8, - "started_at": "2020-01-20T09:42:59.000-08:00", - "completed_at": "2020-01-20T09:44:39.000-08:00" - }, - { - "name": "Post actions/cache@v2", - "status": "completed", - "conclusion": "success", - "number": 16, - "started_at": "2020-01-20T09:44:39.000-08:00", - "completed_at": "2020-01-20T09:44:39.000-08:00" - }, - { - "name": "Complete job", - "status": "completed", - "conclusion": "success", - "number": 17, - "started_at": "2020-01-20T09:44:39.000-08:00", - "completed_at": "2020-01-20T09:44:39.000-08:00" - } - ], - "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444496" - } - ] - } - }, - "workflow-run-usage": { - "value": { - "billable": { - "UBUNTU": { "total_ms": 180000, "jobs": 1 }, - "MACOS": { "total_ms": 240000, "jobs": 4 }, - "WINDOWS": { "total_ms": 300000, "jobs": 2 } - }, - "run_duration_ms": 500000 - } - }, - "actions-secret-paginated": { - "value": { - "total_count": 2, - "secrets": [ - { - "name": "GH_TOKEN", - "created_at": "2019-08-10T14:59:22Z", - "updated_at": "2020-01-10T14:59:22Z" - }, - { - "name": "GIST_ID", - "created_at": "2020-01-10T10:59:22Z", - "updated_at": "2020-01-11T11:59:22Z" - } - ] - } - }, - "actions-secret": { - "value": { - "name": "GH_TOKEN", - "created_at": "2019-08-10T14:59:22Z", - "updated_at": "2020-01-10T14:59:22Z" - } - }, - "workflow-paginated": { - "value": { - "total_count": 2, - "workflows": [ - { - "id": 161335, - "node_id": "MDg6V29ya2Zsb3cxNjEzMzU=", - "name": "CI", - "path": ".github/workflows/blank.yaml", - "state": "active", - "created_at": "2020-01-08T23:48:37.000-08:00", - "updated_at": "2020-01-08T23:50:21.000-08:00", - "url": "https://api.github.com/repos/octo-org/octo-repo/actions/workflows/161335", - "html_url": "https://github.com/octo-org/octo-repo/blob/master/.github/workflows/161335", - "badge_url": "https://github.com/octo-org/octo-repo/workflows/CI/badge.svg" - }, - { - "id": 269289, - "node_id": "MDE4OldvcmtmbG93IFNlY29uZGFyeTI2OTI4OQ==", - "name": "Linter", - "path": ".github/workflows/linter.yaml", - "state": "active", - "created_at": "2020-01-08T23:48:37.000-08:00", - "updated_at": "2020-01-08T23:50:21.000-08:00", - "url": "https://api.github.com/repos/octo-org/octo-repo/actions/workflows/269289", - "html_url": "https://github.com/octo-org/octo-repo/blob/master/.github/workflows/269289", - "badge_url": "https://github.com/octo-org/octo-repo/workflows/Linter/badge.svg" - } - ] - } - }, - "workflow": { - "value": { - "id": 161335, - "node_id": "MDg6V29ya2Zsb3cxNjEzMzU=", - "name": "CI", - "path": ".github/workflows/blank.yaml", - "state": "active", - "created_at": "2020-01-08T23:48:37.000-08:00", - "updated_at": "2020-01-08T23:50:21.000-08:00", - "url": "https://api.github.com/repos/octo-org/octo-repo/actions/workflows/161335", - "html_url": "https://github.com/octo-org/octo-repo/blob/master/.github/workflows/161335", - "badge_url": "https://github.com/octo-org/octo-repo/workflows/CI/badge.svg" - } - }, - "workflow-usage": { - "value": { - "billable": { - "UBUNTU": { "total_ms": 180000 }, - "MACOS": { "total_ms": 240000 }, - "WINDOWS": { "total_ms": 300000 } - } - } - }, - "short-branch-items": { - "value": [ - { - "name": "master", - "commit": { - "sha": "c5b97d5ae6c19d5c5df71a34c7fbeeda2479ccbc", - "url": "https://api.github.com/repos/octocat/Hello-World/commits/c5b97d5ae6c19d5c5df71a34c7fbeeda2479ccbc" - }, - "protected": true - } - ] - }, - "short-branch-with-protection-items": { - "value": [ - { - "name": "master", - "commit": { - "sha": "c5b97d5ae6c19d5c5df71a34c7fbeeda2479ccbc", - "url": "https://api.github.com/repos/octocat/Hello-World/commits/c5b97d5ae6c19d5c5df71a34c7fbeeda2479ccbc" - }, - "protected": true, - "protection": { - "enabled": true, - "required_status_checks": { - "enforcement_level": "non_admins", - "contexts": ["ci-test", "linter"] - } - }, - "protection_url": "https://api.github.com/repos/octocat/hello-world/branches/master/protection" - } - ] - }, - "branch-with-protection": { - "value": { - "name": "master", - "commit": { - "sha": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", - "node_id": "MDY6Q29tbWl0N2ZkMWE2MGIwMWY5MWIzMTRmNTk5NTVhNGU0ZDRlODBkOGVkZjExZA==", - "commit": { - "author": { - "name": "The Octocat", - "date": "2012-03-06T15:06:50-08:00", - "email": "octocat@nowhere.com" - }, - "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", - "message": "Merge pull request #6 from Spaceghost/patch-1\n\nNew line at end of file.", - "tree": { - "sha": "b4eecafa9be2f2006ce1b709d6857b07069b4608", - "url": "https://api.github.com/repos/octocat/Hello-World/git/trees/b4eecafa9be2f2006ce1b709d6857b07069b4608" - }, - "committer": { - "name": "The Octocat", - "date": "2012-03-06T15:06:50-08:00", - "email": "octocat@nowhere.com" - }, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null - }, - "comment_count": 0 - }, - "author": { - "gravatar_id": "", - "avatar_url": "https://secure.gravatar.com/avatar/7ad39074b0584bc555d0417ae3e7d974?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png", - "url": "https://api.github.com/users/octocat", - "id": 583231, - "login": "octocat", - "node_id": "MDQ6VXNlcjE=", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": true - }, - "parents": [ - { - "sha": "553c2077f0edc3d5dc5d17262f6aa498e69d6f8e", - "url": "https://api.github.com/repos/octocat/Hello-World/commits/553c2077f0edc3d5dc5d17262f6aa498e69d6f8e" - }, - { - "sha": "762941318ee16e59dabbacb1b4049eec22f0d303", - "url": "https://api.github.com/repos/octocat/Hello-World/commits/762941318ee16e59dabbacb1b4049eec22f0d303" - } - ], - "url": "https://api.github.com/repos/octocat/Hello-World/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", - "committer": { - "gravatar_id": "", - "avatar_url": "https://secure.gravatar.com/avatar/7ad39074b0584bc555d0417ae3e7d974?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png", - "url": "https://api.github.com/users/octocat", - "id": 583231, - "login": "octocat", - "node_id": "MDQ6VXNlcjE=", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": true - }, - "html_url": "https://github.com/octocat/Hello-World/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e/comments" - }, - "_links": { - "html": "https://github.com/octocat/Hello-World/tree/master", - "self": "https://api.github.com/repos/octocat/Hello-World/branches/master" - }, - "protected": true, - "protection": { - "enabled": true, - "required_status_checks": { - "enforcement_level": "non_admins", - "contexts": ["ci-test", "linter"] - } - }, - "protection_url": "https://api.github.com/repos/octocat/hello-world/branches/master/protection" - } - }, - "branch-protection": { - "value": { - "url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection", - "enabled": true, - "required_status_checks": { - "url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks", - "contexts": ["continuous-integration/travis-ci"], - "contexts_url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks/contexts", - "enforcement_level": "non_admins" - }, - "enforce_admins": { - "url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/enforce_admins", - "enabled": true - }, - "required_pull_request_reviews": { - "url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_pull_request_reviews", - "dismissal_restrictions": { - "url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/dismissal_restrictions", - "users_url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/dismissal_restrictions/users", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/dismissal_restrictions/teams", - "users": [ - { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - } - ], - "teams": [ - { - "id": 1, - "node_id": "MDQ6VGVhbTE=", - "url": "https://api.github.com/teams/1", - "html_url": "https://github.com/orgs/github/teams/justice-league", - "name": "Justice League", - "slug": "justice-league", - "description": "A great team.", - "privacy": "closed", - "permission": "admin", - "members_url": "https://api.github.com/teams/1/members{/member}", - "repositories_url": "https://api.github.com/teams/1/repos", - "parent": null - } - ] - }, - "dismiss_stale_reviews": true, - "require_code_owner_reviews": true, - "required_approving_review_count": 2 - }, - "restrictions": { - "url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/restrictions", - "users_url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/restrictions/users", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/restrictions/teams", - "apps_url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/restrictions/teams", - "users": [ - { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - } - ], - "teams": [ - { - "id": 1, - "node_id": "MDQ6VGVhbTE=", - "url": "https://api.github.com/teams/1", - "html_url": "https://github.com/orgs/github/teams/justice-league", - "name": "Justice League", - "slug": "justice-league", - "description": "A great team.", - "privacy": "closed", - "permission": "admin", - "members_url": "https://api.github.com/teams/1/members{/member}", - "repositories_url": "https://api.github.com/teams/1/repos", - "parent": null - } - ], - "apps": [ - { - "id": 1, - "slug": "octoapp", - "node_id": "MDExOkludGVncmF0aW9uMQ==", - "owner": { - "login": "github", - "id": 1, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", - "url": "https://api.github.com/orgs/github", - "repos_url": "https://api.github.com/orgs/github/repos", - "events_url": "https://api.github.com/orgs/github/events", - "hooks_url": "https://api.github.com/orgs/github/hooks", - "issues_url": "https://api.github.com/orgs/github/issues", - "members_url": "https://api.github.com/orgs/github/members{/member}", - "public_members_url": "https://api.github.com/orgs/github/public_members{/member}", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "description": "A great organization" - }, - "name": "Octocat App", - "description": "", - "external_url": "https://example.com", - "html_url": "https://github.com/apps/octoapp", - "created_at": "2017-07-08T16:18:44-04:00", - "updated_at": "2017-07-08T16:18:44-04:00", - "permissions": { - "metadata": "read", - "contents": "read", - "issues": "write", - "single_file": "write" - }, - "events": ["push", "pull_request"] - } - ] - }, - "required_linear_history": { "enabled": true }, - "allow_force_pushes": { "enabled": true }, - "allow_deletions": { "enabled": true } - } - }, - "protected-branch-admin-enforced-2": { - "value": { - "url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/enforce_admins", - "enabled": true - } - }, - "protected-branch-pull-request-review": { - "value": { - "url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_pull_request_reviews", - "dismissal_restrictions": { - "url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/dismissal_restrictions", - "users_url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/dismissal_restrictions/users", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/dismissal_restrictions/teams", - "users": [ - { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - } - ], - "teams": [ - { - "id": 1, - "node_id": "MDQ6VGVhbTE=", - "url": "https://api.github.com/teams/1", - "html_url": "https://github.com/orgs/github/teams/justice-league", - "name": "Justice League", - "slug": "justice-league", - "description": "A great team.", - "privacy": "closed", - "permission": "admin", - "members_url": "https://api.github.com/teams/1/members{/member}", - "repositories_url": "https://api.github.com/teams/1/repos", - "parent": null - } - ] - }, - "dismiss_stale_reviews": true, - "require_code_owner_reviews": true, - "required_approving_review_count": 2 - } - }, - "protected-branch-admin-enforced": { - "value": { - "url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_signatures", - "enabled": true - } - }, - "status-check-policy": { - "value": { - "url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks", - "strict": true, - "contexts": ["continuous-integration/travis-ci"], - "contexts_url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks/contexts" - } - }, - "branch-restriction-policy": { - "value": { - "url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/restrictions", - "users_url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/restrictions/users", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/restrictions/teams", - "apps_url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/restrictions/teams", - "users": [ - { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - } - ], - "teams": [ - { - "id": 1, - "node_id": "MDQ6VGVhbTE=", - "url": "https://api.github.com/teams/1", - "html_url": "https://github.com/orgs/github/teams/justice-league", - "name": "Justice League", - "slug": "justice-league", - "description": "A great team.", - "privacy": "closed", - "permission": "admin", - "members_url": "https://api.github.com/teams/1/members{/member}", - "repositories_url": "https://api.github.com/teams/1/repos", - "parent": null - } - ], - "apps": [ - { - "id": 1, - "slug": "octoapp", - "node_id": "MDExOkludGVncmF0aW9uMQ==", - "owner": { - "login": "github", - "id": 1, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", - "url": "https://api.github.com/orgs/github", - "repos_url": "https://api.github.com/orgs/github/repos", - "events_url": "https://api.github.com/orgs/github/events", - "hooks_url": "https://api.github.com/orgs/github/hooks", - "issues_url": "https://api.github.com/orgs/github/issues", - "members_url": "https://api.github.com/orgs/github/members{/member}", - "public_members_url": "https://api.github.com/orgs/github/public_members{/member}", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "description": "A great organization" - }, - "name": "Octocat App", - "description": "", - "external_url": "https://example.com", - "html_url": "https://github.com/apps/octoapp", - "created_at": "2017-07-08T16:18:44-04:00", - "updated_at": "2017-07-08T16:18:44-04:00", - "permissions": { - "metadata": "read", - "contents": "read", - "issues": "write", - "single_file": "write" - }, - "events": ["push", "pull_request"] - } - ] - } - }, - "integration-items": { - "value": [ - { - "id": 1, - "slug": "octoapp", - "node_id": "MDExOkludGVncmF0aW9uMQ==", - "owner": { - "login": "github", - "id": 1, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", - "url": "https://api.github.com/orgs/github", - "repos_url": "https://api.github.com/orgs/github/repos", - "events_url": "https://api.github.com/orgs/github/events", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": true - }, - "name": "Octocat App", - "description": "", - "external_url": "https://example.com", - "html_url": "https://github.com/apps/octoapp", - "created_at": "2017-07-08T16:18:44-04:00", - "updated_at": "2017-07-08T16:18:44-04:00", - "permissions": { - "metadata": "read", - "contents": "read", - "issues": "write", - "single_file": "write" - }, - "events": ["push", "pull_request"] - } - ] - }, - "check-run-example-of-in-progress-conclusion": { - "summary": "Example of in_progress conclusion", - "value": { - "id": 4, - "head_sha": "ce587453ced02b1526dfb4cb910479d431683101", - "node_id": "MDg6Q2hlY2tSdW40", - "external_id": "42", - "url": "https://api.github.com/repos/github/hello-world/check-runs/4", - "html_url": "https://github.com/github/hello-world/runs/4", - "details_url": "https://example.com", - "status": "in_progress", - "conclusion": "neutral", - "started_at": "2018-05-04T01:14:52Z", - "completed_at": null, - "output": { - "title": "Mighty Readme Report", - "summary": "", - "text": "", - "annotations_count": 1, - "annotations_url": "https://api.github.com/repos/github/hello-world/check-runs/4/annotations" - }, - "name": "mighty_readme", - "check_suite": { "id": 5 }, - "app": { - "id": 1, - "slug": "octoapp", - "node_id": "MDExOkludGVncmF0aW9uMQ==", - "owner": { - "login": "github", - "id": 1, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", - "url": "https://api.github.com/orgs/github", - "repos_url": "https://api.github.com/orgs/github/repos", - "events_url": "https://api.github.com/orgs/github/events", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": true - }, - "name": "Octocat App", - "description": "", - "external_url": "https://example.com", - "html_url": "https://github.com/apps/octoapp", - "created_at": "2017-07-08T16:18:44-04:00", - "updated_at": "2017-07-08T16:18:44-04:00", - "permissions": { - "metadata": "read", - "contents": "read", - "issues": "write", - "single_file": "write" - }, - "events": ["push", "pull_request"] - }, - "pull_requests": [ - { - "url": "https://api.github.com/repos/github/hello-world/pulls/1", - "id": 1934, - "number": 3956, - "head": { - "ref": "say-hello", - "sha": "3dca65fa3e8d4b3da3f3d056c59aee1c50f41390", - "repo": { - "id": 526, - "url": "https://api.github.com/repos/github/hello-world", - "name": "hello-world" - } - }, - "base": { - "ref": "master", - "sha": "e7fdf7640066d71ad16a86fbcbb9c6a10a18af4f", - "repo": { - "id": 526, - "url": "https://api.github.com/repos/github/hello-world", - "name": "hello-world" - } - } - } - ] - } - }, - "check-run-example-of-completed-conclusion": { - "summary": "Example of completed conclusion", - "value": { - "id": 4, - "head_sha": "ce587453ced02b1526dfb4cb910479d431683101", - "node_id": "MDg6Q2hlY2tSdW40", - "external_id": "", - "url": "https://api.github.com/repos/github/hello-world/check-runs/4", - "html_url": "https://github.com/github/hello-world/runs/4", - "details_url": "https://example.com", - "status": "completed", - "conclusion": "neutral", - "started_at": "2018-05-04T01:14:52Z", - "completed_at": "2018-05-04T01:14:52Z", - "output": { - "title": "Mighty Readme report", - "summary": "There are 0 failures, 2 warnings, and 1 notice.", - "text": "You may have some misspelled words on lines 2 and 4. You also may want to add a section in your README about how to install your app.", - "annotations_count": 2, - "annotations_url": "https://api.github.com/repos/github/hello-world/check-runs/4/annotations" - }, - "name": "mighty_readme", - "check_suite": { "id": 5 }, - "app": { - "id": 1, - "slug": "octoapp", - "node_id": "MDExOkludGVncmF0aW9uMQ==", - "owner": { - "login": "github", - "id": 1, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", - "url": "https://api.github.com/orgs/github", - "repos_url": "https://api.github.com/orgs/github/repos", - "events_url": "https://api.github.com/orgs/github/events", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": true - }, - "name": "Octocat App", - "description": "", - "external_url": "https://example.com", - "html_url": "https://github.com/apps/octoapp", - "created_at": "2017-07-08T16:18:44-04:00", - "updated_at": "2017-07-08T16:18:44-04:00", - "permissions": { - "metadata": "read", - "contents": "read", - "issues": "write", - "single_file": "write" - }, - "events": ["push", "pull_request"] - }, - "pull_requests": [ - { - "url": "https://api.github.com/repos/github/hello-world/pulls/1", - "id": 1934, - "number": 3956, - "head": { - "ref": "say-hello", - "sha": "3dca65fa3e8d4b3da3f3d056c59aee1c50f41390", - "repo": { - "id": 526, - "url": "https://api.github.com/repos/github/hello-world", - "name": "hello-world" - } - }, - "base": { - "ref": "master", - "sha": "e7fdf7640066d71ad16a86fbcbb9c6a10a18af4f", - "repo": { - "id": 526, - "url": "https://api.github.com/repos/github/hello-world", - "name": "hello-world" - } - } - } - ] - } - }, - "check-run": { - "value": { - "id": 4, - "head_sha": "ce587453ced02b1526dfb4cb910479d431683101", - "node_id": "MDg6Q2hlY2tSdW40", - "external_id": "", - "url": "https://api.github.com/repos/github/hello-world/check-runs/4", - "html_url": "https://github.com/github/hello-world/runs/4", - "details_url": "https://example.com", - "status": "completed", - "conclusion": "neutral", - "started_at": "2018-05-04T01:14:52Z", - "completed_at": "2018-05-04T01:14:52Z", - "output": { - "title": "Mighty Readme report", - "summary": "There are 0 failures, 2 warnings, and 1 notice.", - "text": "You may have some misspelled words on lines 2 and 4. You also may want to add a section in your README about how to install your app.", - "annotations_count": 2, - "annotations_url": "https://api.github.com/repos/github/hello-world/check-runs/4/annotations" - }, - "name": "mighty_readme", - "check_suite": { "id": 5 }, - "app": { - "id": 1, - "slug": "octoapp", - "node_id": "MDExOkludGVncmF0aW9uMQ==", - "owner": { - "login": "github", - "id": 1, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", - "url": "https://api.github.com/orgs/github", - "repos_url": "https://api.github.com/orgs/github/repos", - "events_url": "https://api.github.com/orgs/github/events", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": true - }, - "name": "Octocat App", - "description": "", - "external_url": "https://example.com", - "html_url": "https://github.com/apps/octoapp", - "created_at": "2017-07-08T16:18:44-04:00", - "updated_at": "2017-07-08T16:18:44-04:00", - "permissions": { - "metadata": "read", - "contents": "read", - "issues": "write", - "single_file": "write" - }, - "events": ["push", "pull_request"] - }, - "pull_requests": [ - { - "url": "https://api.github.com/repos/github/hello-world/pulls/1", - "id": 1934, - "number": 3956, - "head": { - "ref": "say-hello", - "sha": "3dca65fa3e8d4b3da3f3d056c59aee1c50f41390", - "repo": { - "id": 526, - "url": "https://api.github.com/repos/github/hello-world", - "name": "hello-world" - } - }, - "base": { - "ref": "master", - "sha": "e7fdf7640066d71ad16a86fbcbb9c6a10a18af4f", - "repo": { - "id": 526, - "url": "https://api.github.com/repos/github/hello-world", - "name": "hello-world" - } - } - } - ] - } - }, - "check-annotation-items": { - "value": [ - { - "path": "README.md", - "start_line": 2, - "end_line": 2, - "start_column": 5, - "end_column": 10, - "annotation_level": "warning", - "title": "Spell Checker", - "message": "Check your spelling for 'banaas'.", - "raw_details": "Do you mean 'bananas' or 'banana'?", - "blob_href": "https://api.github.com/repos/github/rest-api-description/git/blobs/abc" - } - ] - }, - "check-suite": { - "value": { - "id": 5, - "node_id": "MDEwOkNoZWNrU3VpdGU1", - "head_branch": "master", - "head_sha": "d6fde92930d4715a2b49857d24b940956b26d2d3", - "status": "completed", - "conclusion": "neutral", - "url": "https://api.github.com/repos/github/hello-world/check-suites/5", - "before": "146e867f55c26428e5f9fade55a9bbf5e95a7912", - "after": "d6fde92930d4715a2b49857d24b940956b26d2d3", - "pull_requests": [], - "created_at": "2017-07-08T16:18:44-04:00", - "updated_at": "2017-07-08T16:18:44-04:00", - "app": { - "id": 1, - "slug": "octoapp", - "node_id": "MDExOkludGVncmF0aW9uMQ==", - "owner": { - "login": "github", - "id": 1, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", - "url": "https://api.github.com/orgs/github", - "repos_url": "https://api.github.com/orgs/github/repos", - "events_url": "https://api.github.com/orgs/github/events", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": true - }, - "name": "Octocat App", - "description": "", - "external_url": "https://example.com", - "html_url": "https://github.com/apps/octoapp", - "created_at": "2017-07-08T16:18:44-04:00", - "updated_at": "2017-07-08T16:18:44-04:00", - "permissions": { - "metadata": "read", - "contents": "read", - "issues": "write", - "single_file": "write" - }, - "events": ["push", "pull_request"] - }, - "repository": { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "template_repository": { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World-Template", - "full_name": "octocat/Hello-World-Template", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World-Template", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World-Template", - "archive_url": "https://api.github.com/repos/octocat/Hello-World-Template/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World-Template/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World-Template/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World-Template/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World-Template/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World-Template/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World-Template/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World-Template/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World-Template/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World-Template/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World-Template/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World-Template/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World-Template/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World-Template/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World-Template/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World-Template/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World-Template/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World-Template.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World-Template/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World-Template/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World-Template/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World-Template/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World-Template/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World-Template/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World-Template/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World-Template/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World-Template/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World-Template/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World-Template/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World-Template.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World-Template/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World-Template/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World-Template/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World-Template/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World-Template/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World-Template/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World-Template/git/trees{/sha}", - "clone_url": "https://github.com/octocat/Hello-World-Template.git", - "mirror_url": "git:git.example.com/octocat/Hello-World-Template", - "hooks_url": "https://api.github.com/repos/octocat/Hello-World-Template/hooks", - "svn_url": "https://svn.github.com/octocat/Hello-World-Template", - "homepage": "https://github.com", - "language": null, - "forks": 9, - "forks_count": 9, - "stargazers_count": 80, - "watchers_count": 80, - "watchers": 80, - "size": 108, - "default_branch": "master", - "open_issues": 0, - "open_issues_count": 0, - "is_template": true, - "license": { - "key": "mit", - "name": "MIT License", - "url": "https://api.github.com/licenses/mit", - "spdx_id": "MIT", - "node_id": "MDc6TGljZW5zZW1pdA==", - "html_url": "https://api.github.com/licenses/mit" - }, - "topics": ["octocat", "atom", "electron", "api"], - "has_issues": true, - "has_projects": true, - "has_wiki": true, - "has_pages": false, - "has_downloads": true, - "archived": false, - "disabled": false, - "visibility": "public", - "pushed_at": "2011-01-26T19:06:43Z", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "permissions": { "admin": false, "push": false, "pull": true }, - "allow_rebase_merge": true, - "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", - "allow_squash_merge": true, - "delete_branch_on_merge": true, - "allow_merge_commit": true, - "subscribers_count": 42, - "network_count": 0 - }, - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "clone_url": "https://github.com/octocat/Hello-World.git", - "mirror_url": "git:git.example.com/octocat/Hello-World", - "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", - "svn_url": "https://svn.github.com/octocat/Hello-World", - "homepage": "https://github.com", - "language": null, - "forks_count": 9, - "stargazers_count": 80, - "watchers_count": 80, - "size": 108, - "default_branch": "master", - "open_issues_count": 0, - "is_template": false, - "topics": ["octocat", "atom", "electron", "api"], - "has_issues": true, - "has_projects": true, - "has_wiki": true, - "has_pages": false, - "has_downloads": true, - "archived": false, - "disabled": false, - "visibility": "public", - "pushed_at": "2011-01-26T19:06:43Z", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "permissions": { "admin": false, "push": false, "pull": true }, - "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", - "delete_branch_on_merge": true, - "subscribers_count": 42, - "network_count": 0 - }, - "head_commit": { - "id": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", - "tree_id": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", - "message": "Merge pull request #6 from Spaceghost/patch-1\n\nNew line at end of file.", - "timestamp": "2016-10-10T00:00:00Z", - "author": { "name": "The Octocat", "email": "octocat@nowhere.com" }, - "committer": { - "name": "The Octocat", - "email": "octocat@nowhere.com" - } - }, - "latest_check_runs_count": 1, - "check_runs_url": "https://api.github.com/repos/octocat/Hello-World/check-suites/5/check-runs" - } - }, - "check-suite-preference": { - "value": { - "preferences": { - "auto_trigger_checks": [ - { "app_id": 2, "setting": true }, - { "app_id": 4, "setting": false } - ] - }, - "repository": { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "clone_url": "https://github.com/octocat/Hello-World.git", - "mirror_url": "git:git.example.com/octocat/Hello-World", - "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", - "svn_url": "https://svn.github.com/octocat/Hello-World", - "homepage": "https://github.com", - "language": null, - "forks_count": 9, - "stargazers_count": 80, - "watchers_count": 80, - "size": 108, - "default_branch": "master", - "open_issues_count": 0, - "is_template": true, - "topics": ["octocat", "atom", "electron", "api"], - "has_issues": true, - "has_projects": true, - "has_wiki": true, - "has_pages": false, - "has_downloads": true, - "archived": false, - "disabled": false, - "visibility": "public", - "pushed_at": "2011-01-26T19:06:43Z", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "permissions": { "admin": false, "push": false, "pull": true }, - "allow_rebase_merge": true, - "template_repository": null, - "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", - "allow_squash_merge": true, - "delete_branch_on_merge": true, - "allow_merge_commit": true, - "subscribers_count": 42, - "network_count": 0, - "license": { - "key": "mit", - "name": "MIT License", - "url": "https://api.github.com/licenses/mit", - "spdx_id": "MIT", - "node_id": "MDc6TGljZW5zZW1pdA==", - "html_url": "http://choosealicense.com/licenses/mit/" - }, - "forks": 1, - "open_issues": 1, - "watchers": 1 - } - } - }, - "check-run-paginated": { - "value": { - "total_count": 1, - "check_runs": [ - { - "id": 4, - "head_sha": "ce587453ced02b1526dfb4cb910479d431683101", - "node_id": "MDg6Q2hlY2tSdW40", - "external_id": "", - "url": "https://api.github.com/repos/github/hello-world/check-runs/4", - "html_url": "https://github.com/github/hello-world/runs/4", - "details_url": "https://example.com", - "status": "completed", - "conclusion": "neutral", - "started_at": "2018-05-04T01:14:52Z", - "completed_at": "2018-05-04T01:14:52Z", - "output": { - "title": "Mighty Readme report", - "summary": "There are 0 failures, 2 warnings, and 1 notice.", - "text": "You may have some misspelled words on lines 2 and 4. You also may want to add a section in your README about how to install your app.", - "annotations_count": 2, - "annotations_url": "https://api.github.com/repos/github/hello-world/check-runs/4/annotations" - }, - "name": "mighty_readme", - "check_suite": { "id": 5 }, - "app": { - "id": 1, - "slug": "octoapp", - "node_id": "MDExOkludGVncmF0aW9uMQ==", - "owner": { - "login": "github", - "id": 1, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", - "url": "https://api.github.com/orgs/github", - "repos_url": "https://api.github.com/orgs/github/repos", - "events_url": "https://api.github.com/orgs/github/events", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": true - }, - "name": "Octocat App", - "description": "", - "external_url": "https://example.com", - "html_url": "https://github.com/apps/octoapp", - "created_at": "2017-07-08T16:18:44-04:00", - "updated_at": "2017-07-08T16:18:44-04:00", - "permissions": { - "metadata": "read", - "contents": "read", - "issues": "write", - "single_file": "write" - }, - "events": ["push", "pull_request"] - }, - "pull_requests": [ - { - "url": "https://api.github.com/repos/github/hello-world/pulls/1", - "id": 1934, - "number": 3956, - "head": { - "ref": "say-hello", - "sha": "3dca65fa3e8d4b3da3f3d056c59aee1c50f41390", - "repo": { - "id": 526, - "url": "https://api.github.com/repos/github/hello-world", - "name": "hello-world" - } - }, - "base": { - "ref": "master", - "sha": "e7fdf7640066d71ad16a86fbcbb9c6a10a18af4f", - "repo": { - "id": 526, - "url": "https://api.github.com/repos/github/hello-world", - "name": "hello-world" - } - } - } - ] - } - ] - } - }, - "code-scanning-alert-code-scanning-alert-items": { - "value": [ - { - "number": 4, - "created_at": "2020-02-13T12:29:18Z", - "url": "https://api.github.com/repos/github/hello-world/code-scanning/alerts/4", - "html_url": "https://github.com/github/hello-world/code-scanning/4", - "state": "open", - "dismissed_by": null, - "dismissed_at": null, - "dismissed_reason": null, - "rule": { - "id": "js/zipslip", - "severity": "error", - "description": "Arbitrary file write during zip extraction" - }, - "tool": { "name": "CodeQL command-line toolchain", "version": null } - }, - { - "number": 3, - "created_at": "2020-02-13T12:29:18Z", - "url": "https://api.github.com/repos/github/hello-world/code-scanning/alerts/3", - "html_url": "https://github.com/github/hello-world/code-scanning/3", - "state": "dismissed", - "dismissed_by": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "dismissed_at": "2020-02-14T12:29:18Z", - "dismissed_reason": "false positive", - "rule": { - "id": "js/zipslip", - "severity": "error", - "description": "Arbitrary file write during zip extraction" - }, - "tool": { "name": "CodeQL command-line toolchain", "version": null } - } - ] - }, - "code-scanning-alert-code-scanning-alert": { - "value": { - "number": 42, - "created_at": "2020-06-19T11:21:34Z", - "url": "https://api.github.com/repos/github/hello-world/code-scanning/alerts/42", - "html_url": "https://github.com/github/hello-world/code-scanning/42", - "instances": [ - { - "ref": "refs/heads/main", - "analysis_key": ".github/workflows/codeql-analysis.yml:CodeQL-Build", - "environment": "", - "state": "fixed" - }, - { - "ref": "refs/pull/3740/head", - "analysis_key": ".github/workflows/codeql-analysis.yml:CodeQL-Build", - "environment": "", - "state": "dismissed" - } - ], - "state": "dismissed", - "dismissed_by": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "dismissed_at": "2020-02-14T12:29:18Z", - "dismissed_reason": "false positive", - "rule": { - "id": "js/polynomial-redos", - "severity": "warning", - "description": "Polynomial regular expression used on uncontrolled data" - }, - "tool": { "name": "CodeQL command-line toolchain", "version": null } - } - }, - "code-scanning-alert-code-scanning-alert-dismissed": { - "value": { - "number": 42, - "created_at": "2020-08-25T21:28:36Z", - "url": "https://api.github.com/repos/github/hello-world/code-scanning/alerts/42", - "html_url": "https://github.com/github/hello-world/code-scanning/42", - "instances": [ - { - "ref": "refs/heads/codeql-analysis-yml", - "analysis_key": ".github/workflows/codeql-analysis.yml:CodeQL-Build", - "environment": "", - "state": "dismissed" - }, - { - "ref": "refs/pull/3740/head", - "analysis_key": ".github/workflows/codeql-analysis.yml:CodeQL-Build", - "environment": "", - "state": "dismissed" - } - ], - "state": "dismissed", - "dismissed_by": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "dismissed_at": "2020-09-02T22:34:56Z", - "dismissed_reason": "false positive", - "rule": { - "id": "js/polynomial-redos", - "severity": "warning", - "description": "Polynomial regular expression used on uncontrolled data" - }, - "tool": { "name": "CodeQL command-line toolchain", "version": null } - } - }, - "code-scanning-analysis-code-scanning-analysis-items": { - "value": [ - { - "ref": "refs/heads/master", - "commit_sha": "d99612c3e1f2970085cfbaeadf8f010ef69bad83", - "analysis_key": ".github/workflows/codeql-analysis.yml:analyze", - "tool_name": "CodeQL command-line toolchain", - "environment": "{}", - "error": "", - "created_at": "2020-08-27T15:05:21Z" - }, - { - "ref": "refs/heads/my-branch", - "commit_sha": "c8cff6510d4d084fb1b4aa13b64b97ca12b07321", - "analysis_key": ".github/workflows/shiftleft.yml:build", - "tool_name": "Python Security Analysis", - "environment": "{}", - "error": "", - "created_at": "2020-08-31T22:46:44Z" - } - ] - }, - "collaborator-items": { - "value": [ - { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false, - "permissions": { "pull": true, "push": true, "admin": false } - } - ] - }, - "repository-invitation-response-when-a-new-invitation-is-created": { - "value": { - "id": 1, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "repository": { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "hooks_url": "http://api.github.com/repos/octocat/Hello-World/hooks" - }, - "invitee": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "inviter": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "permissions": "write", - "created_at": "2016-06-13T14:52:50-05:00", - "url": "https://api.github.com/user/repository_invitations/1296269", - "html_url": "https://github.com/octocat/Hello-World/invitations" - } - }, - "repository-collaborator-permission-response-if-user-has-admin-permissions": { - "value": { - "permission": "admin", - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - } - } - }, - "commit-comment-items": { - "value": [ - { - "html_url": "https://github.com/octocat/Hello-World/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e#commitcomment-1", - "url": "https://api.github.com/repos/octocat/Hello-World/comments/1", - "id": 1, - "node_id": "MDEzOkNvbW1pdENvbW1lbnQx", - "body": "Great stuff", - "path": "file1.txt", - "position": 4, - "line": 14, - "commit_id": "6dcb09b5b57875f334f61aebed695e2e4193db5e", - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "created_at": "2011-04-14T16:00:49Z", - "updated_at": "2011-04-14T16:00:49Z", - "author_association": "COLLABORATOR" - } - ] - }, - "commit-comment": { - "value": { - "html_url": "https://github.com/octocat/Hello-World/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e#commitcomment-1", - "url": "https://api.github.com/repos/octocat/Hello-World/comments/1", - "id": 1, - "node_id": "MDEzOkNvbW1pdENvbW1lbnQx", - "body": "Great stuff", - "path": "file1.txt", - "position": 4, - "line": 14, - "commit_id": "6dcb09b5b57875f334f61aebed695e2e4193db5e", - "author_association": "COLLABORATOR", - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "created_at": "2011-04-14T16:00:49Z", - "updated_at": "2011-04-14T16:00:49Z" - } - }, - "commit-comment-2": { - "value": { - "html_url": "https://github.com/octocat/Hello-World/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e#commitcomment-1", - "url": "https://api.github.com/repos/octocat/Hello-World/comments/1", - "id": 1, - "node_id": "MDEzOkNvbW1pdENvbW1lbnQx", - "body": "Nice change", - "path": "file1.txt", - "position": 4, - "line": 14, - "commit_id": "6dcb09b5b57875f334f61aebed695e2e4193db5e", - "author_association": "COLLABORATOR", - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "created_at": "2011-04-14T16:00:49Z", - "updated_at": "2011-04-14T16:00:49Z" - } - }, - "commit-items": { - "value": [ - { - "url": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e", - "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e", - "node_id": "MDY6Q29tbWl0NmRjYjA5YjViNTc4NzVmMzM0ZjYxYWViZWQ2OTVlMmU0MTkzZGI1ZQ==", - "html_url": "https://github.com/octocat/Hello-World/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e/comments", - "commit": { - "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e", - "author": { - "name": "Monalisa Octocat", - "email": "support@github.com", - "date": "2011-04-14T16:00:49Z" - }, - "committer": { - "name": "Monalisa Octocat", - "email": "support@github.com", - "date": "2011-04-14T16:00:49Z" - }, - "message": "Fix all the bugs", - "tree": { - "url": "https://api.github.com/repos/octocat/Hello-World/tree/6dcb09b5b57875f334f61aebed695e2e4193db5e", - "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e" - }, - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null - } - }, - "author": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "committer": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "parents": [ - { - "url": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e", - "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e" - } - ] - } - ] - }, - "branch-short-items": { - "value": [ - { - "name": "branch_5", - "commit": { - "sha": "c5b97d5ae6c19d5c5df71a34c7fbeeda2479ccbc", - "url": "https://api.github.com/repos/octocat/Hello-World/commits/c5b97d5ae6c19d5c5df71a34c7fbeeda2479ccbc" - }, - "protected": false - } - ] - }, - "pull-request-simple-items": { - "value": [ - { - "url": "https://api.github.com/repos/octocat/Hello-World/pulls/1347", - "id": 1, - "node_id": "MDExOlB1bGxSZXF1ZXN0MQ==", - "html_url": "https://github.com/octocat/Hello-World/pull/1347", - "diff_url": "https://github.com/octocat/Hello-World/pull/1347.diff", - "patch_url": "https://github.com/octocat/Hello-World/pull/1347.patch", - "issue_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits", - "review_comments_url": "https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments", - "review_comment_url": "https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/comments", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e", - "number": 1347, - "state": "open", - "locked": true, - "title": "Amazing new feature", - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "body": "Please pull these awesome changes in!", - "labels": [ - { - "id": 208045946, - "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", - "url": "https://api.github.com/repos/octocat/Hello-World/labels/bug", - "name": "bug", - "description": "Something isn't working", - "color": "f29513", - "default": true - } - ], - "milestone": { - "url": "https://api.github.com/repos/octocat/Hello-World/milestones/1", - "html_url": "https://github.com/octocat/Hello-World/milestones/v1.0", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/milestones/1/labels", - "id": 1002604, - "node_id": "MDk6TWlsZXN0b25lMTAwMjYwNA==", - "number": 1, - "state": "open", - "title": "v1.0", - "description": "Tracking milestone for version 1.0", - "creator": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "open_issues": 4, - "closed_issues": 8, - "created_at": "2011-04-10T20:09:31Z", - "updated_at": "2014-03-03T18:58:10Z", - "closed_at": "2013-02-12T13:22:01Z", - "due_on": "2012-10-09T23:39:01Z" - }, - "active_lock_reason": "too heated", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:01:12Z", - "closed_at": "2011-01-26T19:01:12Z", - "merged_at": "2011-01-26T19:01:12Z", - "merge_commit_sha": "e5bd3914e2e596debea16f433f57875b5b90bcd6", - "assignee": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "assignees": [ - { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - { - "login": "hubot", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/hubot_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/hubot", - "html_url": "https://github.com/hubot", - "followers_url": "https://api.github.com/users/hubot/followers", - "following_url": "https://api.github.com/users/hubot/following{/other_user}", - "gists_url": "https://api.github.com/users/hubot/gists{/gist_id}", - "starred_url": "https://api.github.com/users/hubot/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/hubot/subscriptions", - "organizations_url": "https://api.github.com/users/hubot/orgs", - "repos_url": "https://api.github.com/users/hubot/repos", - "events_url": "https://api.github.com/users/hubot/events{/privacy}", - "received_events_url": "https://api.github.com/users/hubot/received_events", - "type": "User", - "site_admin": true - } - ], - "requested_reviewers": [ - { - "login": "other_user", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/other_user_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/other_user", - "html_url": "https://github.com/other_user", - "followers_url": "https://api.github.com/users/other_user/followers", - "following_url": "https://api.github.com/users/other_user/following{/other_user}", - "gists_url": "https://api.github.com/users/other_user/gists{/gist_id}", - "starred_url": "https://api.github.com/users/other_user/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/other_user/subscriptions", - "organizations_url": "https://api.github.com/users/other_user/orgs", - "repos_url": "https://api.github.com/users/other_user/repos", - "events_url": "https://api.github.com/users/other_user/events{/privacy}", - "received_events_url": "https://api.github.com/users/other_user/received_events", - "type": "User", - "site_admin": false - } - ], - "requested_teams": [ - { - "id": 1, - "node_id": "MDQ6VGVhbTE=", - "url": "https://api.github.com/teams/1", - "html_url": "https://github.com/orgs/github/teams/justice-league", - "name": "Justice League", - "slug": "justice-league", - "description": "A great team.", - "privacy": "closed", - "permission": "admin", - "members_url": "https://api.github.com/teams/1/members{/member}", - "repositories_url": "https://api.github.com/teams/1/repos" - } - ], - "head": { - "label": "octocat:new-topic", - "ref": "new-topic", - "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e", - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "repo": { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "clone_url": "https://github.com/octocat/Hello-World.git", - "mirror_url": "git:git.example.com/octocat/Hello-World", - "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", - "svn_url": "https://svn.github.com/octocat/Hello-World", - "homepage": "https://github.com", - "language": null, - "forks_count": 9, - "stargazers_count": 80, - "watchers_count": 80, - "size": 108, - "default_branch": "master", - "open_issues_count": 0, - "is_template": true, - "topics": ["octocat", "atom", "electron", "api"], - "has_issues": true, - "has_projects": true, - "has_wiki": true, - "has_pages": false, - "has_downloads": true, - "archived": false, - "disabled": false, - "visibility": "public", - "pushed_at": "2011-01-26T19:06:43Z", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "permissions": { "admin": false, "push": false, "pull": true }, - "allow_rebase_merge": true, - "template_repository": null, - "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", - "allow_squash_merge": true, - "delete_branch_on_merge": true, - "allow_merge_commit": true, - "subscribers_count": 42, - "network_count": 0, - "license": { - "key": "mit", - "name": "MIT License", - "url": "https://api.github.com/licenses/mit", - "spdx_id": "MIT", - "node_id": "MDc6TGljZW5zZW1pdA==", - "html_url": "https://github.com/licenses/mit" - }, - "forks": 1, - "open_issues": 1, - "watchers": 1 - } - }, - "base": { - "label": "octocat:master", - "ref": "master", - "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e", - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "repo": { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "clone_url": "https://github.com/octocat/Hello-World.git", - "mirror_url": "git:git.example.com/octocat/Hello-World", - "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", - "svn_url": "https://svn.github.com/octocat/Hello-World", - "homepage": "https://github.com", - "language": null, - "forks_count": 9, - "stargazers_count": 80, - "watchers_count": 80, - "size": 108, - "default_branch": "master", - "open_issues_count": 0, - "is_template": true, - "topics": ["octocat", "atom", "electron", "api"], - "has_issues": true, - "has_projects": true, - "has_wiki": true, - "has_pages": false, - "has_downloads": true, - "archived": false, - "disabled": false, - "visibility": "public", - "pushed_at": "2011-01-26T19:06:43Z", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "permissions": { "admin": false, "push": false, "pull": true }, - "allow_rebase_merge": true, - "template_repository": null, - "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", - "allow_squash_merge": true, - "delete_branch_on_merge": true, - "allow_merge_commit": true, - "subscribers_count": 42, - "network_count": 0, - "license": { - "key": "mit", - "name": "MIT License", - "url": "https://api.github.com/licenses/mit", - "spdx_id": "MIT", - "node_id": "MDc6TGljZW5zZW1pdA==", - "html_url": "https://github.com/licenses/mit" - }, - "forks": 1, - "open_issues": 1, - "watchers": 1 - } - }, - "_links": { - "self": { - "href": "https://api.github.com/repos/octocat/Hello-World/pulls/1347" - }, - "html": { - "href": "https://github.com/octocat/Hello-World/pull/1347" - }, - "issue": { - "href": "https://api.github.com/repos/octocat/Hello-World/issues/1347" - }, - "comments": { - "href": "https://api.github.com/repos/octocat/Hello-World/issues/1347/comments" - }, - "review_comments": { - "href": "https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments" - }, - "review_comment": { - "href": "https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number}" - }, - "commits": { - "href": "https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits" - }, - "statuses": { - "href": "https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e" - } - }, - "author_association": "OWNER", - "auto_merge": null, - "draft": false - } - ] - }, - "commit": { - "value": { - "url": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e", - "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e", - "node_id": "MDY6Q29tbWl0NmRjYjA5YjViNTc4NzVmMzM0ZjYxYWViZWQ2OTVlMmU0MTkzZGI1ZQ==", - "html_url": "https://github.com/octocat/Hello-World/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e/comments", - "commit": { - "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e", - "author": { - "name": "Monalisa Octocat", - "email": "mona@github.com", - "date": "2011-04-14T16:00:49Z" - }, - "committer": { - "name": "Monalisa Octocat", - "email": "mona@github.com", - "date": "2011-04-14T16:00:49Z" - }, - "message": "Fix all the bugs", - "tree": { - "url": "https://api.github.com/repos/octocat/Hello-World/tree/6dcb09b5b57875f334f61aebed695e2e4193db5e", - "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e" - }, - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null - } - }, - "author": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "committer": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "parents": [ - { - "url": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e", - "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e" - } - ], - "stats": { "additions": 104, "deletions": 4, "total": 108 }, - "files": [ - { - "filename": "file1.txt", - "additions": 10, - "deletions": 2, - "changes": 12, - "status": "modified", - "raw_url": "https://github.com/octocat/Hello-World/raw/7ca483543807a51b6079e54ac4cc392bc29ae284/file1.txt", - "blob_url": "https://github.com/octocat/Hello-World/blob/7ca483543807a51b6079e54ac4cc392bc29ae284/file1.txt", - "patch": "@@ -29,7 +29,7 @@\n....." - } - ] - } - }, - "check-suite-paginated": { - "value": { - "total_count": 1, - "check_suites": [ - { - "id": 5, - "node_id": "MDEwOkNoZWNrU3VpdGU1", - "head_branch": "master", - "head_sha": "d6fde92930d4715a2b49857d24b940956b26d2d3", - "status": "completed", - "conclusion": "neutral", - "url": "https://api.github.com/repos/github/hello-world/check-suites/5", - "before": "146e867f55c26428e5f9fade55a9bbf5e95a7912", - "after": "d6fde92930d4715a2b49857d24b940956b26d2d3", - "pull_requests": [], - "app": { - "id": 1, - "slug": "octoapp", - "node_id": "MDExOkludGVncmF0aW9uMQ==", - "owner": { - "login": "github", - "id": 1, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", - "url": "https://api.github.com/orgs/github", - "repos_url": "https://api.github.com/orgs/github/repos", - "events_url": "https://api.github.com/orgs/github/events", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": true - }, - "name": "Octocat App", - "description": "", - "external_url": "https://example.com", - "html_url": "https://github.com/apps/octoapp", - "created_at": "2017-07-08T16:18:44-04:00", - "updated_at": "2017-07-08T16:18:44-04:00", - "permissions": { - "metadata": "read", - "contents": "read", - "issues": "write", - "single_file": "write" - }, - "events": ["push", "pull_request"] - }, - "repository": { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "clone_url": "https://github.com/octocat/Hello-World.git", - "mirror_url": "git:git.example.com/octocat/Hello-World", - "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", - "svn_url": "https://svn.github.com/octocat/Hello-World", - "homepage": "https://github.com", - "language": null, - "forks_count": 9, - "stargazers_count": 80, - "watchers_count": 80, - "size": 108, - "default_branch": "master", - "open_issues_count": 0, - "is_template": true, - "topics": ["octocat", "atom", "electron", "api"], - "has_issues": true, - "has_projects": true, - "has_wiki": true, - "has_pages": false, - "has_downloads": true, - "archived": false, - "disabled": false, - "visibility": "public", - "pushed_at": "2011-01-26T19:06:43Z", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "permissions": { "admin": false, "push": false, "pull": true }, - "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", - "delete_branch_on_merge": true, - "subscribers_count": 42, - "network_count": 0 - }, - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "head_commit": { - "id": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", - "tree_id": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", - "message": "Merge pull request #6 from Spaceghost/patch-1\n\nNew line at end of file.", - "timestamp": "2016-10-10T00:00:00Z", - "author": { - "name": "The Octocat", - "email": "octocat@nowhere.com" - }, - "committer": { - "name": "The Octocat", - "email": "octocat@nowhere.com" - } - }, - "latest_check_runs_count": 1, - "check_runs_url": "https://api.github.com/repos/octocat/Hello-World/check-suites/5/check-runs" - } - ] - } - }, - "combined-commit-status": { - "value": { - "state": "success", - "statuses": [ - { - "url": "https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e", - "avatar_url": "https://github.com/images/error/hubot_happy.gif", - "id": 1, - "node_id": "MDY6U3RhdHVzMQ==", - "state": "success", - "description": "Build has completed successfully", - "target_url": "https://ci.example.com/1000/output", - "context": "continuous-integration/jenkins", - "created_at": "2012-07-20T01:19:13Z", - "updated_at": "2012-07-20T01:19:13Z" - }, - { - "url": "https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e", - "avatar_url": "https://github.com/images/error/other_user_happy.gif", - "id": 2, - "node_id": "MDY6U3RhdHVzMg==", - "state": "success", - "description": "Testing has completed successfully", - "target_url": "https://ci.example.com/2000/output", - "context": "security/brakeman", - "created_at": "2012-08-20T01:19:13Z", - "updated_at": "2012-08-20T01:19:13Z" - } - ], - "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e", - "total_count": 2, - "repository": { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "hooks_url": "http://api.github.com/repos/octocat/Hello-World/hooks" - }, - "commit_url": "https://api.github.com/repos/octocat/Hello-World/6dcb09b5b57875f334f61aebed695e2e4193db5e", - "url": "https://api.github.com/repos/octocat/Hello-World/6dcb09b5b57875f334f61aebed695e2e4193db5e/status" - } - }, - "status-items": { - "value": [ - { - "url": "https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e", - "avatar_url": "https://github.com/images/error/hubot_happy.gif", - "id": 1, - "node_id": "MDY6U3RhdHVzMQ==", - "state": "success", - "description": "Build has completed successfully", - "target_url": "https://ci.example.com/1000/output", - "context": "continuous-integration/jenkins", - "created_at": "2012-07-20T01:19:13Z", - "updated_at": "2012-07-20T01:19:13Z", - "creator": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - } - } - ] - }, - "code-of-conduct-2": { - "value": { - "key": "contributor_covenant", - "name": "Contributor Covenant", - "url": "https://github.com/LindseyB/cosee/blob/master/CODE_OF_CONDUCT.md", - "body": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nIn the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.\n\n## Our Standards\n\nExamples of behavior that contributes to creating a positive environment include:\n\n* Using welcoming and inclusive language\n* Being respectful of differing viewpoints and experiences\n* Gracefully accepting constructive criticism\n* Focusing on what is best for the community\n* Showing empathy towards other community members\n\nExamples of unacceptable behavior by participants include:\n\n* The use of sexualized language or imagery and unwelcome sexual attention or advances\n* Trolling, insulting/derogatory comments, and personal or political attacks\n* Public or private harassment\n* Publishing others' private information, such as a physical or electronic address, without explicit permission\n* Other conduct which could reasonably be considered inappropriate in a professional setting\n\n## Our Responsibilities\n\nProject maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response\nto any instances of unacceptable behavior.\n\nProject maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.\n\n## Scope\n\nThis Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address,\nposting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.\n\n## Enforcement\n\nInstances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at lindseyb@github.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.\n\nProject maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.\n\n## Attribution\n\nThis Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]\n\n[homepage]: http://contributor-covenant.org\n[version]: http://contributor-covenant.org/version/1/4/\n", - "html_url": "https://github.com/LindseyB/cosee/blob/master/CODE_OF_CONDUCT.md" - } - }, - "community-profile": { - "value": { - "health_percentage": 100, - "description": "My first repository on GitHub!", - "documentation": null, - "files": { - "code_of_conduct": { - "name": "Contributor Covenant", - "key": "contributor_covenant", - "url": "https://api.github.com/codes_of_conduct/contributor_covenant", - "html_url": "https://github.com/octocat/Hello-World/blob/master/CODE_OF_CONDUCT.md" - }, - "contributing": { - "url": "https://api.github.com/repos/octocat/Hello-World/contents/CONTRIBUTING", - "html_url": "https://github.com/octocat/Hello-World/blob/master/CONTRIBUTING" - }, - "issue_template": { - "url": "https://api.github.com/repos/octocat/Hello-World/contents/ISSUE_TEMPLATE", - "html_url": "https://github.com/octocat/Hello-World/blob/master/ISSUE_TEMPLATE" - }, - "pull_request_template": { - "url": "https://api.github.com/repos/octocat/Hello-World/contents/PULL_REQUEST_TEMPLATE", - "html_url": "https://github.com/octocat/Hello-World/blob/master/PULL_REQUEST_TEMPLATE" - }, - "license": { - "name": "MIT License", - "key": "mit", - "spdx_id": "MIT", - "url": "https://api.github.com/licenses/mit", - "html_url": "https://github.com/octocat/Hello-World/blob/master/LICENSE", - "node_id": "MDc6TGljZW5zZW1pdA==" - }, - "readme": { - "url": "https://api.github.com/repos/octocat/Hello-World/contents/README.md", - "html_url": "https://github.com/octocat/Hello-World/blob/master/README.md" - } - }, - "updated_at": "2017-02-28T19:09:29Z", - "content_reports_enabled": true - } - }, - "commit-comparison": { - "value": { - "url": "https://api.github.com/repos/octocat/Hello-World/compare/master...topic", - "html_url": "https://github.com/octocat/Hello-World/compare/master...topic", - "permalink_url": "https://github.com/octocat/Hello-World/compare/octocat:bbcd538c8e72b8c175046e27cc8f907076331401...octocat:0328041d1152db8ae77652d1618a02e57f745f17", - "diff_url": "https://github.com/octocat/Hello-World/compare/master...topic.diff", - "patch_url": "https://github.com/octocat/Hello-World/compare/master...topic.patch", - "base_commit": { - "url": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e", - "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e", - "node_id": "MDY6Q29tbWl0NmRjYjA5YjViNTc4NzVmMzM0ZjYxYWViZWQ2OTVlMmU0MTkzZGI1ZQ==", - "html_url": "https://github.com/octocat/Hello-World/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e/comments", - "commit": { - "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e", - "author": { - "name": "Monalisa Octocat", - "email": "mona@github.com", - "date": "2011-04-14T16:00:49Z" - }, - "committer": { - "name": "Monalisa Octocat", - "email": "mona@github.com", - "date": "2011-04-14T16:00:49Z" - }, - "message": "Fix all the bugs", - "tree": { - "url": "https://api.github.com/repos/octocat/Hello-World/tree/6dcb09b5b57875f334f61aebed695e2e4193db5e", - "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e" - }, - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null - } - }, - "author": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "committer": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "parents": [ - { - "url": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e", - "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e" - } - ] - }, - "merge_base_commit": { - "url": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e", - "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e", - "node_id": "MDY6Q29tbWl0NmRjYjA5YjViNTc4NzVmMzM0ZjYxYWViZWQ2OTVlMmU0MTkzZGI1ZQ==", - "html_url": "https://github.com/octocat/Hello-World/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e/comments", - "commit": { - "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e", - "author": { - "name": "Monalisa Octocat", - "email": "mona@github.com", - "date": "2011-04-14T16:00:49Z" - }, - "committer": { - "name": "Monalisa Octocat", - "email": "mona@github.com", - "date": "2011-04-14T16:00:49Z" - }, - "message": "Fix all the bugs", - "tree": { - "url": "https://api.github.com/repos/octocat/Hello-World/tree/6dcb09b5b57875f334f61aebed695e2e4193db5e", - "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e" - }, - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null - } - }, - "author": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "committer": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "parents": [ - { - "url": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e", - "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e" - } - ] - }, - "status": "behind", - "ahead_by": 1, - "behind_by": 2, - "total_commits": 1, - "commits": [ - { - "url": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e", - "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e", - "node_id": "MDY6Q29tbWl0NmRjYjA5YjViNTc4NzVmMzM0ZjYxYWViZWQ2OTVlMmU0MTkzZGI1ZQ==", - "html_url": "https://github.com/octocat/Hello-World/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e/comments", - "commit": { - "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e", - "author": { - "name": "Monalisa Octocat", - "email": "mona@github.com", - "date": "2011-04-14T16:00:49Z" - }, - "committer": { - "name": "Monalisa Octocat", - "email": "mona@github.com", - "date": "2011-04-14T16:00:49Z" - }, - "message": "Fix all the bugs", - "tree": { - "url": "https://api.github.com/repos/octocat/Hello-World/tree/6dcb09b5b57875f334f61aebed695e2e4193db5e", - "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e" - }, - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null - } - }, - "author": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "committer": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "parents": [ - { - "url": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e", - "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e" - } - ] - } - ], - "files": [ - { - "sha": "bbcd538c8e72b8c175046e27cc8f907076331401", - "filename": "file1.txt", - "status": "added", - "additions": 103, - "deletions": 21, - "changes": 124, - "blob_url": "https://github.com/octocat/Hello-World/blob/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt", - "raw_url": "https://github.com/octocat/Hello-World/raw/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/file1.txt?ref=6dcb09b5b57875f334f61aebed695e2e4193db5e", - "patch": "@@ -132,7 +132,7 @@ module Test @@ -1000,7 +1000,7 @@ module Test" - } - ] - } - }, - "content-file-response-if-content-is-a-file": { - "summary": "Response if content is a file", - "value": { - "type": "file", - "encoding": "base64", - "size": 5362, - "name": "README.md", - "path": "README.md", - "content": "encoded content ...", - "sha": "3d21ec53a331a6f037a91c368710b99387d012c1", - "url": "https://api.github.com/repos/octokit/octokit.rb/contents/README.md", - "git_url": "https://api.github.com/repos/octokit/octokit.rb/git/blobs/3d21ec53a331a6f037a91c368710b99387d012c1", - "html_url": "https://github.com/octokit/octokit.rb/blob/master/README.md", - "download_url": "https://raw.githubusercontent.com/octokit/octokit.rb/master/README.md", - "_links": { - "git": "https://api.github.com/repos/octokit/octokit.rb/git/blobs/3d21ec53a331a6f037a91c368710b99387d012c1", - "self": "https://api.github.com/repos/octokit/octokit.rb/contents/README.md", - "html": "https://github.com/octokit/octokit.rb/blob/master/README.md" - } - } - }, - "content-file-response-if-content-is-a-directory": { - "summary": "Response if content is a directory", - "value": [ - { - "type": "file", - "size": 625, - "name": "octokit.rb", - "path": "lib/octokit.rb", - "sha": "fff6fe3a23bf1c8ea0692b4a883af99bee26fd3b", - "url": "https://api.github.com/repos/octokit/octokit.rb/contents/lib/octokit.rb", - "git_url": "https://api.github.com/repos/octokit/octokit.rb/git/blobs/fff6fe3a23bf1c8ea0692b4a883af99bee26fd3b", - "html_url": "https://github.com/octokit/octokit.rb/blob/master/lib/octokit.rb", - "download_url": "https://raw.githubusercontent.com/octokit/octokit.rb/master/lib/octokit.rb", - "_links": { - "self": "https://api.github.com/repos/octokit/octokit.rb/contents/lib/octokit.rb", - "git": "https://api.github.com/repos/octokit/octokit.rb/git/blobs/fff6fe3a23bf1c8ea0692b4a883af99bee26fd3b", - "html": "https://github.com/octokit/octokit.rb/blob/master/lib/octokit.rb" - } - }, - { - "type": "dir", - "size": 0, - "name": "octokit", - "path": "lib/octokit", - "sha": "a84d88e7554fc1fa21bcbc4efae3c782a70d2b9d", - "url": "https://api.github.com/repos/octokit/octokit.rb/contents/lib/octokit", - "git_url": "https://api.github.com/repos/octokit/octokit.rb/git/trees/a84d88e7554fc1fa21bcbc4efae3c782a70d2b9d", - "html_url": "https://github.com/octokit/octokit.rb/tree/master/lib/octokit", - "download_url": null, - "_links": { - "self": "https://api.github.com/repos/octokit/octokit.rb/contents/lib/octokit", - "git": "https://api.github.com/repos/octokit/octokit.rb/git/trees/a84d88e7554fc1fa21bcbc4efae3c782a70d2b9d", - "html": "https://github.com/octokit/octokit.rb/tree/master/lib/octokit" - } - } - ] - }, - "content-file-response-if-content-is-a-symlink": { - "summary": "Response if content is a symlink", - "value": { - "type": "symlink", - "target": "/path/to/symlink/target", - "size": 23, - "name": "some-symlink", - "path": "bin/some-symlink", - "sha": "452a98979c88e093d682cab404a3ec82babebb48", - "url": "https://api.github.com/repos/octokit/octokit.rb/contents/bin/some-symlink", - "git_url": "https://api.github.com/repos/octokit/octokit.rb/git/blobs/452a98979c88e093d682cab404a3ec82babebb48", - "html_url": "https://github.com/octokit/octokit.rb/blob/master/bin/some-symlink", - "download_url": "https://raw.githubusercontent.com/octokit/octokit.rb/master/bin/some-symlink", - "_links": { - "git": "https://api.github.com/repos/octokit/octokit.rb/git/blobs/452a98979c88e093d682cab404a3ec82babebb48", - "self": "https://api.github.com/repos/octokit/octokit.rb/contents/bin/some-symlink", - "html": "https://github.com/octokit/octokit.rb/blob/master/bin/some-symlink" - } - } - }, - "content-file-response-if-content-is-a-submodule": { - "summary": "Response if content is a submodule", - "value": { - "type": "submodule", - "submodule_git_url": "git://github.com/jquery/qunit.git", - "size": 0, - "name": "qunit", - "path": "test/qunit", - "sha": "6ca3721222109997540bd6d9ccd396902e0ad2f9", - "url": "https://api.github.com/repos/jquery/jquery/contents/test/qunit?ref=master", - "git_url": "https://api.github.com/repos/jquery/qunit/git/trees/6ca3721222109997540bd6d9ccd396902e0ad2f9", - "html_url": "https://github.com/jquery/qunit/tree/6ca3721222109997540bd6d9ccd396902e0ad2f9", - "download_url": null, - "_links": { - "git": "https://api.github.com/repos/jquery/qunit/git/trees/6ca3721222109997540bd6d9ccd396902e0ad2f9", - "self": "https://api.github.com/repos/jquery/jquery/contents/test/qunit?ref=master", - "html": "https://github.com/jquery/qunit/tree/6ca3721222109997540bd6d9ccd396902e0ad2f9" - } - } - }, - "file-commit-example-for-updating-a-file": { - "value": { - "content": { - "name": "hello.txt", - "path": "notes/hello.txt", - "sha": "a56507ed892d05a37c6d6128c260937ea4d287bd", - "size": 9, - "url": "https://api.github.com/repos/octocat/Hello-World/contents/notes/hello.txt", - "html_url": "https://github.com/octocat/Hello-World/blob/master/notes/hello.txt", - "git_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs/a56507ed892d05a37c6d6128c260937ea4d287bd", - "download_url": "https://raw.githubusercontent.com/octocat/HelloWorld/master/notes/hello.txt", - "type": "file", - "_links": { - "self": "https://api.github.com/repos/octocat/Hello-World/contents/notes/hello.txt", - "git": "https://api.github.com/repos/octocat/Hello-World/git/blobs/a56507ed892d05a37c6d6128c260937ea4d287bd", - "html": "https://github.com/octocat/Hello-World/blob/master/notes/hello.txt" - } - }, - "commit": { - "sha": "18a43cd8e1e3a79c786e3d808a73d23b6d212b16", - "node_id": "MDY6Q29tbWl0MThhNDNjZDhlMWUzYTc5Yzc4NmUzZDgwOGE3M2QyM2I2ZDIxMmIxNg==", - "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/18a43cd8e1e3a79c786e3d808a73d23b6d212b16", - "html_url": "https://github.com/octocat/Hello-World/git/commit/18a43cd8e1e3a79c786e3d808a73d23b6d212b16", - "author": { - "date": "2014-11-07T22:01:45Z", - "name": "Monalisa Octocat", - "email": "octocat@github.com" - }, - "committer": { - "date": "2014-11-07T22:01:45Z", - "name": "Monalisa Octocat", - "email": "octocat@github.com" - }, - "message": "my commit message", - "tree": { - "url": "https://api.github.com/repos/octocat/Hello-World/git/trees/9a21f8e2018f42ffcf369b24d2cd20bc25c9e66f", - "sha": "9a21f8e2018f42ffcf369b24d2cd20bc25c9e66f" - }, - "parents": [ - { - "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/da5a433788da5c255edad7979b328b67d79f53f6", - "html_url": "https://github.com/octocat/Hello-World/git/commit/da5a433788da5c255edad7979b328b67d79f53f6", - "sha": "da5a433788da5c255edad7979b328b67d79f53f6" - } - ], - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null - } - } - } - }, - "file-commit-example-for-creating-a-file": { - "value": { - "content": { - "name": "hello.txt", - "path": "notes/hello.txt", - "sha": "95b966ae1c166bd92f8ae7d1c313e738c731dfc3", - "size": 9, - "url": "https://api.github.com/repos/octocat/Hello-World/contents/notes/hello.txt", - "html_url": "https://github.com/octocat/Hello-World/blob/master/notes/hello.txt", - "git_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs/95b966ae1c166bd92f8ae7d1c313e738c731dfc3", - "download_url": "https://raw.githubusercontent.com/octocat/HelloWorld/master/notes/hello.txt", - "type": "file", - "_links": { - "self": "https://api.github.com/repos/octocat/Hello-World/contents/notes/hello.txt", - "git": "https://api.github.com/repos/octocat/Hello-World/git/blobs/95b966ae1c166bd92f8ae7d1c313e738c731dfc3", - "html": "https://github.com/octocat/Hello-World/blob/master/notes/hello.txt" - } - }, - "commit": { - "sha": "7638417db6d59f3c431d3e1f261cc637155684cd", - "node_id": "MDY6Q29tbWl0NzYzODQxN2RiNmQ1OWYzYzQzMWQzZTFmMjYxY2M2MzcxNTU2ODRjZA==", - "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/7638417db6d59f3c431d3e1f261cc637155684cd", - "html_url": "https://github.com/octocat/Hello-World/git/commit/7638417db6d59f3c431d3e1f261cc637155684cd", - "author": { - "date": "2014-11-07T22:01:45Z", - "name": "Monalisa Octocat", - "email": "octocat@github.com" - }, - "committer": { - "date": "2014-11-07T22:01:45Z", - "name": "Monalisa Octocat", - "email": "octocat@github.com" - }, - "message": "my commit message", - "tree": { - "url": "https://api.github.com/repos/octocat/Hello-World/git/trees/691272480426f78a0138979dd3ce63b77f706feb", - "sha": "691272480426f78a0138979dd3ce63b77f706feb" - }, - "parents": [ - { - "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/1acc419d4d6a9ce985db7be48c6349a0475975b5", - "html_url": "https://github.com/octocat/Hello-World/git/commit/1acc419d4d6a9ce985db7be48c6349a0475975b5", - "sha": "1acc419d4d6a9ce985db7be48c6349a0475975b5" - } - ], - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null - } - } - } - }, - "file-commit": { - "value": { - "content": null, - "commit": { - "sha": "7638417db6d59f3c431d3e1f261cc637155684cd", - "node_id": "MDY6Q29tbWl0NzYzODQxN2RiNmQ1OWYzYzQzMWQzZTFmMjYxY2M2MzcxNTU2ODRjZA==", - "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/7638417db6d59f3c431d3e1f261cc637155684cd", - "html_url": "https://github.com/octocat/Hello-World/git/commit/7638417db6d59f3c431d3e1f261cc637155684cd", - "author": { - "date": "2014-11-07T22:01:45Z", - "name": "Monalisa Octocat", - "email": "octocat@github.com" - }, - "committer": { - "date": "2014-11-07T22:01:45Z", - "name": "Monalisa Octocat", - "email": "octocat@github.com" - }, - "message": "my commit message", - "tree": { - "url": "https://api.github.com/repos/octocat/Hello-World/git/trees/691272480426f78a0138979dd3ce63b77f706feb", - "sha": "691272480426f78a0138979dd3ce63b77f706feb" - }, - "parents": [ - { - "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/1acc419d4d6a9ce985db7be48c6349a0475975b5", - "html_url": "https://github.com/octocat/Hello-World/git/commit/1acc419d4d6a9ce985db7be48c6349a0475975b5", - "sha": "1acc419d4d6a9ce985db7be48c6349a0475975b5" - } - ], - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null - } - } - } - }, - "contributor-items-response-if-repository-contains-content": { - "value": [ - { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false, - "contributions": 32 - } - ] - }, - "deployment-items": { - "value": [ - { - "url": "https://api.github.com/repos/octocat/example/deployments/1", - "id": 1, - "node_id": "MDEwOkRlcGxveW1lbnQx", - "sha": "a84d88e7554fc1fa21bcbc4efae3c782a70d2b9d", - "ref": "topic-branch", - "task": "deploy", - "payload": {}, - "original_environment": "staging", - "environment": "production", - "description": "Deploy request from hubot", - "creator": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "created_at": "2012-07-20T01:19:13Z", - "updated_at": "2012-07-20T01:19:13Z", - "statuses_url": "https://api.github.com/repos/octocat/example/deployments/1/statuses", - "repository_url": "https://api.github.com/repos/octocat/example", - "transient_environment": false, - "production_environment": true - } - ] - }, - "deployment-simple-example": { - "summary": "Simple example", - "value": { - "url": "https://api.github.com/repos/octocat/example/deployments/1", - "id": 1, - "node_id": "MDEwOkRlcGxveW1lbnQx", - "sha": "a84d88e7554fc1fa21bcbc4efae3c782a70d2b9d", - "ref": "topic-branch", - "task": "deploy", - "payload": {}, - "original_environment": "staging", - "environment": "production", - "description": "Deploy request from hubot", - "creator": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "created_at": "2012-07-20T01:19:13Z", - "updated_at": "2012-07-20T01:19:13Z", - "statuses_url": "https://api.github.com/repos/octocat/example/deployments/1/statuses", - "repository_url": "https://api.github.com/repos/octocat/example", - "transient_environment": false, - "production_environment": true - } - }, - "deployment-advanced-example": { - "summary": "Advanced example", - "value": { - "url": "https://api.github.com/repos/octocat/example/deployments/1", - "id": 1, - "node_id": "MDEwOkRlcGxveW1lbnQx", - "sha": "a84d88e7554fc1fa21bcbc4efae3c782a70d2b9d", - "ref": "topic-branch", - "task": "deploy", - "payload": {}, - "original_environment": "staging", - "environment": "production", - "description": "Deploy request from hubot", - "creator": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "created_at": "2012-07-20T01:19:13Z", - "updated_at": "2012-07-20T01:19:13Z", - "statuses_url": "https://api.github.com/repos/octocat/example/deployments/1/statuses", - "repository_url": "https://api.github.com/repos/octocat/example", - "transient_environment": false, - "production_environment": true - } - }, - "deployment": { - "value": { - "url": "https://api.github.com/repos/octocat/example/deployments/1", - "id": 1, - "node_id": "MDEwOkRlcGxveW1lbnQx", - "sha": "a84d88e7554fc1fa21bcbc4efae3c782a70d2b9d", - "ref": "topic-branch", - "task": "deploy", - "payload": {}, - "original_environment": "staging", - "environment": "production", - "description": "Deploy request from hubot", - "creator": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "created_at": "2012-07-20T01:19:13Z", - "updated_at": "2012-07-20T01:19:13Z", - "statuses_url": "https://api.github.com/repos/octocat/example/deployments/1/statuses", - "repository_url": "https://api.github.com/repos/octocat/example", - "transient_environment": false, - "production_environment": true - } - }, - "deployment-status-items": { - "value": [ - { - "url": "https://api.github.com/repos/octocat/example/deployments/42/statuses/1", - "id": 1, - "node_id": "MDE2OkRlcGxveW1lbnRTdGF0dXMx", - "state": "success", - "creator": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "description": "Deployment finished successfully.", - "environment": "production", - "target_url": "https://example.com/deployment/42/output", - "created_at": "2012-07-20T01:19:13Z", - "updated_at": "2012-07-20T01:19:13Z", - "deployment_url": "https://api.github.com/repos/octocat/example/deployments/42", - "repository_url": "https://api.github.com/repos/octocat/example", - "environment_url": "https://test-branch.lab.acme.com", - "log_url": "https://example.com/deployment/42/output" - } - ] - }, - "deployment-status": { - "value": { - "url": "https://api.github.com/repos/octocat/example/deployments/42/statuses/1", - "id": 1, - "node_id": "MDE2OkRlcGxveW1lbnRTdGF0dXMx", - "state": "success", - "creator": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "description": "Deployment finished successfully.", - "environment": "production", - "target_url": "https://example.com/deployment/42/output", - "created_at": "2012-07-20T01:19:13Z", - "updated_at": "2012-07-20T01:19:13Z", - "deployment_url": "https://api.github.com/repos/octocat/example/deployments/42", - "repository_url": "https://api.github.com/repos/octocat/example", - "environment_url": "https://test-branch.lab.acme.com", - "log_url": "https://example.com/deployment/42/output" - } - }, - "minimal-repository-items-2": { - "value": [ - { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": true, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "clone_url": "https://github.com/octocat/Hello-World.git", - "mirror_url": "git:git.example.com/octocat/Hello-World", - "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", - "svn_url": "https://svn.github.com/octocat/Hello-World", - "homepage": "https://github.com", - "language": null, - "forks_count": 9, - "stargazers_count": 80, - "watchers_count": 80, - "size": 108, - "default_branch": "master", - "open_issues_count": 0, - "is_template": true, - "topics": ["octocat", "atom", "electron", "api"], - "has_issues": true, - "has_projects": true, - "has_wiki": true, - "has_pages": false, - "has_downloads": true, - "archived": false, - "disabled": false, - "visibility": "public", - "pushed_at": "2011-01-26T19:06:43Z", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "permissions": { "admin": false, "push": false, "pull": true }, - "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", - "delete_branch_on_merge": true, - "subscribers_count": 42, - "network_count": 0, - "license": { - "key": "mit", - "name": "MIT License", - "spdx_id": "MIT", - "url": "https://api.github.com/licenses/mit", - "node_id": "MDc6TGljZW5zZW1pdA==" - } - } - ] - }, - "short-blob": { - "value": { - "url": "https://api.github.com/repos/octocat/example/git/blobs/3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15", - "sha": "3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15" - } - }, - "blob": { - "value": { - "content": "Q29udGVudCBvZiB0aGUgYmxvYg==", - "encoding": "base64", - "url": "https://api.github.com/repos/octocat/example/git/blobs/3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15", - "sha": "3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15", - "size": 19, - "node_id": "Q29udGVudCBvZiB0aGUgYmxvYg==" - } - }, - "git-commit": { - "value": { - "sha": "7638417db6d59f3c431d3e1f261cc637155684cd", - "node_id": "MDY6Q29tbWl0NzYzODQxN2RiNmQ1OWYzYzQzMWQzZTFmMjYxY2M2MzcxNTU2ODRjZA==", - "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/7638417db6d59f3c431d3e1f261cc637155684cd", - "author": { - "date": "2014-11-07T22:01:45Z", - "name": "Monalisa Octocat", - "email": "octocat@github.com" - }, - "committer": { - "date": "2014-11-07T22:01:45Z", - "name": "Monalisa Octocat", - "email": "octocat@github.com" - }, - "message": "my commit message", - "tree": { - "url": "https://api.github.com/repos/octocat/Hello-World/git/trees/827efc6d56897b048c772eb4087f854f46256132", - "sha": "827efc6d56897b048c772eb4087f854f46256132" - }, - "parents": [ - { - "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/7d1b31e74ee336d15cbd21741bc88a537ed063a0", - "sha": "7d1b31e74ee336d15cbd21741bc88a537ed063a0", - "html_url": "https://github.com/octocat/Hello-World/commit/7d1b31e74ee336d15cbd21741bc88a537ed063a0" - } - ], - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null - }, - "html_url": "https://github.com/octocat/Hello-World/commit/7638417db6d59f3c431d3e1f261cc637155684cd" - } - }, - "git-commit-2": { - "value": { - "sha": "7638417db6d59f3c431d3e1f261cc637155684cd", - "node_id": "MDY6Q29tbWl0NmRjYjA5YjViNTc4NzVmMzM0ZjYxYWViZWQ2OTVlMmU0MTkzZGI1ZQ==", - "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/7638417db6d59f3c431d3e1f261cc637155684cd", - "html_url": "https://github.com/octocat/Hello-World/commit/7638417db6d59f3c431d3e1f261cc637155684cd", - "author": { - "date": "2014-11-07T22:01:45Z", - "name": "Monalisa Octocat", - "email": "octocat@github.com" - }, - "committer": { - "date": "2014-11-07T22:01:45Z", - "name": "Monalisa Octocat", - "email": "octocat@github.com" - }, - "message": "added readme, because im a good github citizen", - "tree": { - "url": "https://api.github.com/repos/octocat/Hello-World/git/trees/691272480426f78a0138979dd3ce63b77f706feb", - "sha": "691272480426f78a0138979dd3ce63b77f706feb" - }, - "parents": [ - { - "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/1acc419d4d6a9ce985db7be48c6349a0475975b5", - "sha": "1acc419d4d6a9ce985db7be48c6349a0475975b5", - "html_url": "https://github.com/octocat/Hello-World/commit/7638417db6d59f3c431d3e1f261cc637155684cd" - } - ], - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null - } - } - }, - "git-ref-items": { - "value": [ - { - "ref": "refs/heads/feature-a", - "node_id": "MDM6UmVmcmVmcy9oZWFkcy9mZWF0dXJlLWE=", - "url": "https://api.github.com/repos/octocat/Hello-World/git/refs/heads/feature-a", - "object": { - "type": "commit", - "sha": "aa218f56b14c9653891f9e74264a383fa43fefbd", - "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/aa218f56b14c9653891f9e74264a383fa43fefbd" - } - }, - { - "ref": "refs/heads/feature-b", - "node_id": "MDM6UmVmcmVmcy9oZWFkcy9mZWF0dXJlLWI=", - "url": "https://api.github.com/repos/octocat/Hello-World/git/refs/heads/feature-b", - "object": { - "type": "commit", - "sha": "612077ae6dffb4d2fbd8ce0cccaa58893b07b5ac", - "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/612077ae6dffb4d2fbd8ce0cccaa58893b07b5ac" - } - } - ] - }, - "git-ref": { - "value": { - "ref": "refs/heads/featureA", - "node_id": "MDM6UmVmcmVmcy9oZWFkcy9mZWF0dXJlQQ==", - "url": "https://api.github.com/repos/octocat/Hello-World/git/refs/heads/featureA", - "object": { - "type": "commit", - "sha": "aa218f56b14c9653891f9e74264a383fa43fefbd", - "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/aa218f56b14c9653891f9e74264a383fa43fefbd" - } - } - }, - "git-tag": { - "value": { - "node_id": "MDM6VGFnOTQwYmQzMzYyNDhlZmFlMGY5ZWU1YmM3YjJkNWM5ODU4ODdiMTZhYw==", - "tag": "v0.0.1", - "sha": "940bd336248efae0f9ee5bc7b2d5c985887b16ac", - "url": "https://api.github.com/repos/octocat/Hello-World/git/tags/940bd336248efae0f9ee5bc7b2d5c985887b16ac", - "message": "initial version", - "tagger": { - "name": "Monalisa Octocat", - "email": "octocat@github.com", - "date": "2014-11-07T22:01:45Z" - }, - "object": { - "type": "commit", - "sha": "c3d0be41ecbe669545ee3e94d31ed9a4bc91ee3c", - "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/c3d0be41ecbe669545ee3e94d31ed9a4bc91ee3c" - }, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null - } - } - }, - "git-tree": { - "value": { - "sha": "cd8274d15fa3ae2ab983129fb037999f264ba9a7", - "url": "https://api.github.com/repos/octocat/Hello-World/trees/cd8274d15fa3ae2ab983129fb037999f264ba9a7", - "tree": [ - { - "path": "file.rb", - "mode": "100644", - "type": "blob", - "size": 132, - "sha": "7c258a9869f33c1e1e1f74fbb32f07c86cb5a75b", - "url": "https://api.github.com/repos/octocat/Hello-World/git/blobs/7c258a9869f33c1e1e1f74fbb32f07c86cb5a75b" - } - ], - "truncated": true - } - }, - "git-tree-default-response": { - "summary": "Default response", - "value": { - "sha": "9fb037999f264ba9a7fc6274d15fa3ae2ab98312", - "url": "https://api.github.com/repos/octocat/Hello-World/trees/9fb037999f264ba9a7fc6274d15fa3ae2ab98312", - "tree": [ - { - "path": "file.rb", - "mode": "100644", - "type": "blob", - "size": 30, - "sha": "44b4fc6d56897b048c772eb4087f854f46256132", - "url": "https://api.github.com/repos/octocat/Hello-World/git/blobs/44b4fc6d56897b048c772eb4087f854f46256132" - }, - { - "path": "subdir", - "mode": "040000", - "type": "tree", - "sha": "f484d249c660418515fb01c2b9662073663c242e", - "url": "https://api.github.com/repos/octocat/Hello-World/git/blobs/f484d249c660418515fb01c2b9662073663c242e" - }, - { - "path": "exec_file", - "mode": "100755", - "type": "blob", - "size": 75, - "sha": "45b983be36b73c0788dc9cbcb76cbb80fc7bb057", - "url": "https://api.github.com/repos/octocat/Hello-World/git/blobs/45b983be36b73c0788dc9cbcb76cbb80fc7bb057" - } - ], - "truncated": false - } - }, - "git-tree-response-recursively-retrieving-a-tree": { - "summary": "Response recursively retrieving a tree", - "value": { - "sha": "fc6274d15fa3ae2ab983129fb037999f264ba9a7", - "url": "https://api.github.com/repos/octocat/Hello-World/trees/fc6274d15fa3ae2ab983129fb037999f264ba9a7", - "tree": [ - { - "path": "subdir/file.txt", - "mode": "100644", - "type": "blob", - "size": 132, - "sha": "7c258a9869f33c1e1e1f74fbb32f07c86cb5a75b", - "url": "https://api.github.com/repos/octocat/Hello-World/git/7c258a9869f33c1e1e1f74fbb32f07c86cb5a75b" - } - ], - "truncated": false - } - }, - "hook-items": { - "value": [ - { - "type": "Repository", - "id": 12345678, - "name": "web", - "active": true, - "events": ["push", "pull_request"], - "config": { - "content_type": "json", - "insecure_ssl": "0", - "url": "https://example.com/webhook" - }, - "updated_at": "2019-06-03T00:57:16Z", - "created_at": "2019-06-03T00:57:16Z", - "url": "https://api.github.com/repos/octocat/Hello-World/hooks/12345678", - "test_url": "https://api.github.com/repos/octocat/Hello-World/hooks/12345678/test", - "ping_url": "https://api.github.com/repos/octocat/Hello-World/hooks/12345678/pings", - "last_response": { - "code": null, - "status": "unused", - "message": null - } - } - ] - }, - "hook": { - "value": { - "type": "Repository", - "id": 12345678, - "name": "web", - "active": true, - "events": ["push", "pull_request"], - "config": { - "content_type": "json", - "insecure_ssl": "0", - "url": "https://example.com/webhook" - }, - "updated_at": "2019-06-03T00:57:16Z", - "created_at": "2019-06-03T00:57:16Z", - "url": "https://api.github.com/repos/octocat/Hello-World/hooks/12345678", - "test_url": "https://api.github.com/repos/octocat/Hello-World/hooks/12345678/test", - "ping_url": "https://api.github.com/repos/octocat/Hello-World/hooks/12345678/pings", - "last_response": { "code": null, "status": "unused", "message": null } - } - }, - "import": { - "value": { - "vcs": "subversion", - "use_lfs": "opt_in", - "vcs_url": "http://svn.mycompany.com/svn/myproject", - "status": "complete", - "status_text": "Done", - "has_large_files": true, - "large_files_size": 132331036, - "large_files_count": 1, - "authors_count": 4, - "url": "https://api.github.com/repos/octocat/socm/import", - "html_url": "https://import.github.com/octocat/socm/import", - "authors_url": "https://api.github.com/repos/octocat/socm/import/authors", - "repository_url": "https://api.github.com/repos/octocat/socm" - } - }, - "import-2": { - "value": { - "vcs": "subversion", - "use_lfs": "undecided", - "vcs_url": "http://svn.mycompany.com/svn/myproject", - "status": "importing", - "status_text": "Importing...", - "has_large_files": false, - "large_files_size": 0, - "large_files_count": 0, - "authors_count": 0, - "commit_count": 1042, - "url": "https://api.github.com/repos/octocat/socm/import", - "html_url": "https://import.github.com/octocat/socm/import", - "authors_url": "https://api.github.com/repos/octocat/socm/import/authors", - "repository_url": "https://api.github.com/repos/octocat/socm" - } - }, - "import-example-1": { - "summary": "Example 1", - "value": { - "vcs": "subversion", - "use_lfs": "undecided", - "vcs_url": "http://svn.mycompany.com/svn/myproject", - "status": "detecting", - "url": "https://api.github.com/repos/octocat/socm/import", - "html_url": "https://import.github.com/octocat/socm/import", - "authors_url": "https://api.github.com/repos/octocat/socm/import/authors", - "repository_url": "https://api.github.com/repos/octocat/socm" - } - }, - "import-example-2": { - "summary": "Example 2", - "value": { - "vcs": "tfvc", - "use_lfs": "undecided", - "vcs_url": "http://tfs.mycompany.com/tfs/myproject", - "tfvc_project": "project1", - "status": "importing", - "status_text": "Importing...", - "has_large_files": false, - "large_files_size": 0, - "large_files_count": 0, - "authors_count": 0, - "commit_count": 1042, - "url": "https://api.github.com/repos/octocat/socm/import", - "html_url": "https://import.github.com/octocat/socm/import", - "authors_url": "https://api.github.com/repos/octocat/socm/import/authors", - "repository_url": "https://api.github.com/repos/octocat/socm" - } - }, - "import-response": { - "summary": "Response", - "value": { - "vcs": "subversion", - "use_lfs": "undecided", - "vcs_url": "http://svn.mycompany.com/svn/myproject", - "status": "importing", - "status_text": "Importing...", - "has_large_files": false, - "large_files_size": 0, - "large_files_count": 0, - "authors_count": 0, - "commit_count": 1042, - "url": "https://api.github.com/repos/octocat/socm/import", - "html_url": "https://import.github.com/octocat/socm/import", - "authors_url": "https://api.github.com/repos/octocat/socm/import/authors", - "repository_url": "https://api.github.com/repos/octocat/socm" - } - }, - "porter-author-items": { - "value": [ - { - "id": 2268557, - "remote_id": "nobody@fc7da526-431c-80fe-3c8c-c148ff18d7ef", - "remote_name": "nobody", - "email": "hubot@github.com", - "name": "Hubot", - "url": "https://api.github.com/repos/octocat/socm/import/authors/2268557", - "import_url": "https://api.github.com/repos/octocat/socm/import" - }, - { - "id": 2268558, - "remote_id": "svner@fc7da526-431c-80fe-3c8c-c148ff18d7ef", - "remote_name": "svner", - "email": "svner@fc7da526-431c-80fe-3c8c-c148ff18d7ef", - "name": "svner", - "url": "https://api.github.com/repos/octocat/socm/import/authors/2268558", - "import_url": "https://api.github.com/repos/octocat/socm/import" - }, - { - "id": 2268559, - "remote_id": "svner@example.com@fc7da526-431c-80fe-3c8c-c148ff18d7ef", - "remote_name": "svner@example.com", - "email": "svner@example.com@fc7da526-431c-80fe-3c8c-c148ff18d7ef", - "name": "svner@example.com", - "url": "https://api.github.com/repos/octocat/socm/import/authors/2268559", - "import_url": "https://api.github.com/repos/octocat/socm/import" - } - ] - }, - "porter-author": { - "value": { - "id": 2268557, - "remote_id": "nobody@fc7da526-431c-80fe-3c8c-c148ff18d7ef", - "remote_name": "nobody", - "email": "hubot@github.com", - "name": "Hubot", - "url": "https://api.github.com/repos/octocat/socm/import/authors/2268557", - "import_url": "https://api.github.com/repos/octocat/socm/import" - } - }, - "porter-large-file-items": { - "value": [ - { - "ref_name": "refs/heads/master", - "path": "foo/bar/1", - "oid": "d3d9446802a44259755d38e6d163e820", - "size": 10485760 - }, - { - "ref_name": "refs/heads/master", - "path": "foo/bar/2", - "oid": "6512bd43d9caa6e02c990b0a82652dca", - "size": 11534336 - }, - { - "ref_name": "refs/heads/master", - "path": "foo/bar/3", - "oid": "c20ad4d76fe97759aa27a0c99bff6710", - "size": 12582912 - } - ] - }, - "interaction-limit-2": { - "value": { - "limit": "collaborators_only", - "origin": "repository", - "expires_at": "2018-08-17T04:18:39Z" - } - }, - "repository-invitation-items": { - "value": [ - { - "id": 1, - "repository": { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "hooks_url": "http://api.github.com/repos/octocat/Hello-World/hooks" - }, - "invitee": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "inviter": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "permissions": "write", - "created_at": "2016-06-13T14:52:50-05:00", - "url": "https://api.github.com/user/repository_invitations/1296269", - "html_url": "https://github.com/octocat/Hello-World/invitations", - "node_id": "MDQ6VXNlcjE=" - } - ] - }, - "repository-invitation": { - "value": { - "id": 1, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "repository": { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "hooks_url": "http://api.github.com/repos/octocat/Hello-World/hooks" - }, - "invitee": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "inviter": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "permissions": "write", - "created_at": "2016-06-13T14:52:50-05:00", - "expired": false, - "url": "https://api.github.com/user/repository_invitations/1296269", - "html_url": "https://github.com/octocat/Hello-World/invitations" - } - }, - "issue-simple-items": { - "value": [ - { - "id": 1, - "node_id": "MDU6SXNzdWUx", - "url": "https://api.github.com/repos/octocat/Hello-World/issues/1347", - "repository_url": "https://api.github.com/repos/octocat/Hello-World", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/labels{/name}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/comments", - "events_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/events", - "html_url": "https://github.com/octocat/Hello-World/issues/1347", - "number": 1347, - "state": "open", - "title": "Found a bug", - "body": "I'm having a problem with this.", - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "labels": [ - { - "id": 208045946, - "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", - "url": "https://api.github.com/repos/octocat/Hello-World/labels/bug", - "name": "bug", - "description": "Something isn't working", - "color": "f29513", - "default": true - } - ], - "assignee": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "assignees": [ - { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - } - ], - "milestone": { - "url": "https://api.github.com/repos/octocat/Hello-World/milestones/1", - "html_url": "https://github.com/octocat/Hello-World/milestones/v1.0", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/milestones/1/labels", - "id": 1002604, - "node_id": "MDk6TWlsZXN0b25lMTAwMjYwNA==", - "number": 1, - "state": "open", - "title": "v1.0", - "description": "Tracking milestone for version 1.0", - "creator": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "open_issues": 4, - "closed_issues": 8, - "created_at": "2011-04-10T20:09:31Z", - "updated_at": "2014-03-03T18:58:10Z", - "closed_at": "2013-02-12T13:22:01Z", - "due_on": "2012-10-09T23:39:01Z" - }, - "locked": true, - "active_lock_reason": "too heated", - "comments": 0, - "pull_request": { - "url": "https://api.github.com/repos/octocat/Hello-World/pulls/1347", - "html_url": "https://github.com/octocat/Hello-World/pull/1347", - "diff_url": "https://github.com/octocat/Hello-World/pull/1347.diff", - "patch_url": "https://github.com/octocat/Hello-World/pull/1347.patch" - }, - "closed_at": null, - "created_at": "2011-04-22T13:33:48Z", - "updated_at": "2011-04-22T13:33:48Z", - "author_association": "COLLABORATOR" - } - ] - }, - "issue": { - "value": { - "id": 1, - "node_id": "MDU6SXNzdWUx", - "url": "https://api.github.com/repos/octocat/Hello-World/issues/1347", - "repository_url": "https://api.github.com/repos/octocat/Hello-World", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/labels{/name}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/comments", - "events_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/events", - "html_url": "https://github.com/octocat/Hello-World/issues/1347", - "number": 1347, - "state": "open", - "title": "Found a bug", - "body": "I'm having a problem with this.", - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "labels": [ - { - "id": 208045946, - "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", - "url": "https://api.github.com/repos/octocat/Hello-World/labels/bug", - "name": "bug", - "description": "Something isn't working", - "color": "f29513", - "default": true - } - ], - "assignee": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "assignees": [ - { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - } - ], - "milestone": { - "url": "https://api.github.com/repos/octocat/Hello-World/milestones/1", - "html_url": "https://github.com/octocat/Hello-World/milestones/v1.0", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/milestones/1/labels", - "id": 1002604, - "node_id": "MDk6TWlsZXN0b25lMTAwMjYwNA==", - "number": 1, - "state": "open", - "title": "v1.0", - "description": "Tracking milestone for version 1.0", - "creator": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "open_issues": 4, - "closed_issues": 8, - "created_at": "2011-04-10T20:09:31Z", - "updated_at": "2014-03-03T18:58:10Z", - "closed_at": "2013-02-12T13:22:01Z", - "due_on": "2012-10-09T23:39:01Z" - }, - "locked": true, - "active_lock_reason": "too heated", - "comments": 0, - "pull_request": { - "url": "https://api.github.com/repos/octocat/Hello-World/pulls/1347", - "html_url": "https://github.com/octocat/Hello-World/pull/1347", - "diff_url": "https://github.com/octocat/Hello-World/pull/1347.diff", - "patch_url": "https://github.com/octocat/Hello-World/pull/1347.patch" - }, - "closed_at": null, - "created_at": "2011-04-22T13:33:48Z", - "updated_at": "2011-04-22T13:33:48Z", - "closed_by": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "author_association": "COLLABORATOR" - } - }, - "issue-comment-items": { - "value": [ - { - "id": 1, - "node_id": "MDEyOklzc3VlQ29tbWVudDE=", - "url": "https://api.github.com/repos/octocat/Hello-World/issues/comments/1", - "html_url": "https://github.com/octocat/Hello-World/issues/1347#issuecomment-1", - "body": "Me too", - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "created_at": "2011-04-14T16:00:49Z", - "updated_at": "2011-04-14T16:00:49Z", - "issue_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347", - "author_association": "COLLABORATOR" - } - ] - }, - "issue-comment": { - "value": { - "id": 1, - "node_id": "MDEyOklzc3VlQ29tbWVudDE=", - "url": "https://api.github.com/repos/octocat/Hello-World/issues/comments/1", - "html_url": "https://github.com/octocat/Hello-World/issues/1347#issuecomment-1", - "body": "Me too", - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "created_at": "2011-04-14T16:00:49Z", - "updated_at": "2011-04-14T16:00:49Z", - "issue_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347", - "author_association": "COLLABORATOR" - } - }, - "issue-event-items": { - "value": [ - { - "id": 1, - "node_id": "MDEwOklzc3VlRXZlbnQx", - "url": "https://api.github.com/repos/octocat/Hello-World/issues/events/1", - "actor": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "event": "closed", - "commit_id": "6dcb09b5b57875f334f61aebed695e2e4193db5e", - "commit_url": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e", - "created_at": "2011-04-14T16:00:49Z", - "issue": { - "id": 1, - "node_id": "MDU6SXNzdWUx", - "url": "https://api.github.com/repos/octocat/Hello-World/issues/1347", - "repository_url": "https://api.github.com/repos/octocat/Hello-World", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/labels{/name}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/comments", - "events_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/events", - "html_url": "https://github.com/octocat/Hello-World/issues/1347", - "number": 1347, - "state": "open", - "title": "Found a bug", - "body": "I'm having a problem with this.", - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "labels": [ - { - "id": 208045946, - "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", - "url": "https://api.github.com/repos/octocat/Hello-World/labels/bug", - "name": "bug", - "description": "Something isn't working", - "color": "f29513", - "default": true - } - ], - "assignee": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "assignees": [ - { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - } - ], - "milestone": { - "url": "https://api.github.com/repos/octocat/Hello-World/milestones/1", - "html_url": "https://github.com/octocat/Hello-World/milestones/v1.0", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/milestones/1/labels", - "id": 1002604, - "node_id": "MDk6TWlsZXN0b25lMTAwMjYwNA==", - "number": 1, - "state": "open", - "title": "v1.0", - "description": "Tracking milestone for version 1.0", - "creator": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "open_issues": 4, - "closed_issues": 8, - "created_at": "2011-04-10T20:09:31Z", - "updated_at": "2014-03-03T18:58:10Z", - "closed_at": "2013-02-12T13:22:01Z", - "due_on": "2012-10-09T23:39:01Z" - }, - "locked": true, - "active_lock_reason": "too heated", - "comments": 0, - "pull_request": { - "url": "https://api.github.com/repos/octocat/Hello-World/pulls/1347", - "html_url": "https://github.com/octocat/Hello-World/pull/1347", - "diff_url": "https://github.com/octocat/Hello-World/pull/1347.diff", - "patch_url": "https://github.com/octocat/Hello-World/pull/1347.patch" - }, - "closed_at": null, - "created_at": "2011-04-22T13:33:48Z", - "updated_at": "2011-04-22T13:33:48Z", - "author_association": "COLLABORATOR" - } - } - ] - }, - "issue-event": { - "value": { - "id": 1, - "node_id": "MDEwOklzc3VlRXZlbnQx", - "url": "https://api.github.com/repos/octocat/Hello-World/issues/events/1", - "actor": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "event": "closed", - "commit_id": "6dcb09b5b57875f334f61aebed695e2e4193db5e", - "commit_url": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e", - "created_at": "2011-04-14T16:00:49Z", - "issue": { - "id": 1, - "node_id": "MDU6SXNzdWUx", - "url": "https://api.github.com/repos/octocat/Hello-World/issues/1347", - "repository_url": "https://api.github.com/repos/octocat/Hello-World", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/labels{/name}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/comments", - "events_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/events", - "html_url": "https://github.com/octocat/Hello-World/issues/1347", - "number": 1347, - "state": "open", - "title": "Found a bug", - "body": "I'm having a problem with this.", - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "labels": [ - { - "id": 208045946, - "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", - "url": "https://api.github.com/repos/octocat/Hello-World/labels/bug", - "name": "bug", - "description": "Something isn't working", - "color": "f29513", - "default": true - } - ], - "assignee": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "assignees": [ - { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - } - ], - "milestone": { - "url": "https://api.github.com/repos/octocat/Hello-World/milestones/1", - "html_url": "https://github.com/octocat/Hello-World/milestones/v1.0", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/milestones/1/labels", - "id": 1002604, - "node_id": "MDk6TWlsZXN0b25lMTAwMjYwNA==", - "number": 1, - "state": "open", - "title": "v1.0", - "description": "Tracking milestone for version 1.0", - "creator": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "open_issues": 4, - "closed_issues": 8, - "created_at": "2011-04-10T20:09:31Z", - "updated_at": "2014-03-03T18:58:10Z", - "closed_at": "2013-02-12T13:22:01Z", - "due_on": "2012-10-09T23:39:01Z" - }, - "locked": true, - "active_lock_reason": "too heated", - "comments": 0, - "pull_request": { - "url": "https://api.github.com/repos/octocat/Hello-World/pulls/1347", - "html_url": "https://github.com/octocat/Hello-World/pull/1347", - "diff_url": "https://github.com/octocat/Hello-World/pull/1347.diff", - "patch_url": "https://github.com/octocat/Hello-World/pull/1347.patch" - }, - "closed_at": null, - "created_at": "2011-04-22T13:33:48Z", - "updated_at": "2011-04-22T13:33:48Z", - "author_association": "COLLABORATOR" - } - } - }, - "issue-simple": { - "value": { - "id": 1, - "node_id": "MDU6SXNzdWUx", - "url": "https://api.github.com/repos/octocat/Hello-World/issues/1347", - "repository_url": "https://api.github.com/repos/octocat/Hello-World", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/labels{/name}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/comments", - "events_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/events", - "html_url": "https://github.com/octocat/Hello-World/issues/1347", - "number": 1347, - "state": "open", - "title": "Found a bug", - "body": "I'm having a problem with this.", - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "labels": [ - { - "id": 208045946, - "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", - "url": "https://api.github.com/repos/octocat/Hello-World/labels/bug", - "name": "bug", - "description": "Something isn't working", - "color": "f29513", - "default": true - } - ], - "assignee": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "assignees": [ - { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - { - "login": "hubot", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/hubot_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/hubot", - "html_url": "https://github.com/hubot", - "followers_url": "https://api.github.com/users/hubot/followers", - "following_url": "https://api.github.com/users/hubot/following{/other_user}", - "gists_url": "https://api.github.com/users/hubot/gists{/gist_id}", - "starred_url": "https://api.github.com/users/hubot/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/hubot/subscriptions", - "organizations_url": "https://api.github.com/users/hubot/orgs", - "repos_url": "https://api.github.com/users/hubot/repos", - "events_url": "https://api.github.com/users/hubot/events{/privacy}", - "received_events_url": "https://api.github.com/users/hubot/received_events", - "type": "User", - "site_admin": true - }, - { - "login": "other_user", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/other_user_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/other_user", - "html_url": "https://github.com/other_user", - "followers_url": "https://api.github.com/users/other_user/followers", - "following_url": "https://api.github.com/users/other_user/following{/other_user}", - "gists_url": "https://api.github.com/users/other_user/gists{/gist_id}", - "starred_url": "https://api.github.com/users/other_user/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/other_user/subscriptions", - "organizations_url": "https://api.github.com/users/other_user/orgs", - "repos_url": "https://api.github.com/users/other_user/repos", - "events_url": "https://api.github.com/users/other_user/events{/privacy}", - "received_events_url": "https://api.github.com/users/other_user/received_events", - "type": "User", - "site_admin": false - } - ], - "milestone": { - "url": "https://api.github.com/repos/octocat/Hello-World/milestones/1", - "html_url": "https://github.com/octocat/Hello-World/milestones/v1.0", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/milestones/1/labels", - "id": 1002604, - "node_id": "MDk6TWlsZXN0b25lMTAwMjYwNA==", - "number": 1, - "state": "open", - "title": "v1.0", - "description": "Tracking milestone for version 1.0", - "creator": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "open_issues": 4, - "closed_issues": 8, - "created_at": "2011-04-10T20:09:31Z", - "updated_at": "2014-03-03T18:58:10Z", - "closed_at": "2013-02-12T13:22:01Z", - "due_on": "2012-10-09T23:39:01Z" - }, - "locked": true, - "active_lock_reason": "too heated", - "comments": 0, - "pull_request": { - "url": "https://api.github.com/repos/octocat/Hello-World/pulls/1347", - "html_url": "https://github.com/octocat/Hello-World/pull/1347", - "diff_url": "https://github.com/octocat/Hello-World/pull/1347.diff", - "patch_url": "https://github.com/octocat/Hello-World/pull/1347.patch" - }, - "closed_at": null, - "created_at": "2011-04-22T13:33:48Z", - "updated_at": "2011-04-22T13:33:48Z", - "author_association": "COLLABORATOR" - } - }, - "issue-event-for-issue-items": { - "value": [ - { - "id": 1, - "node_id": "MDEwOklzc3VlRXZlbnQx", - "url": "https://api.github.com/repos/octocat/Hello-World/issues/events/1", - "actor": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "event": "closed", - "commit_id": "6dcb09b5b57875f334f61aebed695e2e4193db5e", - "commit_url": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e", - "created_at": "2011-04-14T16:00:49Z" - } - ] - }, - "label-items": { - "value": [ - { - "id": 208045946, - "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", - "url": "https://api.github.com/repos/octocat/Hello-World/labels/bug", - "name": "bug", - "description": "Something isn't working", - "color": "f29513", - "default": true - }, - { - "id": 208045947, - "node_id": "MDU6TGFiZWwyMDgwNDU5NDc=", - "url": "https://api.github.com/repos/octocat/Hello-World/labels/enhancement", - "name": "enhancement", - "description": "New feature or request", - "color": "a2eeef", - "default": false - } - ] - }, - "label-items-2": { - "value": [ - { - "id": 208045946, - "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", - "url": "https://api.github.com/repos/octocat/Hello-World/labels/bug", - "name": "bug", - "description": "Something isn't working", - "color": "f29513", - "default": true - } - ] - }, - "deploy-key-items": { - "value": [ - { - "id": 1, - "key": "ssh-rsa AAA...", - "url": "https://api.github.com/repos/octocat/Hello-World/keys/1", - "title": "octocat@octomac", - "verified": true, - "created_at": "2014-12-10T15:53:42Z", - "read_only": true - } - ] - }, - "deploy-key": { - "value": { - "id": 1, - "key": "ssh-rsa AAA...", - "url": "https://api.github.com/repos/octocat/Hello-World/keys/1", - "title": "octocat@octomac", - "verified": true, - "created_at": "2014-12-10T15:53:42Z", - "read_only": true - } - }, - "label": { - "value": { - "id": 208045946, - "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", - "url": "https://api.github.com/repos/octocat/Hello-World/labels/bug", - "name": "bug", - "description": "Something isn't working", - "color": "f29513", - "default": true - } - }, - "label-2": { - "value": { - "id": 208045946, - "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", - "url": "https://api.github.com/repos/octocat/Hello-World/labels/bug%20:bug:", - "name": "bug :bug:", - "description": "Small bug fix required", - "color": "b01f26", - "default": true - } - }, - "language": { "value": { "C": 78769, "Python": 7769 } }, - "license-content": { - "value": { - "name": "LICENSE", - "path": "LICENSE", - "sha": "401c59dcc4570b954dd6d345e76199e1f4e76266", - "size": 1077, - "url": "https://api.github.com/repos/benbalter/gman/contents/LICENSE?ref=master", - "html_url": "https://github.com/benbalter/gman/blob/master/LICENSE", - "git_url": "https://api.github.com/repos/benbalter/gman/git/blobs/401c59dcc4570b954dd6d345e76199e1f4e76266", - "download_url": "https://raw.githubusercontent.com/benbalter/gman/master/LICENSE?lab=true", - "type": "file", - "content": "VGhlIE1JVCBMaWNlbnNlIChNSVQpCgpDb3B5cmlnaHQgKGMpIDIwMTMgQmVu\nIEJhbHRlcgoKUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBv\nZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZgp0\naGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmls\nZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbCBpbgp0aGUgU29mdHdhcmUg\nd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRh\ndGlvbiB0aGUgcmlnaHRzIHRvCnVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwg\ncHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwg\nY29waWVzIG9mCnRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25z\nIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywK\nc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CgpUaGUgYWJv\ndmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGlj\nZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwKY29waWVzIG9yIHN1YnN0YW50\naWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KClRIRSBTT0ZUV0FSRSBJ\nUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBL\nSU5ELCBFWFBSRVNTIE9SCklNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJ\nTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCBG\nSVRORVNTCkZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklO\nR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUgpDT1BZ\nUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdF\nUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIKSU4gQU4gQUNUSU9OIE9G\nIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBP\nVVQgT0YgT1IgSU4KQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBU\nSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4K\n", - "encoding": "base64", - "_links": { - "self": "https://api.github.com/repos/benbalter/gman/contents/LICENSE?ref=master", - "git": "https://api.github.com/repos/benbalter/gman/git/blobs/401c59dcc4570b954dd6d345e76199e1f4e76266", - "html": "https://github.com/benbalter/gman/blob/master/LICENSE" - }, - "license": { - "key": "mit", - "name": "MIT License", - "spdx_id": "MIT", - "url": "https://api.github.com/licenses/mit", - "node_id": "MDc6TGljZW5zZW1pdA==" - } - } - }, - "milestone-items": { - "value": [ - { - "url": "https://api.github.com/repos/octocat/Hello-World/milestones/1", - "html_url": "https://github.com/octocat/Hello-World/milestones/v1.0", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/milestones/1/labels", - "id": 1002604, - "node_id": "MDk6TWlsZXN0b25lMTAwMjYwNA==", - "number": 1, - "state": "open", - "title": "v1.0", - "description": "Tracking milestone for version 1.0", - "creator": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "open_issues": 4, - "closed_issues": 8, - "created_at": "2011-04-10T20:09:31Z", - "updated_at": "2014-03-03T18:58:10Z", - "closed_at": "2013-02-12T13:22:01Z", - "due_on": "2012-10-09T23:39:01Z" - } - ] - }, - "milestone": { - "value": { - "url": "https://api.github.com/repos/octocat/Hello-World/milestones/1", - "html_url": "https://github.com/octocat/Hello-World/milestones/v1.0", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/milestones/1/labels", - "id": 1002604, - "node_id": "MDk6TWlsZXN0b25lMTAwMjYwNA==", - "number": 1, - "state": "open", - "title": "v1.0", - "description": "Tracking milestone for version 1.0", - "creator": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "open_issues": 4, - "closed_issues": 8, - "created_at": "2011-04-10T20:09:31Z", - "updated_at": "2014-03-03T18:58:10Z", - "closed_at": "2013-02-12T13:22:01Z", - "due_on": "2012-10-09T23:39:01Z" - } - }, - "page": { - "value": { - "url": "https://api.github.com/repos/github/developer.github.com/pages", - "status": "built", - "cname": "developer.github.com", - "custom_404": false, - "html_url": "https://developer.github.com", - "source": { "branch": "master", "path": "/" }, - "public": true - } - }, - "page-build-items": { - "value": [ - { - "url": "https://api.github.com/repos/github/developer.github.com/pages/builds/5472601", - "status": "built", - "error": { "message": null }, - "pusher": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "commit": "351391cdcb88ffae71ec3028c91f375a8036a26b", - "duration": 2104, - "created_at": "2014-02-10T19:00:49Z", - "updated_at": "2014-02-10T19:00:51Z" - } - ] - }, - "page-build-status": { - "value": { - "url": "https://api.github.com/repos/github/developer.github.com/pages/builds/latest", - "status": "queued" - } - }, - "page-build": { - "value": { - "url": "https://api.github.com/repos/github/developer.github.com/pages/builds/5472601", - "status": "built", - "error": { "message": null }, - "pusher": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "commit": "351391cdcb88ffae71ec3028c91f375a8036a26b", - "duration": 2104, - "created_at": "2014-02-10T19:00:49Z", - "updated_at": "2014-02-10T19:00:51Z" - } - }, - "project-items-2": { - "value": [ - { - "owner_url": "https://api.github.com/repos/api-playground/projects-test", - "url": "https://api.github.com/projects/1002604", - "html_url": "https://github.com/api-playground/projects-test/projects/1", - "columns_url": "https://api.github.com/projects/1002604/columns", - "id": 1002604, - "node_id": "MDc6UHJvamVjdDEwMDI2MDQ=", - "name": "Projects Documentation", - "body": "Developer documentation project for the developer site.", - "number": 1, - "state": "open", - "creator": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "created_at": "2011-04-10T20:09:31Z", - "updated_at": "2014-03-03T18:58:10Z" - } - ] - }, - "pull-request": { - "value": { - "url": "https://api.github.com/repos/octocat/Hello-World/pulls/1347", - "id": 1, - "node_id": "MDExOlB1bGxSZXF1ZXN0MQ==", - "html_url": "https://github.com/octocat/Hello-World/pull/1347", - "diff_url": "https://github.com/octocat/Hello-World/pull/1347.diff", - "patch_url": "https://github.com/octocat/Hello-World/pull/1347.patch", - "issue_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits", - "review_comments_url": "https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments", - "review_comment_url": "https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/comments", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e", - "number": 1347, - "state": "open", - "locked": true, - "title": "Amazing new feature", - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "body": "Please pull these awesome changes in!", - "labels": [ - { - "id": 208045946, - "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", - "url": "https://api.github.com/repos/octocat/Hello-World/labels/bug", - "name": "bug", - "description": "Something isn't working", - "color": "f29513", - "default": true - } - ], - "milestone": { - "url": "https://api.github.com/repos/octocat/Hello-World/milestones/1", - "html_url": "https://github.com/octocat/Hello-World/milestones/v1.0", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/milestones/1/labels", - "id": 1002604, - "node_id": "MDk6TWlsZXN0b25lMTAwMjYwNA==", - "number": 1, - "state": "open", - "title": "v1.0", - "description": "Tracking milestone for version 1.0", - "creator": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "open_issues": 4, - "closed_issues": 8, - "created_at": "2011-04-10T20:09:31Z", - "updated_at": "2014-03-03T18:58:10Z", - "closed_at": "2013-02-12T13:22:01Z", - "due_on": "2012-10-09T23:39:01Z" - }, - "active_lock_reason": "too heated", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:01:12Z", - "closed_at": "2011-01-26T19:01:12Z", - "merged_at": "2011-01-26T19:01:12Z", - "merge_commit_sha": "e5bd3914e2e596debea16f433f57875b5b90bcd6", - "assignee": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "assignees": [ - { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - { - "login": "hubot", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/hubot_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/hubot", - "html_url": "https://github.com/hubot", - "followers_url": "https://api.github.com/users/hubot/followers", - "following_url": "https://api.github.com/users/hubot/following{/other_user}", - "gists_url": "https://api.github.com/users/hubot/gists{/gist_id}", - "starred_url": "https://api.github.com/users/hubot/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/hubot/subscriptions", - "organizations_url": "https://api.github.com/users/hubot/orgs", - "repos_url": "https://api.github.com/users/hubot/repos", - "events_url": "https://api.github.com/users/hubot/events{/privacy}", - "received_events_url": "https://api.github.com/users/hubot/received_events", - "type": "User", - "site_admin": true - } - ], - "requested_reviewers": [ - { - "login": "other_user", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/other_user_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/other_user", - "html_url": "https://github.com/other_user", - "followers_url": "https://api.github.com/users/other_user/followers", - "following_url": "https://api.github.com/users/other_user/following{/other_user}", - "gists_url": "https://api.github.com/users/other_user/gists{/gist_id}", - "starred_url": "https://api.github.com/users/other_user/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/other_user/subscriptions", - "organizations_url": "https://api.github.com/users/other_user/orgs", - "repos_url": "https://api.github.com/users/other_user/repos", - "events_url": "https://api.github.com/users/other_user/events{/privacy}", - "received_events_url": "https://api.github.com/users/other_user/received_events", - "type": "User", - "site_admin": false - } - ], - "requested_teams": [ - { - "id": 1, - "node_id": "MDQ6VGVhbTE=", - "url": "https://api.github.com/teams/1", - "html_url": "https://github.com/orgs/github/teams/justice-league", - "name": "Justice League", - "slug": "justice-league", - "description": "A great team.", - "privacy": "closed", - "permission": "admin", - "members_url": "https://api.github.com/teams/1/members{/member}", - "repositories_url": "https://api.github.com/teams/1/repos" - } - ], - "head": { - "label": "octocat:new-topic", - "ref": "new-topic", - "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e", - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "repo": { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "clone_url": "https://github.com/octocat/Hello-World.git", - "mirror_url": "git:git.example.com/octocat/Hello-World", - "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", - "svn_url": "https://svn.github.com/octocat/Hello-World", - "homepage": "https://github.com", - "language": null, - "forks_count": 9, - "stargazers_count": 80, - "watchers_count": 80, - "size": 108, - "default_branch": "master", - "open_issues_count": 0, - "topics": ["octocat", "atom", "electron", "api"], - "has_issues": true, - "has_projects": true, - "has_wiki": true, - "has_pages": false, - "has_downloads": true, - "archived": false, - "disabled": false, - "pushed_at": "2011-01-26T19:06:43Z", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "permissions": { "admin": false, "push": false, "pull": true }, - "allow_rebase_merge": true, - "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", - "allow_squash_merge": true, - "allow_merge_commit": true, - "forks": 123, - "open_issues": 123, - "license": { - "key": "mit", - "name": "MIT License", - "url": "https://api.github.com/licenses/mit", - "spdx_id": "MIT", - "node_id": "MDc6TGljZW5zZW1pdA==" - }, - "watchers": 123 - } - }, - "base": { - "label": "octocat:master", - "ref": "master", - "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e", - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "repo": { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "clone_url": "https://github.com/octocat/Hello-World.git", - "mirror_url": "git:git.example.com/octocat/Hello-World", - "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", - "svn_url": "https://svn.github.com/octocat/Hello-World", - "homepage": "https://github.com", - "language": null, - "forks_count": 9, - "stargazers_count": 80, - "watchers_count": 80, - "size": 108, - "default_branch": "master", - "open_issues_count": 0, - "topics": ["octocat", "atom", "electron", "api"], - "has_issues": true, - "has_projects": true, - "has_wiki": true, - "has_pages": false, - "has_downloads": true, - "archived": false, - "disabled": false, - "pushed_at": "2011-01-26T19:06:43Z", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "permissions": { "admin": false, "push": false, "pull": true }, - "allow_rebase_merge": true, - "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", - "allow_squash_merge": true, - "allow_merge_commit": true, - "forks": 123, - "open_issues": 123, - "license": { - "key": "mit", - "name": "MIT License", - "url": "https://api.github.com/licenses/mit", - "spdx_id": "MIT", - "node_id": "MDc6TGljZW5zZW1pdA==" - }, - "watchers": 123 - } - }, - "_links": { - "self": { - "href": "https://api.github.com/repos/octocat/Hello-World/pulls/1347" - }, - "html": { - "href": "https://github.com/octocat/Hello-World/pull/1347" - }, - "issue": { - "href": "https://api.github.com/repos/octocat/Hello-World/issues/1347" - }, - "comments": { - "href": "https://api.github.com/repos/octocat/Hello-World/issues/1347/comments" - }, - "review_comments": { - "href": "https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments" - }, - "review_comment": { - "href": "https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number}" - }, - "commits": { - "href": "https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits" - }, - "statuses": { - "href": "https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e" - } - }, - "author_association": "OWNER", - "auto_merge": null, - "draft": false, - "merged": false, - "mergeable": true, - "rebaseable": true, - "mergeable_state": "clean", - "merged_by": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "comments": 10, - "review_comments": 0, - "maintainer_can_modify": true, - "commits": 3, - "additions": 100, - "deletions": 3, - "changed_files": 5 - } - }, - "pull-request-review-comment-items": { - "value": [ - { - "url": "https://api.github.com/repos/octocat/Hello-World/pulls/comments/1", - "pull_request_review_id": 42, - "id": 10, - "node_id": "MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDEw", - "diff_hunk": "@@ -16,33 +16,40 @@ public class Connection : IConnection...", - "path": "file1.txt", - "position": 1, - "original_position": 4, - "commit_id": "6dcb09b5b57875f334f61aebed695e2e4193db5e", - "original_commit_id": "9c48853fa3dc5c1c3d6f1f1cd1f2743e72652840", - "in_reply_to_id": 8, - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "body": "Great stuff!", - "created_at": "2011-04-14T16:00:49Z", - "updated_at": "2011-04-14T16:00:49Z", - "html_url": "https://github.com/octocat/Hello-World/pull/1#discussion-diff-1", - "pull_request_url": "https://api.github.com/repos/octocat/Hello-World/pulls/1", - "author_association": "NONE", - "_links": { - "self": { - "href": "https://api.github.com/repos/octocat/Hello-World/pulls/comments/1" - }, - "html": { - "href": "https://github.com/octocat/Hello-World/pull/1#discussion-diff-1" - }, - "pull_request": { - "href": "https://api.github.com/repos/octocat/Hello-World/pulls/1" - } - }, - "start_line": 1, - "original_start_line": 1, - "start_side": "RIGHT", - "line": 2, - "original_line": 2, - "side": "RIGHT" - } - ] - }, - "pull-request-review-comment-2": { - "value": { - "url": "https://api.github.com/repos/octocat/Hello-World/pulls/comments/1", - "pull_request_review_id": 42, - "id": 10, - "node_id": "MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDEw", - "diff_hunk": "@@ -16,33 +16,40 @@ public class Connection : IConnection...", - "path": "file1.txt", - "position": 1, - "original_position": 4, - "commit_id": "6dcb09b5b57875f334f61aebed695e2e4193db5e", - "original_commit_id": "9c48853fa3dc5c1c3d6f1f1cd1f2743e72652840", - "in_reply_to_id": 8, - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "body": "Great stuff!", - "created_at": "2011-04-14T16:00:49Z", - "updated_at": "2011-04-14T16:00:49Z", - "html_url": "https://github.com/octocat/Hello-World/pull/1#discussion-diff-1", - "pull_request_url": "https://api.github.com/repos/octocat/Hello-World/pulls/1", - "author_association": "NONE", - "_links": { - "self": { - "href": "https://api.github.com/repos/octocat/Hello-World/pulls/comments/1" - }, - "html": { - "href": "https://github.com/octocat/Hello-World/pull/1#discussion-diff-1" - }, - "pull_request": { - "href": "https://api.github.com/repos/octocat/Hello-World/pulls/1" - } - }, - "start_line": 1, - "original_start_line": 1, - "start_side": "RIGHT", - "line": 2, - "original_line": 2, - "side": "RIGHT" - } - }, - "pull-request-review-comment-example-for-a-multi-line-comment": { - "value": { - "url": "https://api.github.com/repos/octocat/Hello-World/pulls/comments/1", - "pull_request_review_id": 42, - "id": 10, - "node_id": "MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDEw", - "diff_hunk": "@@ -16,33 +16,40 @@ public class Connection : IConnection...", - "path": "file1.txt", - "position": 1, - "original_position": 4, - "commit_id": "6dcb09b5b57875f334f61aebed695e2e4193db5e", - "original_commit_id": "9c48853fa3dc5c1c3d6f1f1cd1f2743e72652840", - "in_reply_to_id": 8, - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "body": "Great stuff!", - "created_at": "2011-04-14T16:00:49Z", - "updated_at": "2011-04-14T16:00:49Z", - "html_url": "https://github.com/octocat/Hello-World/pull/1#discussion-diff-1", - "pull_request_url": "https://api.github.com/repos/octocat/Hello-World/pulls/1", - "author_association": "NONE", - "_links": { - "self": { - "href": "https://api.github.com/repos/octocat/Hello-World/pulls/comments/1" - }, - "html": { - "href": "https://github.com/octocat/Hello-World/pull/1#discussion-diff-1" - }, - "pull_request": { - "href": "https://api.github.com/repos/octocat/Hello-World/pulls/1" - } - }, - "start_line": 1, - "original_start_line": 1, - "start_side": "RIGHT", - "line": 2, - "original_line": 2, - "side": "RIGHT" - } - }, - "pull-request-review-comment": { - "value": { - "url": "https://api.github.com/repos/octocat/Hello-World/pulls/comments/1", - "pull_request_review_id": 42, - "id": 10, - "node_id": "MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDEw", - "diff_hunk": "@@ -16,33 +16,40 @@ public class Connection : IConnection...", - "path": "file1.txt", - "position": 1, - "original_position": 4, - "commit_id": "6dcb09b5b57875f334f61aebed695e2e4193db5e", - "original_commit_id": "9c48853fa3dc5c1c3d6f1f1cd1f2743e72652840", - "in_reply_to_id": 426899381, - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "body": "Great stuff!", - "created_at": "2011-04-14T16:00:49Z", - "updated_at": "2011-04-14T16:00:49Z", - "html_url": "https://github.com/octocat/Hello-World/pull/1#discussion-diff-1", - "pull_request_url": "https://api.github.com/repos/octocat/Hello-World/pulls/1", - "author_association": "NONE", - "_links": { - "self": { - "href": "https://api.github.com/repos/octocat/Hello-World/pulls/comments/1" - }, - "html": { - "href": "https://github.com/octocat/Hello-World/pull/1#discussion-diff-1" - }, - "pull_request": { - "href": "https://api.github.com/repos/octocat/Hello-World/pulls/1" - } - }, - "start_line": 1, - "original_start_line": 1, - "start_side": "RIGHT", - "line": 2, - "original_line": 2, - "side": "RIGHT" - } - }, - "diff-entry-items": { - "value": [ - { - "sha": "bbcd538c8e72b8c175046e27cc8f907076331401", - "filename": "file1.txt", - "status": "added", - "additions": 103, - "deletions": 21, - "changes": 124, - "blob_url": "https://github.com/octocat/Hello-World/blob/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt", - "raw_url": "https://github.com/octocat/Hello-World/raw/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/file1.txt?ref=6dcb09b5b57875f334f61aebed695e2e4193db5e", - "patch": "@@ -132,7 +132,7 @@ module Test @@ -1000,7 +1000,7 @@ module Test" - } - ] - }, - "pull-request-merge-result-response-if-merge-was-successful": { - "value": { - "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e", - "merged": true, - "message": "Pull Request successfully merged" - } - }, - "simple-pull-request-review-request": { - "value": { - "users": [ - { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - } - ], - "teams": [ - { - "id": 1, - "node_id": "MDQ6VGVhbTE=", - "url": "https://api.github.com/teams/1", - "html_url": "https://github.com/orgs/github/teams/justice-league", - "name": "Justice League", - "slug": "justice-league", - "description": "A great team.", - "privacy": "closed", - "permission": "admin", - "members_url": "https://api.github.com/teams/1/members{/member}", - "repositories_url": "https://api.github.com/teams/1/repos" - } - ] - } - }, - "pull-request-review-request": { - "value": { - "url": "https://api.github.com/repos/octocat/Hello-World/pulls/1347", - "id": 1, - "node_id": "MDExOlB1bGxSZXF1ZXN0MQ==", - "html_url": "https://github.com/octocat/Hello-World/pull/1347", - "diff_url": "https://github.com/octocat/Hello-World/pull/1347.diff", - "patch_url": "https://github.com/octocat/Hello-World/pull/1347.patch", - "issue_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits", - "review_comments_url": "https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments", - "review_comment_url": "https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/comments", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e", - "number": 1347, - "state": "open", - "locked": true, - "title": "Amazing new feature", - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "body": "Please pull these awesome changes in!", - "labels": [ - { - "id": 208045946, - "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", - "url": "https://api.github.com/repos/octocat/Hello-World/labels/bug", - "name": "bug", - "description": "Something isn't working", - "color": "f29513", - "default": true - } - ], - "milestone": { - "url": "https://api.github.com/repos/octocat/Hello-World/milestones/1", - "html_url": "https://github.com/octocat/Hello-World/milestones/v1.0", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/milestones/1/labels", - "id": 1002604, - "node_id": "MDk6TWlsZXN0b25lMTAwMjYwNA==", - "number": 1, - "state": "open", - "title": "v1.0", - "description": "Tracking milestone for version 1.0", - "creator": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "open_issues": 4, - "closed_issues": 8, - "created_at": "2011-04-10T20:09:31Z", - "updated_at": "2014-03-03T18:58:10Z", - "closed_at": "2013-02-12T13:22:01Z", - "due_on": "2012-10-09T23:39:01Z" - }, - "active_lock_reason": "too heated", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:01:12Z", - "closed_at": "2011-01-26T19:01:12Z", - "merged_at": "2011-01-26T19:01:12Z", - "merge_commit_sha": "e5bd3914e2e596debea16f433f57875b5b90bcd6", - "assignee": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "assignees": [ - { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - { - "login": "hubot", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/hubot_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/hubot", - "html_url": "https://github.com/hubot", - "followers_url": "https://api.github.com/users/hubot/followers", - "following_url": "https://api.github.com/users/hubot/following{/other_user}", - "gists_url": "https://api.github.com/users/hubot/gists{/gist_id}", - "starred_url": "https://api.github.com/users/hubot/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/hubot/subscriptions", - "organizations_url": "https://api.github.com/users/hubot/orgs", - "repos_url": "https://api.github.com/users/hubot/repos", - "events_url": "https://api.github.com/users/hubot/events{/privacy}", - "received_events_url": "https://api.github.com/users/hubot/received_events", - "type": "User", - "site_admin": true - } - ], - "requested_reviewers": [ - { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - { - "login": "hubot", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/hubot_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/hubot", - "html_url": "https://github.com/hubot", - "followers_url": "https://api.github.com/users/hubot/followers", - "following_url": "https://api.github.com/users/hubot/following{/other_user}", - "gists_url": "https://api.github.com/users/hubot/gists{/gist_id}", - "starred_url": "https://api.github.com/users/hubot/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/hubot/subscriptions", - "organizations_url": "https://api.github.com/users/hubot/orgs", - "repos_url": "https://api.github.com/users/hubot/repos", - "events_url": "https://api.github.com/users/hubot/events{/privacy}", - "received_events_url": "https://api.github.com/users/hubot/received_events", - "type": "User", - "site_admin": true - }, - { - "login": "other_user", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/other_user_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/other_user", - "html_url": "https://github.com/other_user", - "followers_url": "https://api.github.com/users/other_user/followers", - "following_url": "https://api.github.com/users/other_user/following{/other_user}", - "gists_url": "https://api.github.com/users/other_user/gists{/gist_id}", - "starred_url": "https://api.github.com/users/other_user/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/other_user/subscriptions", - "organizations_url": "https://api.github.com/users/other_user/orgs", - "repos_url": "https://api.github.com/users/other_user/repos", - "events_url": "https://api.github.com/users/other_user/events{/privacy}", - "received_events_url": "https://api.github.com/users/other_user/received_events", - "type": "User", - "site_admin": false - } - ], - "requested_teams": [ - { - "id": 1, - "node_id": "MDQ6VGVhbTE=", - "url": "https://api.github.com/teams/1", - "html_url": "https://github.com/orgs/github/teams/justice-league", - "name": "Justice League", - "slug": "justice-league", - "description": "A great team.", - "privacy": "closed", - "permission": "admin", - "members_url": "https://api.github.com/teams/1/members{/member}", - "repositories_url": "https://api.github.com/teams/1/repos" - } - ], - "head": { - "label": "octocat:new-topic", - "ref": "new-topic", - "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e", - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "repo": { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "clone_url": "https://github.com/octocat/Hello-World.git", - "mirror_url": "git:git.example.com/octocat/Hello-World", - "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", - "svn_url": "https://svn.github.com/octocat/Hello-World", - "homepage": "https://github.com", - "language": null, - "forks_count": 9, - "stargazers_count": 80, - "watchers_count": 80, - "size": 108, - "default_branch": "master", - "open_issues_count": 0, - "is_template": true, - "topics": ["octocat", "atom", "electron", "api"], - "has_issues": true, - "has_projects": true, - "has_wiki": true, - "has_pages": false, - "has_downloads": true, - "archived": false, - "disabled": false, - "visibility": "public", - "pushed_at": "2011-01-26T19:06:43Z", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "permissions": { "admin": false, "push": false, "pull": true }, - "allow_rebase_merge": true, - "template_repository": null, - "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", - "allow_squash_merge": true, - "delete_branch_on_merge": true, - "allow_merge_commit": true, - "subscribers_count": 42, - "network_count": 0, - "license": { - "key": "mit", - "name": "MIT License", - "url": "https://api.github.com/licenses/mit", - "spdx_id": "MIT", - "node_id": "MDc6TGljZW5zZW1pdA==", - "html_url": "https://github.com/licenses/mit" - }, - "forks": 1, - "open_issues": 1, - "watchers": 1 - } - }, - "base": { - "label": "octocat:master", - "ref": "master", - "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e", - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "repo": { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "clone_url": "https://github.com/octocat/Hello-World.git", - "mirror_url": "git:git.example.com/octocat/Hello-World", - "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", - "svn_url": "https://svn.github.com/octocat/Hello-World", - "homepage": "https://github.com", - "language": null, - "forks_count": 9, - "stargazers_count": 80, - "watchers_count": 80, - "size": 108, - "default_branch": "master", - "open_issues_count": 0, - "is_template": true, - "topics": ["octocat", "atom", "electron", "api"], - "has_issues": true, - "has_projects": true, - "has_wiki": true, - "has_pages": false, - "has_downloads": true, - "archived": false, - "disabled": false, - "visibility": "public", - "pushed_at": "2011-01-26T19:06:43Z", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "permissions": { "admin": false, "push": false, "pull": true }, - "allow_rebase_merge": true, - "template_repository": null, - "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", - "allow_squash_merge": true, - "delete_branch_on_merge": true, - "allow_merge_commit": true, - "subscribers_count": 42, - "network_count": 0, - "license": { - "key": "mit", - "name": "MIT License", - "url": "https://api.github.com/licenses/mit", - "spdx_id": "MIT", - "node_id": "MDc6TGljZW5zZW1pdA==", - "html_url": "https://api.github.com/licenses/mit" - }, - "forks": 1, - "open_issues": 1, - "watchers": 1 - } - }, - "_links": { - "self": { - "href": "https://api.github.com/repos/octocat/Hello-World/pulls/1347" - }, - "html": { - "href": "https://github.com/octocat/Hello-World/pull/1347" - }, - "issue": { - "href": "https://api.github.com/repos/octocat/Hello-World/issues/1347" - }, - "comments": { - "href": "https://api.github.com/repos/octocat/Hello-World/issues/1347/comments" - }, - "review_comments": { - "href": "https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments" - }, - "review_comment": { - "href": "https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number}" - }, - "commits": { - "href": "https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits" - }, - "statuses": { - "href": "https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e" - } - }, - "author_association": "OWNER", - "auto_merge": null, - "draft": false - } - }, - "pull-request-review-items": { - "value": [ - { - "id": 80, - "node_id": "MDE3OlB1bGxSZXF1ZXN0UmV2aWV3ODA=", - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "body": "Here is the body for the review.", - "state": "APPROVED", - "html_url": "https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80", - "pull_request_url": "https://api.github.com/repos/octocat/Hello-World/pulls/12", - "_links": { - "html": { - "href": "https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80" - }, - "pull_request": { - "href": "https://api.github.com/repos/octocat/Hello-World/pulls/12" - } - }, - "submitted_at": "2019-11-17T17:43:43Z", - "commit_id": "ecdd80bb57125d7ba9641ffaa4d7d2c19d3f3091", - "author_association": "COLLABORATOR" - } - ] - }, - "pull-request-review": { - "value": { - "id": 80, - "node_id": "MDE3OlB1bGxSZXF1ZXN0UmV2aWV3ODA=", - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "body": "This is close to perfect! Please address the suggested inline change.", - "state": "CHANGES_REQUESTED", - "html_url": "https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80", - "pull_request_url": "https://api.github.com/repos/octocat/Hello-World/pulls/12", - "_links": { - "html": { - "href": "https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80" - }, - "pull_request": { - "href": "https://api.github.com/repos/octocat/Hello-World/pulls/12" - } - }, - "submitted_at": "2019-11-17T17:43:43Z", - "commit_id": "ecdd80bb57125d7ba9641ffaa4d7d2c19d3f3091", - "author_association": "COLLABORATOR" - } - }, - "pull-request-review-4": { - "value": { - "id": 80, - "node_id": "MDE3OlB1bGxSZXF1ZXN0UmV2aWV3ODA=", - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "body": "Here is the body for the review.", - "state": "APPROVED", - "html_url": "https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80", - "pull_request_url": "https://api.github.com/repos/octocat/Hello-World/pulls/12", - "_links": { - "html": { - "href": "https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80" - }, - "pull_request": { - "href": "https://api.github.com/repos/octocat/Hello-World/pulls/12" - } - }, - "submitted_at": "2019-11-17T17:43:43Z", - "commit_id": "ecdd80bb57125d7ba9641ffaa4d7d2c19d3f3091", - "author_association": "COLLABORATOR" - } - }, - "pull-request-review-5": { - "value": { - "id": 80, - "node_id": "MDE3OlB1bGxSZXF1ZXN0UmV2aWV3ODA=", - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "body": "This is close to perfect! Please address the suggested inline change. And add more about this.", - "state": "CHANGES_REQUESTED", - "html_url": "https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80", - "pull_request_url": "https://api.github.com/repos/octocat/Hello-World/pulls/12", - "_links": { - "html": { - "href": "https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80" - }, - "pull_request": { - "href": "https://api.github.com/repos/octocat/Hello-World/pulls/12" - } - }, - "submitted_at": "2019-11-17T17:43:43Z", - "commit_id": "ecdd80bb57125d7ba9641ffaa4d7d2c19d3f3091", - "author_association": "COLLABORATOR" - } - }, - "review-comment-items": { - "value": [ - { - "url": "https://api.github.com/repos/octocat/Hello-World/pulls/comments/1", - "pull_request_review_id": 42, - "id": 10, - "node_id": "MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDEw", - "diff_hunk": "@@ -16,33 +16,40 @@ public class Connection : IConnection...", - "path": "file1.txt", - "position": 1, - "original_position": 4, - "commit_id": "6dcb09b5b57875f334f61aebed695e2e4193db5e", - "original_commit_id": "9c48853fa3dc5c1c3d6f1f1cd1f2743e72652840", - "in_reply_to_id": 8, - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "body": "Great stuff!", - "created_at": "2011-04-14T16:00:49Z", - "updated_at": "2011-04-14T16:00:49Z", - "html_url": "https://github.com/octocat/Hello-World/pull/1#discussion-diff-1", - "pull_request_url": "https://api.github.com/repos/octocat/Hello-World/pulls/1", - "author_association": "NONE", - "_links": { - "self": { - "href": "https://api.github.com/repos/octocat/Hello-World/pulls/comments/1" - }, - "html": { - "href": "https://github.com/octocat/Hello-World/pull/1#discussion-diff-1" - }, - "pull_request": { - "href": "https://api.github.com/repos/octocat/Hello-World/pulls/1" - } - } - } - ] - }, - "pull-request-review-3": { - "value": { - "id": 80, - "node_id": "MDE3OlB1bGxSZXF1ZXN0UmV2aWV3ODA=", - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "body": "Here is the body for the review.", - "state": "DISMISSED", - "html_url": "https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80", - "pull_request_url": "https://api.github.com/repos/octocat/Hello-World/pulls/12", - "_links": { - "html": { - "href": "https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80" - }, - "pull_request": { - "href": "https://api.github.com/repos/octocat/Hello-World/pulls/12" - } - }, - "submitted_at": "2019-11-17T17:43:43Z", - "commit_id": "ecdd80bb57125d7ba9641ffaa4d7d2c19d3f3091", - "author_association": "COLLABORATOR" - } - }, - "content-file": { - "value": { - "type": "file", - "encoding": "base64", - "size": 5362, - "name": "README.md", - "path": "README.md", - "content": "encoded content ...", - "sha": "3d21ec53a331a6f037a91c368710b99387d012c1", - "url": "https://api.github.com/repos/octokit/octokit.rb/contents/README.md", - "git_url": "https://api.github.com/repos/octokit/octokit.rb/git/blobs/3d21ec53a331a6f037a91c368710b99387d012c1", - "html_url": "https://github.com/octokit/octokit.rb/blob/master/README.md", - "download_url": "https://raw.githubusercontent.com/octokit/octokit.rb/master/README.md", - "_links": { - "git": "https://api.github.com/repos/octokit/octokit.rb/git/blobs/3d21ec53a331a6f037a91c368710b99387d012c1", - "self": "https://api.github.com/repos/octokit/octokit.rb/contents/README.md", - "html": "https://github.com/octokit/octokit.rb/blob/master/README.md" - } - } - }, - "release-items": { - "value": [ - { - "url": "https://api.github.com/repos/octocat/Hello-World/releases/1", - "html_url": "https://github.com/octocat/Hello-World/releases/v1.0.0", - "assets_url": "https://api.github.com/repos/octocat/Hello-World/releases/1/assets", - "upload_url": "https://uploads.github.com/repos/octocat/Hello-World/releases/1/assets{?name,label}", - "tarball_url": "https://api.github.com/repos/octocat/Hello-World/tarball/v1.0.0", - "zipball_url": "https://api.github.com/repos/octocat/Hello-World/zipball/v1.0.0", - "id": 1, - "node_id": "MDc6UmVsZWFzZTE=", - "tag_name": "v1.0.0", - "target_commitish": "master", - "name": "v1.0.0", - "body": "Description of the release", - "draft": false, - "prerelease": false, - "created_at": "2013-02-27T19:35:32Z", - "published_at": "2013-02-27T19:35:32Z", - "author": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "assets": [ - { - "url": "https://api.github.com/repos/octocat/Hello-World/releases/assets/1", - "browser_download_url": "https://github.com/octocat/Hello-World/releases/download/v1.0.0/example.zip", - "id": 1, - "node_id": "MDEyOlJlbGVhc2VBc3NldDE=", - "name": "example.zip", - "label": "short description", - "state": "uploaded", - "content_type": "application/zip", - "size": 1024, - "download_count": 42, - "created_at": "2013-02-27T19:35:32Z", - "updated_at": "2013-02-27T19:35:32Z", - "uploader": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - } - } - ] - } - ] - }, - "release": { - "value": { - "url": "https://api.github.com/repos/octocat/Hello-World/releases/1", - "html_url": "https://github.com/octocat/Hello-World/releases/v1.0.0", - "assets_url": "https://api.github.com/repos/octocat/Hello-World/releases/1/assets", - "upload_url": "https://uploads.github.com/repos/octocat/Hello-World/releases/1/assets{?name,label}", - "tarball_url": "https://api.github.com/repos/octocat/Hello-World/tarball/v1.0.0", - "zipball_url": "https://api.github.com/repos/octocat/Hello-World/zipball/v1.0.0", - "id": 1, - "node_id": "MDc6UmVsZWFzZTE=", - "tag_name": "v1.0.0", - "target_commitish": "master", - "name": "v1.0.0", - "body": "Description of the release", - "draft": false, - "prerelease": false, - "created_at": "2013-02-27T19:35:32Z", - "published_at": "2013-02-27T19:35:32Z", - "author": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "assets": [ - { - "url": "https://api.github.com/repos/octocat/Hello-World/releases/assets/1", - "browser_download_url": "https://github.com/octocat/Hello-World/releases/download/v1.0.0/example.zip", - "id": 1, - "node_id": "MDEyOlJlbGVhc2VBc3NldDE=", - "name": "example.zip", - "label": "short description", - "state": "uploaded", - "content_type": "application/zip", - "size": 1024, - "download_count": 42, - "created_at": "2013-02-27T19:35:32Z", - "updated_at": "2013-02-27T19:35:32Z", - "uploader": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - } - } - ] - } - }, - "release-asset": { - "value": { - "url": "https://api.github.com/repos/octocat/Hello-World/releases/assets/1", - "browser_download_url": "https://github.com/octocat/Hello-World/releases/download/v1.0.0/example.zip", - "id": 1, - "node_id": "MDEyOlJlbGVhc2VBc3NldDE=", - "name": "example.zip", - "label": "short description", - "state": "uploaded", - "content_type": "application/zip", - "size": 1024, - "download_count": 42, - "created_at": "2013-02-27T19:35:32Z", - "updated_at": "2013-02-27T19:35:32Z", - "uploader": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - } - } - }, - "release-asset-items": { - "value": [ - { - "url": "https://api.github.com/repos/octocat/Hello-World/releases/assets/1", - "browser_download_url": "https://github.com/octocat/Hello-World/releases/download/v1.0.0/example.zip", - "id": 1, - "node_id": "MDEyOlJlbGVhc2VBc3NldDE=", - "name": "example.zip", - "label": "short description", - "state": "uploaded", - "content_type": "application/zip", - "size": 1024, - "download_count": 42, - "created_at": "2013-02-27T19:35:32Z", - "updated_at": "2013-02-27T19:35:32Z", - "uploader": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - } - } - ] - }, - "release-asset-response-for-successful-upload": { - "value": { - "url": "https://api.github.com/repos/octocat/Hello-World/releases/assets/1", - "browser_download_url": "https://github.com/octocat/Hello-World/releases/download/v1.0.0/example.zip", - "id": 1, - "node_id": "MDEyOlJlbGVhc2VBc3NldDE=", - "name": "example.zip", - "label": "short description", - "state": "uploaded", - "content_type": "application/zip", - "size": 1024, - "download_count": 42, - "created_at": "2013-02-27T19:35:32Z", - "updated_at": "2013-02-27T19:35:32Z", - "uploader": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - } - } - }, - "secret-scanning-alert-list": { - "value": [ - { - "number": 2, - "created_at": "2020-11-06T18:48:51Z", - "url": "https://api.github.com/repos/owner/private-repo/secret-scanning/alerts/2", - "html_url": "https://github.com/owner/private-repo/security/secret-scanning/2", - "state": "resolved", - "resolution": "false_positive", - "resolved_at": "2020-11-07T02:47:13Z", - "resolved_by": { - "login": "monalisa", - "id": 2, - "node_id": "MDQ6VXNlcjI=", - "avatar_url": "https://alambic.github.com/avatars/u/2?", - "gravatar_id": "", - "url": "https://api.github.com/users/monalisa", - "html_url": "https://github.com/monalisa", - "followers_url": "https://api.github.com/users/monalisa/followers", - "following_url": "https://api.github.com/users/monalisa/following{/other_user}", - "gists_url": "https://api.github.com/users/monalisa/gists{/gist_id}", - "starred_url": "https://api.github.com/users/monalisa/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/monalisa/subscriptions", - "organizations_url": "https://api.github.com/users/monalisa/orgs", - "repos_url": "https://api.github.com/users/monalisa/repos", - "events_url": "https://api.github.com/users/monalisa/events{/privacy}", - "received_events_url": "https://api.github.com/users/monalisa/received_events", - "type": "User", - "site_admin": true - }, - "secret_type": "adafruit_io_key", - "secret": "aio_XXXXXXXXXXXXXXXXXXXXXXXXXXXX" - }, - { - "number": 1, - "created_at": "2020-11-06T18:18:30Z", - "url": "https://api.github.com/repos/owner/repo/secret-scanning/alerts/1", - "html_url": "https://github.com/owner/repo/security/secret-scanning/1", - "state": "open", - "resolution": null, - "resolved_at": null, - "resolved_by": null, - "secret_type": "mailchimp_api_key", - "secret": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-us2" - } - ] - }, - "secret-scanning-alert-open": { - "value": { - "number": 42, - "created_at": "2020-11-06T18:18:30Z", - "url": "https://api.github.com/repos/owner/private-repo/secret-scanning/alerts/42", - "html_url": "https://github.com/owner/private-repo/security/secret-scanning/42", - "state": "open", - "resolution": null, - "resolved_at": null, - "resolved_by": null, - "secret_type": "mailchimp_api_key", - "secret": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-us2" - } - }, - "secret-scanning-alert-resolved": { - "value": { - "number": 42, - "created_at": "2020-11-06T18:18:30Z", - "url": "https://api.github.com/repos/owner/private-repo/secret-scanning/alerts/42", - "html_url": "https://github.com/owner/private-repo/security/secret-scanning/42", - "state": "resolved", - "resolution": "used_in_tests", - "resolved_at": "2020-11-16T22:42:07Z", - "resolved_by": { - "login": "monalisa", - "id": 2, - "node_id": "MDQ6VXNlcjI=", - "avatar_url": "https://alambic.github.com/avatars/u/2?", - "gravatar_id": "", - "url": "https://api.github.com/users/monalisa", - "html_url": "https://github.com/monalisa", - "followers_url": "https://api.github.com/users/monalisa/followers", - "following_url": "https://api.github.com/users/monalisa/following{/other_user}", - "gists_url": "https://api.github.com/users/monalisa/gists{/gist_id}", - "starred_url": "https://api.github.com/users/monalisa/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/monalisa/subscriptions", - "organizations_url": "https://api.github.com/users/monalisa/orgs", - "repos_url": "https://api.github.com/users/monalisa/repos", - "events_url": "https://api.github.com/users/monalisa/events{/privacy}", - "received_events_url": "https://api.github.com/users/monalisa/received_events", - "type": "User", - "site_admin": true - }, - "secret_type": "mailchimp_api_key", - "secret": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-us2" - } - }, - "simple-user-items-default-response": { - "summary": "Default response", - "value": [ - { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - } - ] - }, - "stargazer-items-alternative-response-with-star-creation-timestamps": { - "summary": "Alternative response with star creation timestamps", - "value": [ - { - "starred_at": "2011-01-16T19:06:43Z", - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - } - } - ] - }, - "code-frequency-stat-items": { "value": [[1302998400, 1124, -435]] }, - "commit-activity-items": { - "value": [ - { "days": [0, 3, 26, 20, 39, 1, 0], "total": 89, "week": 1336280400 } - ] - }, - "contributor-activity-items": { - "value": [ - { - "author": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "total": 135, - "weeks": [{ "w": "1367712000", "a": 6898, "d": 77, "c": 10 }] - } - ] - }, - "participation-stats": { - "value": { - "all": [ - 11, - 21, - 15, - 2, - 8, - 1, - 8, - 23, - 17, - 21, - 11, - 10, - 33, - 91, - 38, - 34, - 22, - 23, - 32, - 3, - 43, - 87, - 71, - 18, - 13, - 5, - 13, - 16, - 66, - 27, - 12, - 45, - 110, - 117, - 13, - 8, - 18, - 9, - 19, - 26, - 39, - 12, - 20, - 31, - 46, - 91, - 45, - 10, - 24, - 9, - 29, - 7 - ], - "owner": [ - 3, - 2, - 3, - 0, - 2, - 0, - 5, - 14, - 7, - 9, - 1, - 5, - 0, - 48, - 19, - 2, - 0, - 1, - 10, - 2, - 23, - 40, - 35, - 8, - 8, - 2, - 10, - 6, - 30, - 0, - 2, - 9, - 53, - 104, - 3, - 3, - 10, - 4, - 7, - 11, - 21, - 4, - 4, - 22, - 26, - 63, - 11, - 2, - 14, - 1, - 10, - 3 - ] - } - }, - "code-frequency-stat-items-2": { - "value": [ - [0, 0, 5], - [0, 1, 43], - [0, 2, 21] - ] - }, - "status": { - "value": { - "url": "https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e", - "avatar_url": "https://github.com/images/error/hubot_happy.gif", - "id": 1, - "node_id": "MDY6U3RhdHVzMQ==", - "state": "success", - "description": "Build has completed successfully", - "target_url": "https://ci.example.com/1000/output", - "context": "continuous-integration/jenkins", - "created_at": "2012-07-20T01:19:13Z", - "updated_at": "2012-07-20T01:19:13Z", - "creator": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - } - } - }, - "repository-subscription-response-if-you-subscribe-to-the-repository": { - "value": { - "subscribed": true, - "ignored": false, - "reason": null, - "created_at": "2012-10-06T21:34:12Z", - "url": "https://api.github.com/repos/octocat/example/subscription", - "repository_url": "https://api.github.com/repos/octocat/example" - } - }, - "repository-subscription": { - "value": { - "subscribed": true, - "ignored": false, - "reason": null, - "created_at": "2012-10-06T21:34:12Z", - "url": "https://api.github.com/repos/octocat/example/subscription", - "repository_url": "https://api.github.com/repos/octocat/example" - } - }, - "tag-items": { - "value": [ - { - "name": "v0.1", - "commit": { - "sha": "c5b97d5ae6c19d5c5df71a34c7fbeeda2479ccbc", - "url": "https://api.github.com/repos/octocat/Hello-World/commits/c5b97d5ae6c19d5c5df71a34c7fbeeda2479ccbc" - }, - "zipball_url": "https://github.com/octocat/Hello-World/zipball/v0.1", - "tarball_url": "https://github.com/octocat/Hello-World/tarball/v0.1", - "node_id": "MDQ6VXNlcjE=" - } - ] - }, - "topic": { "value": { "names": ["octocat", "atom", "electron", "api"] } }, - "clone-traffic": { - "value": { - "count": 173, - "uniques": 128, - "clones": [ - { "timestamp": "2016-10-10T00:00:00Z", "count": 2, "uniques": 1 }, - { "timestamp": "2016-10-11T00:00:00Z", "count": 17, "uniques": 16 }, - { "timestamp": "2016-10-12T00:00:00Z", "count": 21, "uniques": 15 }, - { "timestamp": "2016-10-13T00:00:00Z", "count": 8, "uniques": 7 }, - { "timestamp": "2016-10-14T00:00:00Z", "count": 5, "uniques": 5 }, - { "timestamp": "2016-10-15T00:00:00Z", "count": 2, "uniques": 2 }, - { "timestamp": "2016-10-16T00:00:00Z", "count": 8, "uniques": 7 }, - { "timestamp": "2016-10-17T00:00:00Z", "count": 26, "uniques": 15 }, - { "timestamp": "2016-10-18T00:00:00Z", "count": 19, "uniques": 17 }, - { "timestamp": "2016-10-19T00:00:00Z", "count": 19, "uniques": 14 }, - { "timestamp": "2016-10-20T00:00:00Z", "count": 19, "uniques": 15 }, - { "timestamp": "2016-10-21T00:00:00Z", "count": 9, "uniques": 7 }, - { "timestamp": "2016-10-22T00:00:00Z", "count": 5, "uniques": 5 }, - { "timestamp": "2016-10-23T00:00:00Z", "count": 6, "uniques": 5 }, - { "timestamp": "2016-10-24T00:00:00Z", "count": 7, "uniques": 5 } - ] - } - }, - "content-traffic-items": { - "value": [ - { - "path": "/github/hubot", - "title": "github/hubot: A customizable life embetterment robot.", - "count": 3542, - "uniques": 2225 - }, - { - "path": "/github/hubot/blob/master/docs/scripting.md", - "title": "hubot/scripting.md at master · github/hubot · GitHub", - "count": 1707, - "uniques": 804 - }, - { - "path": "/github/hubot/tree/master/docs", - "title": "hubot/docs at master · github/hubot · GitHub", - "count": 685, - "uniques": 435 - }, - { - "path": "/github/hubot/tree/master/src", - "title": "hubot/src at master · github/hubot · GitHub", - "count": 577, - "uniques": 347 - }, - { - "path": "/github/hubot/blob/master/docs/index.md", - "title": "hubot/index.md at master · github/hubot · GitHub", - "count": 379, - "uniques": 259 - }, - { - "path": "/github/hubot/blob/master/docs/adapters.md", - "title": "hubot/adapters.md at master · github/hubot · GitHub", - "count": 354, - "uniques": 201 - }, - { - "path": "/github/hubot/tree/master/examples", - "title": "hubot/examples at master · github/hubot · GitHub", - "count": 340, - "uniques": 260 - }, - { - "path": "/github/hubot/blob/master/docs/deploying/heroku.md", - "title": "hubot/heroku.md at master · github/hubot · GitHub", - "count": 324, - "uniques": 217 - }, - { - "path": "/github/hubot/blob/master/src/robot.coffee", - "title": "hubot/robot.coffee at master · github/hubot · GitHub", - "count": 293, - "uniques": 191 - }, - { - "path": "/github/hubot/blob/master/LICENSE.md", - "title": "hubot/LICENSE.md at master · github/hubot · GitHub", - "count": 281, - "uniques": 222 - } - ] - }, - "referrer-traffic-items": { - "value": [ - { "referrer": "Google", "count": 4, "uniques": 3 }, - { "referrer": "stackoverflow.com", "count": 2, "uniques": 2 }, - { "referrer": "eggsonbread.com", "count": 1, "uniques": 1 }, - { "referrer": "yandex.ru", "count": 1, "uniques": 1 } - ] - }, - "view-traffic": { - "value": { - "count": 14850, - "uniques": 3782, - "views": [ - { - "timestamp": "2016-10-10T00:00:00Z", - "count": 440, - "uniques": 143 - }, - { - "timestamp": "2016-10-11T00:00:00Z", - "count": 1308, - "uniques": 414 - }, - { - "timestamp": "2016-10-12T00:00:00Z", - "count": 1486, - "uniques": 452 - }, - { - "timestamp": "2016-10-13T00:00:00Z", - "count": 1170, - "uniques": 401 - }, - { - "timestamp": "2016-10-14T00:00:00Z", - "count": 868, - "uniques": 266 - }, - { - "timestamp": "2016-10-15T00:00:00Z", - "count": 495, - "uniques": 157 - }, - { - "timestamp": "2016-10-16T00:00:00Z", - "count": 524, - "uniques": 175 - }, - { - "timestamp": "2016-10-17T00:00:00Z", - "count": 1263, - "uniques": 412 - }, - { - "timestamp": "2016-10-18T00:00:00Z", - "count": 1402, - "uniques": 417 - }, - { - "timestamp": "2016-10-19T00:00:00Z", - "count": 1394, - "uniques": 424 - }, - { - "timestamp": "2016-10-20T00:00:00Z", - "count": 1492, - "uniques": 448 - }, - { - "timestamp": "2016-10-21T00:00:00Z", - "count": 1153, - "uniques": 332 - }, - { - "timestamp": "2016-10-22T00:00:00Z", - "count": 566, - "uniques": 168 - }, - { - "timestamp": "2016-10-23T00:00:00Z", - "count": 675, - "uniques": 184 - }, - { - "timestamp": "2016-10-24T00:00:00Z", - "count": 614, - "uniques": 237 - } - ] - } - }, - "repository-3": { - "value": { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "clone_url": "https://github.com/octocat/Hello-World.git", - "mirror_url": "git:git.example.com/octocat/Hello-World", - "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", - "svn_url": "https://svn.github.com/octocat/Hello-World", - "homepage": "https://github.com", - "language": null, - "forks_count": 9, - "forks": 9, - "stargazers_count": 80, - "watchers_count": 80, - "watchers": 80, - "size": 108, - "default_branch": "master", - "open_issues_count": 0, - "open_issues": 0, - "is_template": false, - "topics": ["octocat", "atom", "electron", "api"], - "has_issues": true, - "has_projects": true, - "has_wiki": true, - "has_pages": false, - "has_downloads": true, - "archived": false, - "disabled": false, - "visibility": "public", - "pushed_at": "2011-01-26T19:06:43Z", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "permissions": { "admin": false, "push": false, "pull": true }, - "allow_rebase_merge": true, - "license": { - "key": "mit", - "name": "MIT License", - "url": "https://api.github.com/licenses/mit", - "spdx_id": "MIT", - "node_id": "MDc6TGljZW5zZW1pdA==", - "html_url": "https://github.com/licenses/mit" - } - } - }, - "public-repository-items": { - "value": [ - { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "hooks_url": "http://api.github.com/repos/octocat/Hello-World/hooks" - } - ] - }, - "scim-enterprise-group-list": { - "value": { - "schemas": ["urn:ietf:params:scim:api:messages:2.0:ListResponse"], - "totalResults": 2, - "itemsPerPage": 2, - "startIndex": 1, - "Resources": [ - { - "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"], - "id": "abcd27f8-a9aa-11ea-8221-f59b2be9cccc", - "externalId": null, - "displayName": "octo-org", - "members": [ - { - "value": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "$ref": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "display": "octocat@github.com" - }, - { - "value": "aaaa8c34-a6b2-11ea-9d70-bbbbbd1c8fd5", - "$ref": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/aaaa8c34-a6b2-11ea-9d70-bbbbbd1c8fd5", - "display": "hubot@example.com" - } - ], - "meta": { - "resourceType": "Group", - "created": "2020-06-09T03:10:17.000+10:00", - "lastModified": "2020-06-09T03:10:17.000+10:00", - "location": "https://api.github.com/scim/v2/enterprises/octo-corp/Groups/abcd27f8-a9aa-11ea-8221-f59b2be9cccc" - } - }, - { - "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"], - "id": "5e75bbbb-aa1a-11ea-8644-75ff655cdddd", - "externalId": null, - "displayName": "octo-docs-org", - "members": [ - { - "value": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "$ref": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "display": "octocat@github.com" - } - ], - "meta": { - "resourceType": "Group", - "created": "2020-06-09T16:28:01.000+10:00", - "lastModified": "2020-06-09T16:28:01.000+10:00", - "location": "https://api.github.com/scim/v2/enterprises/octo-corp/Groups/5e75bbbb-aa1a-11ea-8644-75ff655cdddd" - } - } - ] - } - }, - "scim-enterprise-group": { - "value": { - "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"], - "id": "abcd27f8-a9aa-11ea-8221-f59b2be9cccc", - "externalId": null, - "displayName": "octo-org", - "members": [ - { - "value": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "$ref": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "display": "octocat@github.com" - }, - { - "value": "aaaa8c34-a6b2-11ea-9d70-bbbbbd1c8fd5", - "$ref": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/aaaa8c34-a6b2-11ea-9d70-bbbbbd1c8fd5", - "display": "hubot@example.com" - } - ], - "meta": { - "resourceType": "Group", - "created": "2020-06-09T03:10:17.000+10:0", - "lastModified": "2020-06-09T03:10:17.000+10:00", - "location": "https://api.github.com/scim/v2/enterprises/octo-corp/Groups/abcd27f8-a9aa-11ea-8221-f59b2be9cccc" - } - } - }, - "scim-enterprise-group-2": { - "value": { - "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"], - "id": "abcd27f8-a9aa-11ea-8221-f59b2be9cccc", - "externalId": null, - "displayName": "octo-org", - "members": [ - { - "value": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "$ref": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "display": "octocat@github.com" - } - ], - "meta": { - "resourceType": "Group", - "created": "2020-06-09T03:10:17.000+10:00", - "lastModified": "2020-06-09T03:10:17.000+10:00", - "location": "https://api.github.com/scim/v2/enterprises/octo-corp/Groups/abcd27f8-a9aa-11ea-8221-f59b2be9cccc" - } - } - }, - "scim-enterprise-user-list": { - "value": { - "schemas": ["urn:ietf:params:scim:api:messages:2.0:ListResponse"], - "totalResults": 2, - "itemsPerPage": 2, - "startIndex": 1, - "Resources": [ - { - "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"], - "id": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "externalId": "00dowz5dr9oSfDFRA0h7", - "userName": "octocat@github.com", - "name": { "givenName": "Mona", "familyName": "Octocat" }, - "emails": [ - { - "value": "octocat@github.com", - "primary": true, - "type": "work" - } - ], - "groups": [{ "value": "468dd3fa-a1d6-11ea-9031-15a1f0d7811d" }], - "active": true, - "meta": { - "resourceType": "User", - "created": "2020-05-30T04:02:34.000+10:00", - "lastModified": "2020-05-30T04:05:04.000+10:00", - "location": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/92b58aaa-a1d6-11ea-8227-b9ce9e023ccc" - } - }, - { - "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"], - "id": "e18b8c34-a6b2-11ea-9d70-54abbd1c8fd5", - "externalId": "sdfoiausdofiua", - "userName": "hubot@example.com", - "name": { "givenName": "hu", "familyName": "bot" }, - "emails": [ - { - "value": "hubot@example.com", - "type": "work", - "primary": true - } - ], - "groups": [], - "active": true, - "meta": { - "resourceType": "User", - "created": "2020-06-05T08:29:40.000+10:00", - "lastModified": "2020-06-05T08:30:19.000+10:00", - "location": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/e18b8c34-a6b2-11ea-9d70-54abbd1c8fd5" - } - } - ] - } - }, - "scim-enterprise-user": { - "value": { - "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"], - "id": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "externalId": "00dowz5dr9oSfDFRA0h7", - "userName": "mona.octocat@okta.example.com", - "name": { "givenName": "Mona", "familyName": "Octocat" }, - "emails": [ - { - "value": "mona.octocat@okta.example.com", - "type": "work", - "primary": true - } - ], - "groups": [{ "value": "468dd3fa-a1d6-11ea-9031-15a1f0d7811d" }], - "active": true, - "meta": { - "resourceType": "User", - "created": "2017-03-09T16:11:13-05:00", - "lastModified": "2017-03-09T16:11:13-05:00", - "location": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/92b58aaa-a1d6-11ea-8227-b9ce9e023ccc" - } - } - }, - "scim-enterprise-user-2": { - "value": { - "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"], - "id": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "externalId": "00dowz5dr9oSfDFRA0h7", - "userName": "mona.octocat@okta.example.com", - "name": { "givenName": "Monalisa", "familyName": "Octocat" }, - "emails": [ - { - "value": "mona.octocat@okta.example.com", - "type": "work", - "primary": true - }, - { "value": "monalisa@octocat.github.com", "type": "home" } - ], - "groups": [{ "value": "468dd3fa-a1d6-11ea-9031-15a1f0d7811d" }], - "active": true, - "meta": { - "resourceType": "User", - "created": "2017-03-09T16:11:13-05:00", - "lastModified": "2017-03-09T16:11:13-05:00", - "location": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/92b58aaa-a1d6-11ea-8227-b9ce9e023ccc" - } - } - }, - "scim-user-list-response-with-filter": { - "summary": "Response with filter", - "value": { - "schemas": ["urn:ietf:params:scim:api:messages:2.0:ListResponse"], - "totalResults": 1, - "itemsPerPage": 1, - "startIndex": 1, - "Resources": [ - { - "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"], - "id": "5fc0c238-1112-11e8-8e45-920c87bdbd75", - "externalId": "00u1dhhb1fkIGP7RL1d8", - "userName": "octocat@github.com", - "displayName": "Mona Octocat", - "name": { - "givenName": "Mona", - "familyName": "Octocat", - "formatted": "Mona Octocat" - }, - "emails": [{ "value": "octocat@github.com", "primary": true }], - "active": true, - "meta": { - "resourceType": "User", - "created": "2018-02-13T15:05:24.000-08:00", - "lastModified": "2018-02-13T15:05:55.000-08:00", - "location": "https://api.github.com/scim/v2/organizations/octo-org/Users/5fc0c238-1112-11e8-8e45-920c87bdbd75" - } - } - ] - } - }, - "scim-user-list-response-without-filter": { - "summary": "Response without filter", - "value": { - "schemas": ["urn:ietf:params:scim:api:messages:2.0:ListResponse"], - "totalResults": 2, - "itemsPerPage": 2, - "startIndex": 1, - "Resources": [ - { - "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"], - "id": "edefdfedf-050c-11e7-8d32", - "externalId": "a7d0f98382", - "userName": "mona.octocat@okta.example.com", - "displayName": "Mona Octocat", - "name": { - "givenName": "Mona", - "familyName": "Octocat", - "formatted": "Mona Octocat" - }, - "emails": [ - { "value": "mona.octocat@okta.example.com", "primary": true } - ], - "active": true, - "meta": { - "resourceType": "User", - "created": "2017-03-09T16:11:13-05:00", - "lastModified": "2017-03-09T16:11:13-05:00", - "location": "https://api.github.com/scim/v2/organizations/octo-org/Users/edefdfedf-050c-11e7-8d32" - } - }, - { - "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"], - "id": "77563764-eb6-24-0598234-958243", - "externalId": "sdfoiausdofiua", - "userName": "hubot@example.com", - "displayName": "hu bot", - "name": { - "givenName": "hu", - "familyName": "bot", - "formatted": "hu bot" - }, - "emails": [{ "value": "hubot@example.com", "primary": true }], - "active": true, - "meta": { - "resourceType": "User", - "created": "2017-03-09T16:11:13-05:00", - "lastModified": "2017-03-09T16:11:13-05:00", - "location": "https://api.github.com/scim/v2/organizations/octo-org/Users/77563764-eb6-24-0598234-958243" - } - } - ] - } - }, - "scim-user": { - "value": { - "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"], - "id": "edefdfedf-050c-11e7-8d32", - "externalId": "a7d0f98382", - "userName": "mona.octocat@okta.example.com", - "displayName": "Monalisa Octocat", - "name": { - "givenName": "Monalisa", - "familyName": "Octocat", - "formatted": "Monalisa Octocat" - }, - "emails": [ - { "value": "mona.octocat@okta.example.com", "primary": true }, - { "value": "monalisa@octocat.github.com" } - ], - "active": true, - "meta": { - "resourceType": "User", - "created": "2017-03-09T16:11:13-05:00", - "lastModified": "2017-03-09T16:11:13-05:00", - "location": "https://api.github.com/scim/v2/organizations/octo-org/Users/edefdfedf-050c-11e7-8d32" - } - } - }, - "code-search-result-item-paginated": { - "value": { - "total_count": 7, - "incomplete_results": false, - "items": [ - { - "name": "classes.js", - "path": "src/attributes/classes.js", - "sha": "d7212f9dee2dcc18f084d7df8f417b80846ded5a", - "url": "https://api.github.com/repositories/167174/contents/src/attributes/classes.js?ref=825ac3773694e0cd23ee74895fd5aeb535b27da4", - "git_url": "https://api.github.com/repositories/167174/git/blobs/d7212f9dee2dcc18f084d7df8f417b80846ded5a", - "html_url": "https://github.com/jquery/jquery/blob/825ac3773694e0cd23ee74895fd5aeb535b27da4/src/attributes/classes.js", - "repository": { - "id": 167174, - "node_id": "MDEwOlJlcG9zaXRvcnkxNjcxNzQ=", - "name": "jquery", - "full_name": "jquery/jquery", - "owner": { - "login": "jquery", - "id": 70142, - "node_id": "MDQ6VXNlcjcwMTQy", - "avatar_url": "https://0.gravatar.com/avatar/6906f317a4733f4379b06c32229ef02f?d=https%3A%2F%2Fidenticons.github.com%2Ff426f04f2f9813718fb806b30e0093de.png", - "gravatar_id": "", - "url": "https://api.github.com/users/jquery", - "html_url": "https://github.com/jquery", - "followers_url": "https://api.github.com/users/jquery/followers", - "following_url": "https://api.github.com/users/jquery/following{/other_user}", - "gists_url": "https://api.github.com/users/jquery/gists{/gist_id}", - "starred_url": "https://api.github.com/users/jquery/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/jquery/subscriptions", - "organizations_url": "https://api.github.com/users/jquery/orgs", - "repos_url": "https://api.github.com/users/jquery/repos", - "events_url": "https://api.github.com/users/jquery/events{/privacy}", - "received_events_url": "https://api.github.com/users/jquery/received_events", - "type": "Organization", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/jquery/jquery", - "description": "jQuery JavaScript Library", - "fork": false, - "url": "https://api.github.com/repos/jquery/jquery", - "forks_url": "https://api.github.com/repos/jquery/jquery/forks", - "keys_url": "https://api.github.com/repos/jquery/jquery/keys{/key_id}", - "collaborators_url": "https://api.github.com/repos/jquery/jquery/collaborators{/collaborator}", - "teams_url": "https://api.github.com/repos/jquery/jquery/teams", - "hooks_url": "https://api.github.com/repos/jquery/jquery/hooks", - "issue_events_url": "https://api.github.com/repos/jquery/jquery/issues/events{/number}", - "events_url": "https://api.github.com/repos/jquery/jquery/events", - "assignees_url": "https://api.github.com/repos/jquery/jquery/assignees{/user}", - "branches_url": "https://api.github.com/repos/jquery/jquery/branches{/branch}", - "tags_url": "https://api.github.com/repos/jquery/jquery/tags", - "blobs_url": "https://api.github.com/repos/jquery/jquery/git/blobs{/sha}", - "git_tags_url": "https://api.github.com/repos/jquery/jquery/git/tags{/sha}", - "git_refs_url": "https://api.github.com/repos/jquery/jquery/git/refs{/sha}", - "trees_url": "https://api.github.com/repos/jquery/jquery/git/trees{/sha}", - "statuses_url": "https://api.github.com/repos/jquery/jquery/statuses/{sha}", - "languages_url": "https://api.github.com/repos/jquery/jquery/languages", - "stargazers_url": "https://api.github.com/repos/jquery/jquery/stargazers", - "contributors_url": "https://api.github.com/repos/jquery/jquery/contributors", - "subscribers_url": "https://api.github.com/repos/jquery/jquery/subscribers", - "subscription_url": "https://api.github.com/repos/jquery/jquery/subscription", - "commits_url": "https://api.github.com/repos/jquery/jquery/commits{/sha}", - "git_commits_url": "https://api.github.com/repos/jquery/jquery/git/commits{/sha}", - "comments_url": "https://api.github.com/repos/jquery/jquery/comments{/number}", - "issue_comment_url": "https://api.github.com/repos/jquery/jquery/issues/comments/{number}", - "contents_url": "https://api.github.com/repos/jquery/jquery/contents/{+path}", - "compare_url": "https://api.github.com/repos/jquery/jquery/compare/{base}...{head}", - "merges_url": "https://api.github.com/repos/jquery/jquery/merges", - "archive_url": "https://api.github.com/repos/jquery/jquery/{archive_format}{/ref}", - "downloads_url": "https://api.github.com/repos/jquery/jquery/downloads", - "issues_url": "https://api.github.com/repos/jquery/jquery/issues{/number}", - "pulls_url": "https://api.github.com/repos/jquery/jquery/pulls{/number}", - "milestones_url": "https://api.github.com/repos/jquery/jquery/milestones{/number}", - "notifications_url": "https://api.github.com/repos/jquery/jquery/notifications{?since,all,participating}", - "labels_url": "https://api.github.com/repos/jquery/jquery/labels{/name}", - "deployments_url": "http://api.github.com/repos/octocat/Hello-World/deployments", - "releases_url": "http://api.github.com/repos/octocat/Hello-World/releases{/id}" - }, - "score": 1 - } - ] - } - }, - "commit-search-result-item-paginated": { - "value": { - "total_count": 1, - "incomplete_results": false, - "items": [ - { - "url": "https://api.github.com/repos/octocat/Spoon-Knife/commits/bb4cc8d3b2e14b3af5df699876dd4ff3acd00b7f", - "sha": "bb4cc8d3b2e14b3af5df699876dd4ff3acd00b7f", - "html_url": "https://github.com/octocat/Spoon-Knife/commit/bb4cc8d3b2e14b3af5df699876dd4ff3acd00b7f", - "comments_url": "https://api.github.com/repos/octocat/Spoon-Knife/commits/bb4cc8d3b2e14b3af5df699876dd4ff3acd00b7f/comments", - "commit": { - "url": "https://api.github.com/repos/octocat/Spoon-Knife/git/commits/bb4cc8d3b2e14b3af5df699876dd4ff3acd00b7f", - "author": { - "date": "2014-02-04T14:38:36-08:00", - "name": "The Octocat", - "email": "octocat@nowhere.com" - }, - "committer": { - "date": "2014-02-12T15:18:55-08:00", - "name": "The Octocat", - "email": "octocat@nowhere.com" - }, - "message": "Create styles.css and updated README", - "tree": { - "url": "https://api.github.com/repos/octocat/Spoon-Knife/git/trees/a639e96f9038797fba6e0469f94a4b0cc459fa68", - "sha": "a639e96f9038797fba6e0469f94a4b0cc459fa68" - }, - "comment_count": 8 - }, - "author": { - "login": "octocat", - "id": 583231, - "node_id": "MDQ6VXNlcjU4MzIzMQ==", - "avatar_url": "https://avatars.githubusercontent.com/u/583231?v=3", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "committer": {}, - "parents": [ - { - "url": "https://api.github.com/repos/octocat/Spoon-Knife/commits/a30c19e3f13765a3b48829788bc1cb8b4e95cee4", - "html_url": "https://github.com/octocat/Spoon-Knife/commit/a30c19e3f13765a3b48829788bc1cb8b4e95cee4", - "sha": "a30c19e3f13765a3b48829788bc1cb8b4e95cee4" - } - ], - "repository": { - "id": 1300192, - "node_id": "MDEwOlJlcG9zaXRvcnkxMzAwMTky", - "name": "Spoon-Knife", - "full_name": "octocat/Spoon-Knife", - "owner": { - "login": "octocat", - "id": 583231, - "node_id": "MDQ6VXNlcjU4MzIzMQ==", - "avatar_url": "https://avatars.githubusercontent.com/u/583231?v=3", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Spoon-Knife", - "description": "This repo is for demonstration purposes only.", - "fork": false, - "url": "https://api.github.com/repos/octocat/Spoon-Knife", - "forks_url": "https://api.github.com/repos/octocat/Spoon-Knife/forks", - "keys_url": "https://api.github.com/repos/octocat/Spoon-Knife/keys{/key_id}", - "collaborators_url": "https://api.github.com/repos/octocat/Spoon-Knife/collaborators{/collaborator}", - "teams_url": "https://api.github.com/repos/octocat/Spoon-Knife/teams", - "hooks_url": "https://api.github.com/repos/octocat/Spoon-Knife/hooks", - "issue_events_url": "https://api.github.com/repos/octocat/Spoon-Knife/issues/events{/number}", - "events_url": "https://api.github.com/repos/octocat/Spoon-Knife/events", - "assignees_url": "https://api.github.com/repos/octocat/Spoon-Knife/assignees{/user}", - "branches_url": "https://api.github.com/repos/octocat/Spoon-Knife/branches{/branch}", - "tags_url": "https://api.github.com/repos/octocat/Spoon-Knife/tags", - "blobs_url": "https://api.github.com/repos/octocat/Spoon-Knife/git/blobs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Spoon-Knife/git/tags{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Spoon-Knife/git/refs{/sha}", - "trees_url": "https://api.github.com/repos/octocat/Spoon-Knife/git/trees{/sha}", - "statuses_url": "https://api.github.com/repos/octocat/Spoon-Knife/statuses/{sha}", - "languages_url": "https://api.github.com/repos/octocat/Spoon-Knife/languages", - "stargazers_url": "https://api.github.com/repos/octocat/Spoon-Knife/stargazers", - "contributors_url": "https://api.github.com/repos/octocat/Spoon-Knife/contributors", - "subscribers_url": "https://api.github.com/repos/octocat/Spoon-Knife/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Spoon-Knife/subscription", - "commits_url": "https://api.github.com/repos/octocat/Spoon-Knife/commits{/sha}", - "git_commits_url": "https://api.github.com/repos/octocat/Spoon-Knife/git/commits{/sha}", - "comments_url": "https://api.github.com/repos/octocat/Spoon-Knife/comments{/number}", - "issue_comment_url": "https://api.github.com/repos/octocat/Spoon-Knife/issues/comments{/number}", - "contents_url": "https://api.github.com/repos/octocat/Spoon-Knife/contents/{+path}", - "compare_url": "https://api.github.com/repos/octocat/Spoon-Knife/compare/{base}...{head}", - "merges_url": "https://api.github.com/repos/octocat/Spoon-Knife/merges", - "archive_url": "https://api.github.com/repos/octocat/Spoon-Knife/{archive_format}{/ref}", - "downloads_url": "https://api.github.com/repos/octocat/Spoon-Knife/downloads", - "issues_url": "https://api.github.com/repos/octocat/Spoon-Knife/issues{/number}", - "pulls_url": "https://api.github.com/repos/octocat/Spoon-Knife/pulls{/number}", - "milestones_url": "https://api.github.com/repos/octocat/Spoon-Knife/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Spoon-Knife/notifications{?since,all,participating}", - "labels_url": "https://api.github.com/repos/octocat/Spoon-Knife/labels{/name}", - "releases_url": "https://api.github.com/repos/octocat/Spoon-Knife/releases{/id}", - "deployments_url": "https://api.github.com/repos/octocat/Spoon-Knife/deployments" - }, - "score": 1, - "node_id": "MDQ6VXNlcjU4MzIzMQ==" - } - ] - } - }, - "issue-search-result-item-paginated": { - "value": { - "total_count": 280, - "incomplete_results": false, - "items": [ - { - "url": "https://api.github.com/repos/batterseapower/pinyin-toolkit/issues/132", - "repository_url": "https://api.github.com/repos/batterseapower/pinyin-toolkit", - "labels_url": "https://api.github.com/repos/batterseapower/pinyin-toolkit/issues/132/labels{/name}", - "comments_url": "https://api.github.com/repos/batterseapower/pinyin-toolkit/issues/132/comments", - "events_url": "https://api.github.com/repos/batterseapower/pinyin-toolkit/issues/132/events", - "html_url": "https://github.com/batterseapower/pinyin-toolkit/issues/132", - "id": 35802, - "node_id": "MDU6SXNzdWUzNTgwMg==", - "number": 132, - "title": "Line Number Indexes Beyond 20 Not Displayed", - "user": { - "login": "Nick3C", - "id": 90254, - "node_id": "MDQ6VXNlcjkwMjU0", - "avatar_url": "https://secure.gravatar.com/avatar/934442aadfe3b2f4630510de416c5718?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png", - "gravatar_id": "", - "url": "https://api.github.com/users/Nick3C", - "html_url": "https://github.com/Nick3C", - "followers_url": "https://api.github.com/users/Nick3C/followers", - "following_url": "https://api.github.com/users/Nick3C/following{/other_user}", - "gists_url": "https://api.github.com/users/Nick3C/gists{/gist_id}", - "starred_url": "https://api.github.com/users/Nick3C/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/Nick3C/subscriptions", - "organizations_url": "https://api.github.com/users/Nick3C/orgs", - "repos_url": "https://api.github.com/users/Nick3C/repos", - "events_url": "https://api.github.com/users/Nick3C/events{/privacy}", - "received_events_url": "https://api.github.com/users/Nick3C/received_events", - "type": "User", - "site_admin": true - }, - "labels": [ - { - "id": 4, - "node_id": "MDU6TGFiZWw0", - "url": "https://api.github.com/repos/batterseapower/pinyin-toolkit/labels/bug", - "name": "bug", - "color": "ff0000" - } - ], - "state": "open", - "assignee": null, - "milestone": { - "url": "https://api.github.com/repos/octocat/Hello-World/milestones/1", - "html_url": "https://github.com/octocat/Hello-World/milestones/v1.0", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/milestones/1/labels", - "id": 1002604, - "node_id": "MDk6TWlsZXN0b25lMTAwMjYwNA==", - "number": 1, - "state": "open", - "title": "v1.0", - "description": "Tracking milestone for version 1.0", - "creator": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "open_issues": 4, - "closed_issues": 8, - "created_at": "2011-04-10T20:09:31Z", - "updated_at": "2014-03-03T18:58:10Z", - "closed_at": "2013-02-12T13:22:01Z", - "due_on": "2012-10-09T23:39:01Z" - }, - "comments": 15, - "created_at": "2009-07-12T20:10:41Z", - "updated_at": "2009-07-19T09:23:43Z", - "closed_at": null, - "pull_request": { - "url": "https://api/github.com/repos/octocat/Hello-World/pull/1347", - "html_url": "https://github.com/octocat/Hello-World/pull/1347", - "diff_url": "https://github.com/octocat/Hello-World/pull/1347.diff", - "patch_url": "https://api.github.com/repos/octocat/Hello-World/pulls/1347" - }, - "body": "...", - "score": 1, - "locked": true, - "author_association": "COLLABORATOR" - } - ] - } - }, - "label-search-result-item-paginated": { - "value": { - "total_count": 2, - "incomplete_results": false, - "items": [ - { - "id": 418327088, - "node_id": "MDU6TGFiZWw0MTgzMjcwODg=", - "url": "https://api.github.com/repos/octocat/linguist/labels/enhancement", - "name": "enhancement", - "color": "84b6eb", - "default": true, - "description": "New feature or request.", - "score": 1 - }, - { - "id": 418327086, - "node_id": "MDU6TGFiZWw0MTgzMjcwODY=", - "url": "https://api.github.com/repos/octocat/linguist/labels/bug", - "name": "bug", - "color": "ee0701", - "default": true, - "description": "Something isn't working.", - "score": 1 - } - ] - } - }, - "repo-search-result-item-paginated": { - "value": { - "total_count": 40, - "incomplete_results": false, - "items": [ - { - "id": 3081286, - "node_id": "MDEwOlJlcG9zaXRvcnkzMDgxMjg2", - "name": "Tetris", - "full_name": "dtrupenn/Tetris", - "owner": { - "login": "dtrupenn", - "id": 872147, - "node_id": "MDQ6VXNlcjg3MjE0Nw==", - "avatar_url": "https://secure.gravatar.com/avatar/e7956084e75f239de85d3a31bc172ace?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png", - "gravatar_id": "", - "url": "https://api.github.com/users/dtrupenn", - "received_events_url": "https://api.github.com/users/dtrupenn/received_events", - "type": "User", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "site_admin": true - }, - "private": false, - "html_url": "https://github.com/dtrupenn/Tetris", - "description": "A C implementation of Tetris using Pennsim through LC4", - "fork": false, - "url": "https://api.github.com/repos/dtrupenn/Tetris", - "created_at": "2012-01-01T00:31:50Z", - "updated_at": "2013-01-05T17:58:47Z", - "pushed_at": "2012-01-01T00:37:02Z", - "homepage": "https://github.com", - "size": 524, - "stargazers_count": 1, - "watchers_count": 1, - "language": "Assembly", - "forks_count": 0, - "open_issues_count": 0, - "master_branch": "master", - "default_branch": "master", - "score": 1, - "archive_url": "https://api.github.com/repos/dtrupenn/Tetris/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/dtrupenn/Tetris/assignees{/user}", - "blobs_url": "https://api.github.com/repos/dtrupenn/Tetris/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/dtrupenn/Tetris/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/dtrupenn/Tetris/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/dtrupenn/Tetris/comments{/number}", - "commits_url": "https://api.github.com/repos/dtrupenn/Tetris/commits{/sha}", - "compare_url": "https://api.github.com/repos/dtrupenn/Tetris/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/dtrupenn/Tetris/contents/{+path}", - "contributors_url": "https://api.github.com/repos/dtrupenn/Tetris/contributors", - "deployments_url": "https://api.github.com/repos/dtrupenn/Tetris/deployments", - "downloads_url": "https://api.github.com/repos/dtrupenn/Tetris/downloads", - "events_url": "https://api.github.com/repos/dtrupenn/Tetris/events", - "forks_url": "https://api.github.com/repos/dtrupenn/Tetris/forks", - "git_commits_url": "https://api.github.com/repos/dtrupenn/Tetris/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/dtrupenn/Tetris/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/dtrupenn/Tetris/git/tags{/sha}", - "git_url": "git:github.com/dtrupenn/Tetris.git", - "issue_comment_url": "https://api.github.com/repos/dtrupenn/Tetris/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/dtrupenn/Tetris/issues/events{/number}", - "issues_url": "https://api.github.com/repos/dtrupenn/Tetris/issues{/number}", - "keys_url": "https://api.github.com/repos/dtrupenn/Tetris/keys{/key_id}", - "labels_url": "https://api.github.com/repos/dtrupenn/Tetris/labels{/name}", - "languages_url": "https://api.github.com/repos/dtrupenn/Tetris/languages", - "merges_url": "https://api.github.com/repos/dtrupenn/Tetris/merges", - "milestones_url": "https://api.github.com/repos/dtrupenn/Tetris/milestones{/number}", - "notifications_url": "https://api.github.com/repos/dtrupenn/Tetris/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/dtrupenn/Tetris/pulls{/number}", - "releases_url": "https://api.github.com/repos/dtrupenn/Tetris/releases{/id}", - "ssh_url": "git@github.com:dtrupenn/Tetris.git", - "stargazers_url": "https://api.github.com/repos/dtrupenn/Tetris/stargazers", - "statuses_url": "https://api.github.com/repos/dtrupenn/Tetris/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/dtrupenn/Tetris/subscribers", - "subscription_url": "https://api.github.com/repos/dtrupenn/Tetris/subscription", - "tags_url": "https://api.github.com/repos/dtrupenn/Tetris/tags", - "teams_url": "https://api.github.com/repos/dtrupenn/Tetris/teams", - "trees_url": "https://api.github.com/repos/dtrupenn/Tetris/git/trees{/sha}", - "clone_url": "https://github.com/dtrupenn/Tetris.git", - "mirror_url": "git:git.example.com/dtrupenn/Tetris", - "hooks_url": "https://api.github.com/repos/dtrupenn/Tetris/hooks", - "svn_url": "https://svn.github.com/dtrupenn/Tetris", - "forks": 1, - "open_issues": 1, - "watchers": 1, - "has_issues": true, - "has_projects": true, - "has_pages": true, - "has_wiki": true, - "has_downloads": true, - "archived": true, - "disabled": true, - "license": { - "key": "mit", - "name": "MIT License", - "url": "https://api.github.com/licenses/mit", - "spdx_id": "MIT", - "node_id": "MDc6TGljZW5zZW1pdA==", - "html_url": "https://api.github.com/licenses/mit" - } - } - ] - } - }, - "topic-search-result-item-paginated": { - "value": { - "total_count": 6, - "incomplete_results": false, - "items": [ - { - "name": "ruby", - "display_name": "Ruby", - "short_description": "Ruby is a scripting language designed for simplified object-oriented programming.", - "description": "Ruby was developed by Yukihiro \"Matz\" Matsumoto in 1995 with the intent of having an easily readable programming language. It is integrated with the Rails framework to create dynamic web-applications. Ruby's syntax is similar to that of Perl and Python.", - "created_by": "Yukihiro Matsumoto", - "released": "December 21, 1995", - "created_at": "2016-11-28T22:03:59Z", - "updated_at": "2017-10-30T18:16:32Z", - "featured": true, - "curated": true, - "score": 1 - }, - { - "name": "rails", - "display_name": "Rails", - "short_description": "Ruby on Rails (Rails) is a web application framework written in Ruby.", - "description": "Ruby on Rails (Rails) is a web application framework written in Ruby. It is meant to help simplify the building of complex websites.", - "created_by": "David Heinemeier Hansson", - "released": "December 13 2005", - "created_at": "2016-12-09T17:03:50Z", - "updated_at": "2017-10-30T16:20:19Z", - "featured": true, - "curated": true, - "score": 1 - }, - { - "name": "python", - "display_name": "Python", - "short_description": "Python is a dynamically typed programming language.", - "description": "Python is a dynamically typed programming language designed by Guido Van Rossum. Much like the programming language Ruby, Python was designed to be easily read by programmers. Because of its large following and many libraries, Python can be implemented and used to do anything from webpages to scientific research.", - "created_by": "Guido van Rossum", - "released": "February 20, 1991", - "created_at": "2016-12-07T00:07:02Z", - "updated_at": "2017-10-27T22:45:43Z", - "featured": true, - "curated": true, - "score": 1 - }, - { - "name": "jekyll", - "display_name": "Jekyll", - "short_description": "Jekyll is a simple, blog-aware static site generator.", - "description": "Jekyll is a blog-aware, site generator written in Ruby. It takes raw text files, runs it through a renderer and produces a publishable static website.", - "created_by": "Tom Preston-Werner", - "released": "2008", - "created_at": "2016-12-16T21:53:08Z", - "updated_at": "2017-10-27T19:00:24Z", - "featured": true, - "curated": true, - "score": 1 - }, - { - "name": "sass", - "display_name": "Sass", - "short_description": "Sass is a stable extension to classic CSS.", - "description": "Sass is a stylesheet language with a main implementation in Ruby. It is an extension of CSS that makes improvements to the old stylesheet format, such as being able to declare variables and using a cleaner nesting syntax.", - "created_by": "Hampton Catlin, Natalie Weizenbaum, Chris Eppstein", - "released": "November 28, 2006", - "created_at": "2016-12-16T21:53:45Z", - "updated_at": "2018-01-16T16:30:40Z", - "featured": true, - "curated": true, - "score": 1 - }, - { - "name": "homebrew", - "display_name": "Homebrew", - "short_description": "Homebrew is a package manager for macOS.", - "description": "Homebrew is a package manager for Apple's macOS operating system. It simplifies the installation of software and is popular in the Ruby on Rails community.", - "created_by": "Max Howell", - "released": "2009", - "created_at": "2016-12-17T20:30:44Z", - "updated_at": "2018-02-06T16:14:56Z", - "featured": true, - "curated": true, - "score": 1 - } - ] - } - }, - "user-search-result-item-paginated": { - "value": { - "total_count": 12, - "incomplete_results": false, - "items": [ - { - "login": "mojombo", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://secure.gravatar.com/avatar/25c7c18223fb42a4c6ae1c8db6f50f9b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png", - "gravatar_id": "", - "url": "https://api.github.com/users/mojombo", - "html_url": "https://github.com/mojombo", - "followers_url": "https://api.github.com/users/mojombo/followers", - "subscriptions_url": "https://api.github.com/users/mojombo/subscriptions", - "organizations_url": "https://api.github.com/users/mojombo/orgs", - "repos_url": "https://api.github.com/users/mojombo/repos", - "received_events_url": "https://api.github.com/users/mojombo/received_events", - "type": "User", - "score": 1, - "following_url": "https://api.github.com/users/mojombo/following{/other_user}", - "gists_url": "https://api.github.com/users/mojombo/gists{/gist_id}", - "starred_url": "https://api.github.com/users/mojombo/starred{/owner}{/repo}", - "events_url": "https://api.github.com/users/mojombo/events{/privacy}", - "site_admin": true - } - ] - } - }, - "team-repository-alternative-response-with-extra-repository-information": { - "value": { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "clone_url": "https://github.com/octocat/Hello-World.git", - "mirror_url": "git:git.example.com/octocat/Hello-World", - "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", - "svn_url": "https://svn.github.com/octocat/Hello-World", - "homepage": "https://github.com", - "language": null, - "forks_count": 9, - "stargazers_count": 80, - "watchers_count": 80, - "size": 108, - "default_branch": "master", - "open_issues_count": 0, - "is_template": false, - "topics": ["octocat", "atom", "electron", "api"], - "has_issues": true, - "has_projects": true, - "has_wiki": true, - "has_pages": false, - "has_downloads": true, - "archived": false, - "disabled": false, - "visibility": "public", - "pushed_at": "2011-01-26T19:06:43Z", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "permissions": { "admin": false, "push": false, "pull": true }, - "allow_rebase_merge": true, - "template_repository": { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World-Template", - "full_name": "octocat/Hello-World-Template", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World-Template", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World-Template", - "archive_url": "https://api.github.com/repos/octocat/Hello-World-Template/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World-Template/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World-Template/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World-Template/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World-Template/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World-Template/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World-Template/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World-Template/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World-Template/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World-Template/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World-Template/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World-Template/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World-Template/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World-Template/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World-Template/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World-Template/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World-Template/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World-Template.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World-Template/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World-Template/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World-Template/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World-Template/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World-Template/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World-Template/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World-Template/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World-Template/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World-Template/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World-Template/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World-Template/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World-Template.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World-Template/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World-Template/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World-Template/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World-Template/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World-Template/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World-Template/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World-Template/git/trees{/sha}", - "clone_url": "https://github.com/octocat/Hello-World-Template.git", - "mirror_url": "git:git.example.com/octocat/Hello-World-Template", - "hooks_url": "https://api.github.com/repos/octocat/Hello-World-Template/hooks", - "svn_url": "https://svn.github.com/octocat/Hello-World-Template", - "homepage": "https://github.com", - "language": null, - "forks": 9, - "forks_count": 9, - "stargazers_count": 80, - "watchers_count": 80, - "watchers": 80, - "size": 108, - "default_branch": "master", - "open_issues": 0, - "open_issues_count": 0, - "is_template": true, - "license": { - "key": "mit", - "name": "MIT License", - "url": "https://api.github.com/licenses/mit", - "spdx_id": "MIT", - "node_id": "MDc6TGljZW5zZW1pdA==", - "html_url": "https://api.github.com/licenses/mit" - }, - "topics": ["octocat", "atom", "electron", "api"], - "has_issues": true, - "has_projects": true, - "has_wiki": true, - "has_pages": false, - "has_downloads": true, - "archived": false, - "disabled": false, - "visibility": "public", - "pushed_at": "2011-01-26T19:06:43Z", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "permissions": { "admin": false, "push": false, "pull": true }, - "allow_rebase_merge": true, - "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", - "allow_squash_merge": true, - "delete_branch_on_merge": true, - "allow_merge_commit": true, - "subscribers_count": 42, - "network_count": 0 - }, - "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", - "allow_squash_merge": true, - "delete_branch_on_merge": true, - "allow_merge_commit": true, - "subscribers_count": 42, - "network_count": 0, - "license": { - "key": "mit", - "name": "MIT License", - "url": "https://api.github.com/licenses/mit", - "spdx_id": "MIT", - "node_id": "MDc6TGljZW5zZW1pdA==", - "html_url": "https://api.github.com/licenses/mit" - }, - "forks": 1, - "open_issues": 1, - "watchers": 1 - } - }, - "group-mapping-2": { - "value": { - "groups": [ - { - "group_id": "123", - "group_name": "Octocat admins", - "group_description": "The people who configure your octoworld." - } - ] - } - }, - "private-user-response-with-public-and-private-profile-information": { - "summary": "Response with public and private profile information", - "value": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false, - "name": "monalisa octocat", - "company": "GitHub", - "blog": "https://github.com/blog", - "location": "San Francisco", - "email": "octocat@github.com", - "hireable": false, - "bio": "There once was...", - "twitter_username": "monatheoctocat", - "public_repos": 2, - "public_gists": 1, - "followers": 20, - "following": 0, - "created_at": "2008-01-14T04:33:35Z", - "updated_at": "2008-01-14T04:33:35Z", - "private_gists": 81, - "total_private_repos": 100, - "owned_private_repos": 100, - "disk_usage": 10000, - "collaborators": 8, - "two_factor_authentication": true, - "plan": { - "name": "Medium", - "space": 400, - "private_repos": 20, - "collaborators": 0 - } - } - }, - "private-user-response-with-public-profile-information": { - "summary": "Response with public profile information", - "value": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false, - "name": "monalisa octocat", - "company": "GitHub", - "blog": "https://github.com/blog", - "location": "San Francisco", - "email": "octocat@github.com", - "hireable": false, - "bio": "There once was...", - "twitter_username": "monatheoctocat", - "public_repos": 2, - "public_gists": 1, - "followers": 20, - "following": 0, - "created_at": "2008-01-14T04:33:35Z", - "updated_at": "2008-01-14T04:33:35Z" - } - }, - "private-user": { - "value": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false, - "name": "monalisa octocat", - "company": "GitHub", - "blog": "https://github.com/blog", - "location": "San Francisco", - "email": "octocat@github.com", - "hireable": false, - "bio": "There once was...", - "twitter_username": "monatheoctocat", - "public_repos": 2, - "public_gists": 1, - "followers": 20, - "following": 0, - "created_at": "2008-01-14T04:33:35Z", - "updated_at": "2008-01-14T04:33:35Z", - "private_gists": 81, - "total_private_repos": 100, - "owned_private_repos": 100, - "disk_usage": 10000, - "collaborators": 8, - "two_factor_authentication": true, - "plan": { - "name": "Medium", - "space": 400, - "private_repos": 20, - "collaborators": 0 - } - } - }, - "email-items-3": { - "value": [ - { - "email": "octocat@github.com", - "primary": true, - "verified": true, - "visibility": "private" - } - ] - }, - "email-items-2": { - "value": [ - { - "email": "octocat@github.com", - "verified": true, - "primary": true, - "visibility": "public" - } - ] - }, - "email-items": { - "value": [ - { - "email": "octocat@octocat.org", - "primary": false, - "verified": false, - "visibility": "public" - }, - { - "email": "octocat@github.com", - "primary": false, - "verified": false, - "visibility": null - }, - { - "email": "mona@github.com", - "primary": false, - "verified": false, - "visibility": null - } - ] - }, - "gpg-key-items": { - "value": [ - { - "id": 3, - "primary_key_id": 2, - "key_id": "3262EFF25BA0D270", - "public_key": "xsBNBFayYZ...", - "emails": [ - { - "email": "mastahyeti@users.noreply.github.com", - "verified": true - } - ], - "subkeys": [ - { - "id": 4, - "primary_key_id": 3, - "key_id": "4A595D4C72EE49C7", - "public_key": "zsBNBFayYZ...", - "emails": [], - "subkeys": [], - "can_sign": false, - "can_encrypt_comms": true, - "can_encrypt_storage": true, - "can_certify": false, - "created_at": "2016-03-24T11:31:04-06:00", - "expires_at": "2016-03-24T11:31:04-07:00" - } - ], - "can_sign": true, - "can_encrypt_comms": false, - "can_encrypt_storage": false, - "can_certify": true, - "created_at": "2016-03-24T11:31:04-06:00", - "expires_at": "2016-03-24T11:31:04-07:00", - "raw_key": "string" - } - ] - }, - "gpg-key": { - "value": { - "id": 3, - "primary_key_id": 2, - "key_id": "3262EFF25BA0D270", - "public_key": "xsBNBFayYZ...", - "emails": [ - { "email": "mastahyeti@users.noreply.github.com", "verified": true } - ], - "subkeys": [ - { - "id": 4, - "primary_key_id": 3, - "key_id": "4A595D4C72EE49C7", - "public_key": "zsBNBFayYZ...", - "emails": [], - "subkeys": [], - "can_sign": false, - "can_encrypt_comms": true, - "can_encrypt_storage": true, - "can_certify": false, - "created_at": "2016-03-24T11:31:04-06:00", - "expires_at": "2016-03-24T11:31:04-07:00" - } - ], - "can_sign": true, - "can_encrypt_comms": false, - "can_encrypt_storage": false, - "can_certify": true, - "created_at": "2016-03-24T11:31:04-06:00", - "expires_at": "2016-03-24T11:31:04-07:00", - "raw_key": "\"-----BEGIN PGP PUBLIC KEY BLOCK-----\\nVersion: GnuPG v2\\n\\n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\\nIts/HFYRLiFgDLmTlxo=\\n=+OzK\\n-----END PGP PUBLIC KEY BLOCK-----\"" - } - }, - "base-installation-for-auth-user-paginated": { - "value": { - "total_count": 2, - "installations": [ - { - "id": 1, - "account": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "access_tokens_url": "https://api.github.com/installations/1/access_tokens", - "repositories_url": "https://api.github.com/installation/repositories", - "html_url": "https://github.com/organizations/github/settings/installations/1", - "app_id": 1, - "target_id": 1, - "target_type": "Organization", - "permissions": { - "checks": "write", - "metadata": "read", - "contents": "read" - }, - "events": ["push", "pull_request"], - "single_file_name": "config.yaml", - "has_multiple_single_files": true, - "single_file_paths": ["config.yml", ".github/issue_TEMPLATE.md"], - "repository_selection": "all", - "created_at": "2017-07-08T16:18:44-04:00", - "updated_at": "2017-07-08T16:18:44-04:00", - "app_slug": "github-actions" - }, - { - "id": 3, - "account": { - "login": "octocat", - "id": 2, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "access_tokens_url": "https://api.github.com/installations/1/access_tokens", - "repositories_url": "https://api.github.com/installation/repositories", - "html_url": "https://github.com/organizations/github/settings/installations/1", - "app_id": 1, - "target_id": 1, - "target_type": "Organization", - "permissions": { - "checks": "write", - "metadata": "read", - "contents": "read" - }, - "events": ["push", "pull_request"], - "single_file_name": "config.yaml", - "has_multiple_single_files": true, - "single_file_paths": ["config.yml", ".github/issue_TEMPLATE.md"], - "repository_selection": "all", - "created_at": "2017-07-08T16:18:44-04:00", - "updated_at": "2017-07-08T16:18:44-04:00", - "app_slug": "github-actions" - } - ] - } - }, - "interaction-limit-user": { - "value": { - "limit": "collaborators_only", - "origin": "user", - "expires_at": "2018-08-17T04:18:39Z" - } - }, - "key-items": { - "value": [ - { - "key_id": "012345678912345678", - "key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234", - "id": 2, - "url": "https://api.github.com/user/keys/2", - "title": "ssh-rsa AAAAB3NzaC1yc2EAAA", - "created_at": "2020-06-11T21:31:57Z", - "verified": false, - "read_only": false - }, - { - "key_id": "012345678912345608", - "key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJy931234", - "id": 3, - "url": "https://api.github.com/user/keys/3", - "title": "ssh-rsa AAAAB3NzaC1yc2EAAB", - "created_at": "2020-07-11T21:31:57Z", - "verified": false, - "read_only": false - } - ] - }, - "key": { - "value": { - "key_id": "012345678912345678", - "key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234", - "id": 2, - "url": "https://api.github.com/user/keys/2", - "title": "ssh-rsa AAAAB3NzaC1yc2EAAA", - "created_at": "2020-06-11T21:31:57Z", - "verified": false, - "read_only": false - } - }, - "user-marketplace-purchase-items": { - "value": [ - { - "billing_cycle": "monthly", - "next_billing_date": "2017-11-11T00:00:00Z", - "unit_count": null, - "on_free_trial": true, - "free_trial_ends_on": "2017-11-11T00:00:00Z", - "updated_at": "2017-11-02T01:12:12Z", - "account": { - "login": "github", - "id": 4, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", - "url": "https://api.github.com/orgs/github", - "email": null, - "organization_billing_email": "billing@github.com", - "type": "Organization" - }, - "plan": { - "url": "https://api.github.com/marketplace_listing/plans/1313", - "accounts_url": "https://api.github.com/marketplace_listing/plans/1313/accounts", - "id": 1313, - "number": 3, - "name": "Pro", - "description": "A professional-grade CI solution", - "monthly_price_in_cents": 1099, - "yearly_price_in_cents": 11870, - "price_model": "flat-rate", - "has_free_trial": true, - "unit_name": null, - "state": "published", - "bullets": [ - "Up to 25 private repositories", - "11 concurrent builds" - ] - } - } - ] - }, - "org-membership-items": { - "value": [ - { - "url": "https://api.github.com/orgs/octocat/memberships/defunkt", - "state": "active", - "role": "admin", - "organization_url": "https://api.github.com/orgs/octocat", - "organization": { - "login": "github", - "id": 1, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", - "url": "https://api.github.com/orgs/github", - "repos_url": "https://api.github.com/orgs/github/repos", - "events_url": "https://api.github.com/orgs/github/events", - "hooks_url": "https://api.github.com/orgs/github/hooks", - "issues_url": "https://api.github.com/orgs/github/issues", - "members_url": "https://api.github.com/orgs/github/members{/member}", - "public_members_url": "https://api.github.com/orgs/github/public_members{/member}", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "description": "A great organization" - }, - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - } - }, - { - "url": "https://api.github.com/orgs/invitocat/memberships/defunkt", - "state": "pending", - "role": "admin", - "organization_url": "https://api.github.com/orgs/invitocat", - "organization": { - "login": "github", - "id": 1, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", - "url": "https://api.github.com/orgs/github", - "repos_url": "https://api.github.com/orgs/github/repos", - "events_url": "https://api.github.com/orgs/github/events", - "hooks_url": "https://api.github.com/orgs/github/hooks", - "issues_url": "https://api.github.com/orgs/github/issues", - "members_url": "https://api.github.com/orgs/github/members{/member}", - "public_members_url": "https://api.github.com/orgs/github/public_members{/member}", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "description": "A great organization" - }, - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - } - } - ] - }, - "org-membership": { - "value": { - "url": "https://api.github.com/orgs/invitocat/memberships/defunkt", - "state": "pending", - "role": "admin", - "organization_url": "https://api.github.com/orgs/invitocat", - "organization": { - "login": "github", - "id": 1, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", - "url": "https://api.github.com/orgs/github", - "repos_url": "https://api.github.com/orgs/github/repos", - "events_url": "https://api.github.com/orgs/github/events", - "hooks_url": "https://api.github.com/orgs/github/hooks", - "issues_url": "https://api.github.com/orgs/github/issues", - "members_url": "https://api.github.com/orgs/github/members{/member}", - "public_members_url": "https://api.github.com/orgs/github/public_members{/member}", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "description": "A great organization" - }, - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - } - } - }, - "org-membership-2": { - "value": { - "url": "https://api.github.com/orgs/octocat/memberships/defunkt", - "state": "active", - "role": "admin", - "organization_url": "https://api.github.com/orgs/octocat", - "organization": { - "login": "github", - "id": 1, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", - "url": "https://api.github.com/orgs/github", - "repos_url": "https://api.github.com/orgs/github/repos", - "events_url": "https://api.github.com/orgs/github/events", - "hooks_url": "https://api.github.com/orgs/github/hooks", - "issues_url": "https://api.github.com/orgs/github/issues", - "members_url": "https://api.github.com/orgs/github/members{/member}", - "public_members_url": "https://api.github.com/orgs/github/public_members{/member}", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "description": "A great organization" - }, - "user": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - } - } - }, - "migration-items": { - "value": [ - { - "id": 79, - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "guid": "0b989ba4-242f-11e5-81e1-c7b6966d2516", - "state": "pending", - "lock_repositories": true, - "exclude_attachments": false, - "repositories": [ - { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "clone_url": "https://github.com/octocat/Hello-World.git", - "mirror_url": "git:git.example.com/octocat/Hello-World", - "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", - "svn_url": "https://svn.github.com/octocat/Hello-World", - "homepage": "https://github.com", - "language": null, - "forks_count": 9, - "stargazers_count": 80, - "watchers_count": 80, - "size": 108, - "default_branch": "master", - "open_issues_count": 0, - "is_template": true, - "topics": ["octocat", "atom", "electron", "api"], - "has_issues": true, - "has_projects": true, - "has_wiki": true, - "has_pages": false, - "has_downloads": true, - "archived": false, - "disabled": false, - "visibility": "public", - "pushed_at": "2011-01-26T19:06:43Z", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "permissions": { "admin": false, "push": false, "pull": true }, - "allow_rebase_merge": true, - "template_repository": null, - "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", - "allow_squash_merge": true, - "delete_branch_on_merge": true, - "allow_merge_commit": true, - "subscribers_count": 42, - "network_count": 0, - "license": { - "key": "mit", - "name": "MIT License", - "url": "https://api.github.com/licenses/mit", - "spdx_id": "MIT", - "node_id": "MDc6TGljZW5zZW1pdA==", - "html_url": "https://api.github.com/licenses/mit" - }, - "forks": 1, - "open_issues": 1, - "watchers": 1 - } - ], - "url": "https://api.github.com/orgs/octo-org/migrations/79", - "created_at": "2015-07-06T15:33:38-07:00", - "updated_at": "2015-07-06T15:33:38-07:00", - "node_id": "MDQ6VXNlcjE=" - } - ] - }, - "migration-2": { - "value": { - "id": 79, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "guid": "0b989ba4-242f-11e5-81e1-c7b6966d2516", - "state": "pending", - "lock_repositories": true, - "exclude_attachments": false, - "repositories": [ - { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "clone_url": "https://github.com/octocat/Hello-World.git", - "mirror_url": "git:git.example.com/octocat/Hello-World", - "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", - "svn_url": "https://svn.github.com/octocat/Hello-World", - "homepage": "https://github.com", - "language": null, - "forks_count": 9, - "stargazers_count": 80, - "watchers_count": 80, - "size": 108, - "default_branch": "master", - "open_issues_count": 0, - "is_template": true, - "topics": ["octocat", "atom", "electron", "api"], - "has_issues": true, - "has_projects": true, - "has_wiki": true, - "has_pages": false, - "has_downloads": true, - "archived": false, - "disabled": false, - "visibility": "public", - "pushed_at": "2011-01-26T19:06:43Z", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "permissions": { "admin": false, "push": false, "pull": true }, - "allow_rebase_merge": true, - "template_repository": null, - "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", - "allow_squash_merge": true, - "delete_branch_on_merge": true, - "allow_merge_commit": true, - "subscribers_count": 42, - "network_count": 0, - "license": { - "key": "mit", - "name": "MIT License", - "url": "https://api.github.com/licenses/mit", - "spdx_id": "MIT", - "node_id": "MDc6TGljZW5zZW1pdA==", - "html_url": "https://api.github.com/licenses/mit" - }, - "forks": 1, - "open_issues": 1, - "watchers": 1 - } - ], - "url": "https://api.github.com/orgs/octo-org/migrations/79", - "created_at": "2015-07-06T15:33:38-07:00", - "updated_at": "2015-07-06T15:33:38-07:00" - } - }, - "migration": { - "value": { - "id": 79, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "guid": "0b989ba4-242f-11e5-81e1-c7b6966d2516", - "state": "exported", - "lock_repositories": true, - "exclude_attachments": false, - "repositories": [ - { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "clone_url": "https://github.com/octocat/Hello-World.git", - "mirror_url": "git:git.example.com/octocat/Hello-World", - "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", - "svn_url": "https://svn.github.com/octocat/Hello-World", - "homepage": "https://github.com", - "language": null, - "forks_count": 9, - "stargazers_count": 80, - "watchers_count": 80, - "size": 108, - "default_branch": "master", - "open_issues_count": 0, - "is_template": true, - "topics": ["octocat", "atom", "electron", "api"], - "has_issues": true, - "has_projects": true, - "has_wiki": true, - "has_pages": false, - "has_downloads": true, - "archived": false, - "disabled": false, - "visibility": "public", - "pushed_at": "2011-01-26T19:06:43Z", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "permissions": { "admin": false, "push": false, "pull": true }, - "allow_rebase_merge": true, - "template_repository": null, - "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", - "allow_squash_merge": true, - "delete_branch_on_merge": true, - "allow_merge_commit": true, - "subscribers_count": 42, - "network_count": 0, - "license": { - "key": "mit", - "name": "MIT License", - "url": "https://api.github.com/licenses/mit", - "spdx_id": "MIT", - "node_id": "MDc6TGljZW5zZW1pdA==", - "html_url": "https://api.github.com/licenses/mit" - }, - "forks": 1, - "open_issues": 1, - "watchers": 1 - } - ], - "url": "https://api.github.com/orgs/octo-org/migrations/79", - "created_at": "2015-07-06T15:33:38-07:00", - "updated_at": "2015-07-06T15:33:38-07:00" - } - }, - "project": { - "value": { - "owner_url": "https://api.github.com/users/octocat", - "url": "https://api.github.com/projects/1002603", - "html_url": "https://github.com/users/octocat/projects/1", - "columns_url": "https://api.github.com/projects/1002603/columns", - "id": 1002603, - "node_id": "MDc6UHJvamVjdDEwMDI2MDM=", - "name": "My Projects", - "body": "A board to manage my personal projects.", - "number": 1, - "state": "open", - "creator": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "created_at": "2011-04-10T20:09:31Z", - "updated_at": "2014-03-03T18:58:10Z" - } - }, - "repository-items-default-response": { - "summary": "Default response", - "value": [ - { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "clone_url": "https://github.com/octocat/Hello-World.git", - "mirror_url": "git:git.example.com/octocat/Hello-World", - "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", - "svn_url": "https://svn.github.com/octocat/Hello-World", - "homepage": "https://github.com", - "language": null, - "forks_count": 9, - "stargazers_count": 80, - "watchers_count": 80, - "size": 108, - "default_branch": "master", - "open_issues_count": 0, - "is_template": true, - "topics": ["octocat", "atom", "electron", "api"], - "has_issues": true, - "has_projects": true, - "has_wiki": true, - "has_pages": false, - "has_downloads": true, - "archived": false, - "disabled": false, - "visibility": "public", - "pushed_at": "2011-01-26T19:06:43Z", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "permissions": { "admin": false, "push": false, "pull": true }, - "allow_rebase_merge": true, - "template_repository": null, - "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", - "allow_squash_merge": true, - "delete_branch_on_merge": true, - "allow_merge_commit": true, - "subscribers_count": 42, - "network_count": 0, - "license": { - "key": "mit", - "name": "MIT License", - "url": "https://api.github.com/licenses/mit", - "spdx_id": "MIT", - "node_id": "MDc6TGljZW5zZW1pdA==", - "html_url": "https://github.com/licenses/mit" - }, - "forks": 1, - "open_issues": 1, - "watchers": 1 - } - ] - }, - "starred-repository-items-alternative-response-with-star-creation-timestamps": { - "summary": "Alternative response with star creation timestamps", - "value": [ - { - "starred_at": "2011-01-16T19:06:43Z", - "repo": { - "id": 1296269, - "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", - "name": "Hello-World", - "full_name": "octocat/Hello-World", - "owner": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "private": false, - "html_url": "https://github.com/octocat/Hello-World", - "description": "This your first repo!", - "fork": false, - "url": "https://api.github.com/repos/octocat/Hello-World", - "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", - "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", - "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", - "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", - "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", - "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", - "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", - "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", - "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", - "events_url": "https://api.github.com/repos/octocat/Hello-World/events", - "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", - "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", - "git_url": "git:github.com/octocat/Hello-World.git", - "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", - "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", - "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", - "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", - "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", - "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", - "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", - "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", - "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", - "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", - "ssh_url": "git@github.com:octocat/Hello-World.git", - "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", - "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", - "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", - "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", - "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", - "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", - "clone_url": "https://github.com/octocat/Hello-World.git", - "mirror_url": "git:git.example.com/octocat/Hello-World", - "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", - "svn_url": "https://svn.github.com/octocat/Hello-World", - "homepage": "https://github.com", - "language": null, - "forks_count": 9, - "stargazers_count": 80, - "watchers_count": 80, - "size": 108, - "default_branch": "master", - "open_issues_count": 0, - "is_template": true, - "topics": ["octocat", "atom", "electron", "api"], - "has_issues": true, - "has_projects": true, - "has_wiki": true, - "has_pages": false, - "has_downloads": true, - "archived": false, - "disabled": false, - "visibility": "public", - "pushed_at": "2011-01-26T19:06:43Z", - "created_at": "2011-01-26T19:01:12Z", - "updated_at": "2011-01-26T19:14:43Z", - "permissions": { "admin": false, "push": false, "pull": true }, - "allow_rebase_merge": true, - "template_repository": null, - "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", - "allow_squash_merge": true, - "delete_branch_on_merge": true, - "allow_merge_commit": true, - "subscribers_count": 42, - "network_count": 0, - "license": { - "key": "mit", - "name": "MIT License", - "url": "https://api.github.com/licenses/mit", - "spdx_id": "MIT", - "node_id": "MDc6TGljZW5zZW1pdA==", - "html_url": "https://github.com/licenses/mit" - }, - "forks": 1, - "open_issues": 1, - "watchers": 1 - } - } - ] - }, - "team-full-items": { - "value": [ - { - "id": 1, - "node_id": "MDQ6VGVhbTE=", - "url": "https://api.github.com/teams/1", - "html_url": "https://github.com/orgs/github/teams/justice-league", - "name": "Justice League", - "slug": "justice-league", - "description": "A great team.", - "privacy": "closed", - "permission": "admin", - "members_url": "https://api.github.com/teams/1/members{/member}", - "repositories_url": "https://api.github.com/teams/1/repos", - "parent": null, - "members_count": 3, - "repos_count": 10, - "created_at": "2017-07-14T16:53:42Z", - "updated_at": "2017-08-17T12:37:15Z", - "organization": { - "login": "github", - "id": 1, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", - "url": "https://api.github.com/orgs/github", - "repos_url": "https://api.github.com/orgs/github/repos", - "events_url": "https://api.github.com/orgs/github/events", - "hooks_url": "https://api.github.com/orgs/github/hooks", - "issues_url": "https://api.github.com/orgs/github/issues", - "members_url": "https://api.github.com/orgs/github/members{/member}", - "public_members_url": "https://api.github.com/orgs/github/public_members{/member}", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "description": "A great organization", - "name": "github", - "company": "GitHub", - "blog": "https://github.com/blog", - "location": "San Francisco", - "email": "octocat@github.com", - "is_verified": true, - "has_organization_projects": true, - "has_repository_projects": true, - "public_repos": 2, - "public_gists": 1, - "followers": 20, - "following": 0, - "html_url": "https://github.com/octocat", - "created_at": "2008-01-14T04:33:35Z", - "updated_at": "2017-08-17T12:37:15Z", - "type": "Organization" - } - } - ] - }, - "public-user-default-response": { - "summary": "Default response", - "value": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false, - "name": "monalisa octocat", - "company": "GitHub", - "blog": "https://github.com/blog", - "location": "San Francisco", - "email": "octocat@github.com", - "hireable": false, - "bio": "There once was...", - "twitter_username": "monatheoctocat", - "public_repos": 2, - "public_gists": 1, - "followers": 20, - "following": 0, - "created_at": "2008-01-14T04:33:35Z", - "updated_at": "2008-01-14T04:33:35Z" - } - }, - "public-user-response-with-git-hub-plan-information": { - "summary": "Response with GitHub plan information", - "value": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false, - "name": "monalisa octocat", - "company": "GitHub", - "blog": "https://github.com/blog", - "location": "San Francisco", - "email": "octocat@github.com", - "hireable": false, - "bio": "There once was...", - "twitter_username": "monatheoctocat", - "public_repos": 2, - "public_gists": 1, - "followers": 20, - "following": 0, - "created_at": "2008-01-14T04:33:35Z", - "updated_at": "2008-01-14T04:33:35Z", - "plan": { - "name": "pro", - "space": 976562499, - "collaborators": 0, - "private_repos": 9999 - } - } - }, - "hovercard": { - "value": { - "contexts": [{ "message": "Owns this repository", "octicon": "repo" }] - } - }, - "key-simple-items": { "value": [{ "id": 1, "key": "ssh-rsa AAA..." }] }, - "project-items-3": { - "value": [ - { - "owner_url": "https://api.github.com/users/octocat", - "url": "https://api.github.com/projects/1002603", - "html_url": "https://github.com/users/octocat/projects/1", - "columns_url": "https://api.github.com/projects/1002603/columns", - "id": 1002603, - "node_id": "MDc6UHJvamVjdDEwMDI2MDM=", - "name": "My Projects", - "body": "A board to manage my personal projects.", - "number": 1, - "state": "open", - "creator": { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "created_at": "2011-04-10T20:09:31Z", - "updated_at": "2014-03-03T18:58:10Z" - } - ] - } - }, - "responses": { - "not_found": { - "description": "Resource Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/basic-error" } - } - } - }, - "validation_failed_simple": { - "description": "Validation Failed", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/validation-error-simple" } - } - } - }, - "preview_header_missing": { - "description": "Preview Header Missing", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["message", "documentation_url"], - "properties": { - "message": { "type": "string" }, - "documentation_url": { "type": "string" } - } - } - } - } - }, - "forbidden": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/basic-error" } - } - } - }, - "requires_authentication": { - "description": "Requires Authentication", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/basic-error" } - } - } - }, - "validation_failed": { - "description": "Validation Failed", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/validation-error" } - } - } - }, - "not_modified": { "description": "Not Modified" }, - "gone": { - "description": "Gone", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/basic-error" } - } - } - }, - "service_unavailable": { - "description": "Service Unavailable", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "code": { "type": "string" }, - "message": { "type": "string" }, - "documentation_url": { "type": "string" } - } - } - } - } - }, - "forbidden_gist": { - "description": "Forbidden Gist", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "block": { - "type": "object", - "properties": { - "reason": { "type": "string" }, - "created_at": { "type": "string" }, - "html_url": { "type": "string", "nullable": true } - } - }, - "message": { "type": "string" }, - "documentation_url": { "type": "string" } - } - } - } - } - }, - "moved_permanently": { "description": "Moved Permanently" }, - "conflict": { - "description": "Conflict", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/basic-error" } - } - } - }, - "internal_error": { - "description": "Internal Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/basic-error" } - } - } - }, - "bad_request": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/basic-error" } - }, - "application/scim+json": { - "schema": { "$ref": "#/components/schemas/scim-error" } - } - } - }, - "found": { "description": "Found" }, - "scim_not_found": { - "description": "Resource Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/scim-error" } - }, - "application/scim+json": { - "schema": { "$ref": "#/components/schemas/scim-error" } - } - } - }, - "scim_forbidden": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/scim-error" } - }, - "application/scim+json": { - "schema": { "$ref": "#/components/schemas/scim-error" } - } - } - }, - "scim_bad_request": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/scim-error" } - }, - "application/scim+json": { - "schema": { "$ref": "#/components/schemas/scim-error" } - } - } - }, - "scim_internal_error": { - "description": "Internal Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/scim-error" } - }, - "application/scim+json": { - "schema": { "$ref": "#/components/schemas/scim-error" } - } - } - }, - "scim_conflict": { - "description": "Conflict", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/scim-error" } - }, - "application/scim+json": { - "schema": { "$ref": "#/components/schemas/scim-error" } - } - } - } - }, - "parameters": { - "per_page": { - "name": "per_page", - "description": "Results per page (max 100)", - "in": "query", - "schema": { "type": "integer", "default": 30 } - }, - "page": { - "name": "page", - "description": "Page number of the results to fetch.", - "in": "query", - "schema": { "type": "integer", "default": 1 } - }, - "since": { - "name": "since", - "description": "Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", - "in": "query", - "required": false, - "schema": { "type": "string" } - }, - "installation_id": { - "name": "installation_id", - "description": "installation_id parameter", - "in": "path", - "required": true, - "schema": { "type": "integer" } - }, - "grant_id": { - "name": "grant_id", - "description": "grant_id parameter", - "in": "path", - "required": true, - "schema": { "type": "integer" } - }, - "client-id": { - "name": "client_id", - "in": "path", - "required": true, - "description": "The client ID of your GitHub app.", - "schema": { "type": "string" } - }, - "access-token": { - "name": "access_token", - "in": "path", - "required": true, - "schema": { "type": "string" } - }, - "app_slug": { - "name": "app_slug", - "in": "path", - "required": true, - "schema": { "type": "string" } - }, - "authorization_id": { - "name": "authorization_id", - "description": "authorization_id parameter", - "in": "path", - "required": true, - "schema": { "type": "integer" } - }, - "enterprise": { - "name": "enterprise", - "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", - "in": "path", - "required": true, - "schema": { "type": "string" } - }, - "org_id": { - "name": "org_id", - "description": "Unique identifier of an organization.", - "in": "path", - "required": true, - "schema": { "type": "integer" } - }, - "runner_group_id": { - "name": "runner_group_id", - "description": "Unique identifier of the self-hosted runner group.", - "in": "path", - "required": true, - "schema": { "type": "integer" } - }, - "runner_id": { - "name": "runner_id", - "description": "Unique identifier of the self-hosted runner.", - "in": "path", - "required": true, - "schema": { "type": "integer" } - }, - "audit-log-phrase": { - "name": "phrase", - "description": "A search phrase. For more information, see [Searching the audit log](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization#searching-the-audit-log).", - "in": "query", - "required": false, - "schema": { "type": "string" } - }, - "audit-log-include": { - "name": "include", - "description": "The event types to include:\n\n- `web` - returns web (non-Git) events\n- `git` - returns Git events\n- `all` - returns both web and Git events\n\nThe default is `web`.", - "in": "query", - "required": false, - "schema": { "type": "string", "enum": ["web", "git", "all"] } - }, - "audit-log-after": { - "name": "after", - "description": "A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor.", - "in": "query", - "required": false, - "schema": { "type": "string" } - }, - "audit-log-before": { - "name": "before", - "description": "A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor.", - "in": "query", - "required": false, - "schema": { "type": "string" } - }, - "audit-log-order": { - "name": "order", - "description": "The order of audit log events. To list newest events first, specify `desc`. To list oldest events first, specify `asc`.\n\nThe default is `desc`.", - "in": "query", - "required": false, - "schema": { "type": "string", "enum": ["desc", "asc"] } - }, - "gist_id": { - "name": "gist_id", - "description": "gist_id parameter", - "in": "path", - "required": true, - "schema": { "type": "string" } - }, - "comment_id": { - "name": "comment_id", - "description": "comment_id parameter", - "in": "path", - "required": true, - "schema": { "type": "integer" } - }, - "labels": { - "name": "labels", - "description": "A list of comma separated label names. Example: `bug,ui,@high`", - "in": "query", - "required": false, - "schema": { "type": "string" } - }, - "direction": { - "name": "direction", - "description": "One of `asc` (ascending) or `desc` (descending).", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["asc", "desc"], - "default": "desc" - } - }, - "account_id": { - "name": "account_id", - "description": "account_id parameter", - "in": "path", - "required": true, - "schema": { "type": "integer" } - }, - "plan_id": { - "name": "plan_id", - "description": "plan_id parameter", - "in": "path", - "required": true, - "schema": { "type": "integer" } - }, - "sort": { - "name": "sort", - "description": "One of `created` (when the repository was starred) or `updated` (when it was last pushed to).", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["created", "updated"], - "default": "created" - } - }, - "owner": { - "name": "owner", - "in": "path", - "required": true, - "schema": { "type": "string" } - }, - "repo": { - "name": "repo", - "in": "path", - "required": true, - "schema": { "type": "string" } - }, - "all": { - "name": "all", - "description": "If `true`, show notifications marked as read.", - "in": "query", - "required": false, - "schema": { "type": "boolean", "default": false } - }, - "participating": { - "name": "participating", - "description": "If `true`, only shows notifications in which the user is directly participating or mentioned.", - "in": "query", - "required": false, - "schema": { "type": "boolean", "default": false } - }, - "before": { - "name": "before", - "description": "Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", - "in": "query", - "required": false, - "schema": { "type": "string" } - }, - "thread_id": { - "name": "thread_id", - "description": "thread_id parameter", - "in": "path", - "required": true, - "schema": { "type": "integer" } - }, - "since-org": { - "name": "since", - "description": "An organization ID. Only return organizations with an ID greater than this ID.", - "in": "query", - "required": false, - "schema": { "type": "integer" } - }, - "org": { - "name": "org", - "in": "path", - "required": true, - "schema": { "type": "string" } - }, - "repository_id": { - "name": "repository_id", - "in": "path", - "required": true, - "schema": { "type": "integer" } - }, - "secret_name": { - "name": "secret_name", - "description": "secret_name parameter", - "in": "path", - "required": true, - "schema": { "type": "string" } - }, - "username": { - "name": "username", - "in": "path", - "required": true, - "schema": { "type": "string" } - }, - "hook-id": { - "name": "hook_id", - "in": "path", - "required": true, - "schema": { "type": "integer" } - }, - "invitation_id": { - "name": "invitation_id", - "description": "invitation_id parameter", - "in": "path", - "required": true, - "schema": { "type": "integer" } - }, - "migration_id": { - "name": "migration_id", - "description": "migration_id parameter", - "in": "path", - "required": true, - "schema": { "type": "integer" } - }, - "repo_name": { - "name": "repo_name", - "description": "repo_name parameter", - "in": "path", - "required": true, - "schema": { "type": "string" } - }, - "team_slug": { - "name": "team_slug", - "description": "team_slug parameter", - "in": "path", - "required": true, - "schema": { "type": "string" } - }, - "discussion-number": { - "name": "discussion_number", - "in": "path", - "required": true, - "schema": { "type": "integer" } - }, - "comment-number": { - "name": "comment_number", - "in": "path", - "required": true, - "schema": { "type": "integer" } - }, - "reaction-id": { - "name": "reaction_id", - "in": "path", - "required": true, - "schema": { "type": "integer" } - }, - "project-id": { - "name": "project_id", - "in": "path", - "required": true, - "schema": { "type": "integer" } - }, - "card_id": { - "name": "card_id", - "description": "card_id parameter", - "in": "path", - "required": true, - "schema": { "type": "integer" } - }, - "column_id": { - "name": "column_id", - "description": "column_id parameter", - "in": "path", - "required": true, - "schema": { "type": "integer" } - }, - "artifact_id": { - "name": "artifact_id", - "description": "artifact_id parameter", - "in": "path", - "required": true, - "schema": { "type": "integer" } - }, - "job_id": { - "name": "job_id", - "description": "job_id parameter", - "in": "path", - "required": true, - "schema": { "type": "integer" } - }, - "actor": { - "name": "actor", - "description": "Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run.", - "in": "query", - "required": false, - "schema": { "type": "string" } - }, - "workflow-run-branch": { - "name": "branch", - "description": "Returns workflow runs associated with a branch. Use the name of the branch of the `push`.", - "in": "query", - "required": false, - "schema": { "type": "string" } - }, - "event": { - "name": "event", - "description": "Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see \"[Events that trigger workflows](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows).\"", - "in": "query", - "required": false, - "schema": { "type": "string" } - }, - "workflow-run-status": { - "name": "status", - "description": "Returns workflow runs associated with the check run `status` or `conclusion` you specify. For example, a conclusion can be `success` or a status can be `completed`. For more information, see the `status` and `conclusion` options available in \"[Create a check run](https://docs.github.com/rest/reference/checks#create-a-check-run).\"", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["completed", "status", "conclusion"] - } - }, - "run-id": { - "name": "run_id", - "in": "path", - "required": true, - "schema": { "type": "integer" } - }, - "workflow-id": { - "name": "workflow_id", - "in": "path", - "description": "The ID of the workflow. You can also pass the workflow file name as a string.", - "required": true, - "schema": { "oneOf": [{ "type": "integer" }, { "type": "string" }] } - }, - "branch": { - "name": "branch", - "description": "The name of the branch.", - "in": "path", - "required": true, - "schema": { "type": "string" }, - "x-multi-segment": true - }, - "check_run_id": { - "name": "check_run_id", - "description": "check_run_id parameter", - "in": "path", - "required": true, - "schema": { "type": "integer" } - }, - "check_suite_id": { - "name": "check_suite_id", - "description": "check_suite_id parameter", - "in": "path", - "required": true, - "schema": { "type": "integer" } - }, - "check_name": { - "name": "check_name", - "description": "Returns check runs with the specified `name`.", - "in": "query", - "required": false, - "schema": { "type": "string" } - }, - "status": { - "name": "status", - "description": "Returns check runs with the specified `status`. Can be one of `queued`, `in_progress`, or `completed`.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["queued", "in_progress", "completed"] - } - }, - "alert_number": { - "name": "alert_number", - "in": "path", - "description": "The security alert number, found at the end of the security alert's URL.", - "required": true, - "schema": { "$ref": "#/components/schemas/alert-number" } - }, - "commit_sha": { - "name": "commit_sha", - "description": "commit_sha parameter", - "in": "path", - "required": true, - "schema": { "type": "string" }, - "x-multi-segment": true - }, - "deployment_id": { - "name": "deployment_id", - "description": "deployment_id parameter", - "in": "path", - "required": true, - "schema": { "type": "integer" } - }, - "since-user": { - "name": "since", - "description": "A user ID. Only return users with an ID greater than this ID.", - "in": "query", - "required": false, - "schema": { "type": "integer" } - }, - "issue_number": { - "name": "issue_number", - "description": "issue_number parameter", - "in": "path", - "required": true, - "schema": { "type": "integer" } - }, - "key_id": { - "name": "key_id", - "description": "key_id parameter", - "in": "path", - "required": true, - "schema": { "type": "integer" } - }, - "milestone_number": { - "name": "milestone_number", - "description": "milestone_number parameter", - "in": "path", - "required": true, - "schema": { "type": "integer" } - }, - "pull-number": { - "name": "pull_number", - "in": "path", - "required": true, - "schema": { "type": "integer" } - }, - "review_id": { - "name": "review_id", - "description": "review_id parameter", - "in": "path", - "required": true, - "schema": { "type": "integer" } - }, - "asset_id": { - "name": "asset_id", - "description": "asset_id parameter", - "in": "path", - "required": true, - "schema": { "type": "integer" } - }, - "release_id": { - "name": "release_id", - "description": "release_id parameter", - "in": "path", - "required": true, - "schema": { "type": "integer" } - }, - "per": { - "name": "per", - "description": "Must be one of: `day`, `week`.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["day", "week"], - "default": "day" - } - }, - "since-repo": { - "name": "since", - "description": "A repository ID. Only return repositories with an ID greater than this ID.", - "in": "query", - "required": false, - "schema": { "type": "integer" } - }, - "start_index": { - "name": "startIndex", - "description": "Used for pagination: the index of the first result to return.", - "in": "query", - "required": false, - "schema": { "type": "integer" } - }, - "count": { - "name": "count", - "description": "Used for pagination: the number of results to return.", - "in": "query", - "required": false, - "schema": { "type": "integer" } - }, - "scim_group_id": { - "name": "scim_group_id", - "description": "Identifier generated by the GitHub SCIM endpoint.", - "in": "path", - "required": true, - "schema": { "type": "string" } - }, - "scim_user_id": { - "name": "scim_user_id", - "description": "scim_user_id parameter", - "in": "path", - "required": true, - "schema": { "type": "string" } - }, - "order": { - "name": "order", - "description": "Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`.", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": ["desc", "asc"], - "default": "desc" - } - }, - "team-id": { - "name": "team_id", - "in": "path", - "required": true, - "schema": { "type": "integer" } - }, - "gpg_key_id": { - "name": "gpg_key_id", - "description": "gpg_key_id parameter", - "in": "path", - "required": true, - "schema": { "type": "integer" } - } - }, - "headers": { - "link": { - "example": "; rel=\"next\", ; rel=\"last\"", - "schema": { "type": "string" } - }, - "content-type": { - "example": "text/html", - "schema": { "type": "string" } - }, - "x-common-marker-version": { - "example": "0.17.4", - "schema": { "type": "string" } - }, - "x-rate-limit-limit": { - "example": 5000, - "schema": { "type": "integer" } - }, - "x-rate-limit-remaining": { - "example": 4999, - "schema": { "type": "integer" } - }, - "x-rate-limit-reset": { - "example": 1590701888, - "schema": { "type": "integer", "format": "timestamp" } - }, - "location": { - "example": "https://pipelines.actions.githubusercontent.com/OhgS4QRKqmgx7bKC27GKU83jnQjyeqG8oIMTge8eqtheppcmw8/_apis/pipelines/1/runs/176/signedlogcontent?urlExpires=2020-01-24T18%3A10%3A31.5729946Z&urlSigningMethod=HMACV1&urlSignature=agG73JakPYkHrh06seAkvmH7rBR4Ji4c2%2B6a2ejYh3E%3D", - "schema": { "type": "string" } - } - } - } -} diff --git a/node_modules/@octokit/openapi-types/generated/types.js b/node_modules/@octokit/openapi-types/generated/types.js deleted file mode 100644 index 06f1e08..0000000 --- a/node_modules/@octokit/openapi-types/generated/types.js +++ /dev/null @@ -1 +0,0 @@ -// https://github.com/octokit/openapi-types.ts/issues/16#issuecomment-772784156 diff --git a/node_modules/@octokit/openapi-types/package.json b/node_modules/@octokit/openapi-types/package.json index 2c45eb5..24484a5 100644 --- a/node_modules/@octokit/openapi-types/package.json +++ b/node_modules/@octokit/openapi-types/package.json @@ -1,33 +1,20 @@ { "name": "@octokit/openapi-types", + "description": "Generated TypeScript definitions based on GitHub's OpenAPI spec for api.github.com", + "repository": { + "type": "git", + "url": "https://github.com/octokit/openapi-types.ts.git", + "directory": "packages/openapi-types" + }, "publishConfig": { "access": "public" }, - "version": "4.0.1", - "description": "Generated TypeScript definitions based on GitHub's OpenAPI spec", - "main": "generated/types.js", - "types": "generated/types.ts", - "repository": "https://github.com/octokit/openapi-types.ts", - "keywords": [], + "version": "12.11.0", + "main": "", + "types": "types.d.ts", "author": "Gregor Martynus (https://twitter.com/gr2m)", "license": "MIT", - "scripts": { - "download": "node scripts/download", - "generate-types": "npx openapi-typescript cache/openapi-schema.json -o generated/types.ts", - "postgenerate-types": "node scripts/update-package" - }, - "devDependencies": { - "openapi-typescript": "^3.0.0" - }, - "release": { - "branches": "main" - }, "octokit": { - "openapi-version": "2.9.0" - }, - "renovate": { - "extends": [ - "github>octokit/.github" - ] + "openapi-version": "6.8.0" } } diff --git a/node_modules/@octokit/openapi-types/scripts/download.js b/node_modules/@octokit/openapi-types/scripts/download.js deleted file mode 100644 index 5741a30..0000000 --- a/node_modules/@octokit/openapi-types/scripts/download.js +++ /dev/null @@ -1,35 +0,0 @@ -const { get } = require("https"); -const fs = require("fs"); - -if (!process.env.OCTOKIT_OPENAPI_VERSION) { - throw new Error("OCTOKIT_OPENAPI_VERSION is not set"); -} - -download(process.env.OCTOKIT_OPENAPI_VERSION.replace(/^v/, "")).then( - () => console.log("done"), - console.error -); - -function download(version) { - const path = `cache/openapi-schema.json`; - const url = `https://unpkg.com/@octokit/openapi@${version}/generated/api.github.com.json`; - - const file = fs.createWriteStream(path); - - console.log("Downloading %s", url); - - return new Promise((resolve, reject) => { - get(url, (response) => { - response.pipe(file); - file - .on("finish", () => - file.close((error) => { - if (error) return reject(error); - console.log("%s written", path); - resolve(); - }) - ) - .on("error", (error) => reject(error.message)); - }); - }); -} diff --git a/node_modules/@octokit/openapi-types/scripts/update-package.js b/node_modules/@octokit/openapi-types/scripts/update-package.js deleted file mode 100644 index abbd4cd..0000000 --- a/node_modules/@octokit/openapi-types/scripts/update-package.js +++ /dev/null @@ -1,18 +0,0 @@ -const { writeFileSync } = require("fs"); - -if (!process.env.OCTOKIT_OPENAPI_VERSION) { - throw new Error("OCTOKIT_OPENAPI_VERSION is not set"); -} - -const pkg = require("../package.json"); - -if (!pkg.octokit) { - pkg.octokit = {}; -} - -pkg.octokit["openapi-version"] = process.env.OCTOKIT_OPENAPI_VERSION.replace( - /^v/, - "" -); - -writeFileSync("package.json", JSON.stringify(pkg, null, 2) + "\n"); diff --git a/node_modules/@octokit/openapi-types/generated/types.ts b/node_modules/@octokit/openapi-types/types.d.ts similarity index 52% rename from node_modules/@octokit/openapi-types/generated/types.ts rename to node_modules/@octokit/openapi-types/types.d.ts index c0c24da..88dc62d 100644 --- a/node_modules/@octokit/openapi-types/generated/types.ts +++ b/node_modules/@octokit/openapi-types/types.d.ts @@ -34,6 +34,30 @@ export interface paths { */ patch: operations["apps/update-webhook-config-for-app"]; }; + "/app/hook/deliveries": { + /** + * Returns a list of webhook deliveries for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/list-webhook-deliveries"]; + }; + "/app/hook/deliveries/{delivery_id}": { + /** + * Returns a delivery for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-webhook-delivery"]; + }; + "/app/hook/deliveries/{delivery_id}/attempts": { + /** + * Redeliver a delivery for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + post: operations["apps/redeliver-webhook-delivery"]; + }; "/app/installations": { /** * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. @@ -44,13 +68,13 @@ export interface paths { }; "/app/installations/{installation_id}": { /** - * Enables an authenticated GitHub App to find an installation's information using the installation id. The installation's account type (`target_type`) will be either an organization or a user account, depending which account the repository belongs to. + * Enables an authenticated GitHub App to find an installation's information using the installation id. * * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ get: operations["apps/get-installation"]; /** - * Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/v3/apps/#suspend-an-app-installation)" endpoint. + * Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/rest/reference/apps/#suspend-an-app-installation)" endpoint. * * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ @@ -66,16 +90,12 @@ export interface paths { }; "/app/installations/{installation_id}/suspended": { /** - * **Note:** Suspending a GitHub App installation is currently in beta and subject to change. Before you can suspend a GitHub App, the app owner must enable suspending installations for the app by opting-in to the beta. For more information, see "[Suspending a GitHub App installation](https://docs.github.com/apps/managing-github-apps/suspending-a-github-app-installation/)." - * * Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account. * * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ put: operations["apps/suspend-installation"]; /** - * **Note:** Suspending a GitHub App installation is currently in beta and subject to change. Before you can suspend a GitHub App, the app owner must enable suspending installations for the app by opting-in to the beta. For more information, see "[Suspending a GitHub App installation](https://docs.github.com/apps/managing-github-apps/suspending-a-github-app-installation/)." - * * Removes a GitHub App installation suspension. * * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. @@ -107,16 +127,6 @@ export interface paths { */ delete: operations["apps/delete-authorization"]; }; - "/applications/{client_id}/grants/{access_token}": { - /** - * **Deprecation Notice:** GitHub will discontinue OAuth endpoints that contain `access_token` in the path parameter. We have introduced new endpoints that allow you to securely manage tokens for OAuth Apps by moving `access_token` to the request body. For more information, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-app-endpoint/). - * - * OAuth application owners can revoke a grant for their OAuth application and a specific user. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid token as `:access_token` and the grant for the token's owner will be deleted. - * - * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the Applications settings page under "Authorized OAuth Apps" on GitHub](https://github.com/settings/applications#authorized). - */ - delete: operations["apps/revoke-grant-for-application"]; - }; "/applications/{client_id}/token": { /** OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) to use this endpoint, where the username is the OAuth application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. */ post: operations["apps/check-token"]; @@ -126,34 +136,14 @@ export interface paths { patch: operations["apps/reset-token"]; }; "/applications/{client_id}/token/scoped": { - /** Exchanges a non-repository scoped user-to-server OAuth access token for a repository scoped user-to-server OAuth access token. You can specify which repositories the token can access and which permissions are granted to the token. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. */ + /** Use a non-scoped user-to-server OAuth access token to create a repository scoped and/or permission scoped user-to-server OAuth access token. You can specify which repositories the token can access and which permissions are granted to the token. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. */ post: operations["apps/scope-token"]; }; - "/applications/{client_id}/tokens/{access_token}": { - /** - * **Deprecation Notice:** GitHub will discontinue OAuth endpoints that contain `access_token` in the path parameter. We have introduced new endpoints that allow you to securely manage tokens for OAuth Apps by moving `access_token` to the request body. For more information, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-app-endpoint/). - * - * OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. - */ - get: operations["apps/check-authorization"]; - /** - * **Deprecation Notice:** GitHub will discontinue OAuth endpoints that contain `access_token` in the path parameter. We have introduced new endpoints that allow you to securely manage tokens for OAuth Apps by moving `access_token` to the request body. For more information, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-app-endpoint/). - * - * OAuth applications can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. - */ - post: operations["apps/reset-authorization"]; - /** - * **Deprecation Notice:** GitHub will discontinue OAuth endpoints that contain `access_token` in the path parameter. We have introduced new endpoints that allow you to securely manage tokens for OAuth Apps by moving `access_token` to the request body. For more information, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-app-endpoint/). - * - * OAuth application owners can revoke a single token for an OAuth application. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. - */ - delete: operations["apps/revoke-authorization-for-application"]; - }; "/apps/{app_slug}": { /** * **Note**: The `:app_slug` is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., `https://github.com/settings/apps/:app_slug`). * - * If the GitHub App you specify is public, you can access this endpoint without authenticating. If the GitHub App you specify is private, you must authenticate with a [personal access token](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + * If the GitHub App you specify is public, you can access this endpoint without authenticating. If the GitHub App you specify is private, you must authenticate with a [personal access token](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. */ get: operations["apps/get-by-slug"]; }; @@ -169,9 +159,9 @@ export interface paths { * * To create tokens for a particular OAuth application using this endpoint, you must authenticate as the user you want to create an authorization for and provide the app's client ID and secret, found on your OAuth application's settings page. If your OAuth application intends to create multiple tokens for one user, use `fingerprint` to differentiate between them. * - * You can also create tokens on GitHub from the [personal access tokens settings](https://github.com/settings/tokens) page. Read more about these tokens in [the GitHub Help documentation](https://help.github.com/articles/creating-an-access-token-for-command-line-use). + * You can also create tokens on GitHub from the [personal access tokens settings](https://github.com/settings/tokens) page. Read more about these tokens in [the GitHub Help documentation](https://docs.github.com/articles/creating-an-access-token-for-command-line-use). * - * Organizations that enforce SAML SSO require personal access tokens to be allowed. Read more about allowing tokens in [the GitHub Help documentation](https://help.github.com/articles/about-identity-and-access-management-with-saml-single-sign-on). + * Organizations that enforce SAML SSO require personal access tokens to be allowed. Read more about allowing tokens in [the GitHub Help documentation](https://docs.github.com/articles/about-identity-and-access-management-with-saml-single-sign-on). */ post: operations["oauth-authorizations/create-authorization"]; }; @@ -221,29 +211,49 @@ export interface paths { "/codes_of_conduct/{key}": { get: operations["codes-of-conduct/get-conduct-code"]; }; - "/content_references/{content_reference_id}/attachments": { + "/emojis": { + /** Lists all the emojis available to use on GitHub. */ + get: operations["emojis/get"]; + }; + "/enterprise-installation/{enterprise_or_org}/server-statistics": { /** - * Creates an attachment under a content reference URL in the body or comment of an issue or pull request. Use the `id` of the content reference from the [`content_reference` event](https://docs.github.com/webhooks/event-payloads/#content_reference) to create an attachment. + * Returns aggregate usage metrics for your GitHub Enterprise Server 3.5+ instance for a specified time period up to 365 days. * - * The app must create a content attachment within six hours of the content reference URL being posted. See "[Using content attachments](https://docs.github.com/apps/using-content-attachments/)" for details about content attachments. + * To use this endpoint, your GitHub Enterprise Server instance must be connected to GitHub Enterprise Cloud using GitHub Connect. You must enable Server Statistics, and for the API request provide your enterprise account name or organization name connected to the GitHub Enterprise Server. For more information, see "[Enabling Server Statistics for your enterprise](/admin/configuration/configuring-github-connect/enabling-server-statistics-for-your-enterprise)" in the GitHub Enterprise Server documentation. * - * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + * You'll need to use a personal access token: + * - If you connected your GitHub Enterprise Server to an enterprise account and enabled Server Statistics, you'll need a personal access token with the `read:enterprise` permission. + * - If you connected your GitHub Enterprise Server to an organization account and enabled Server Statistics, you'll need a personal access token with the `read:org` permission. + * + * For more information on creating a personal access token, see "[Creating a personal access token](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." */ - post: operations["apps/create-content-attachment"]; + get: operations["enterprise-admin/get-server-statistics"]; }; - "/emojis": { - /** Lists all the emojis available to use on GitHub. */ - get: operations["emojis/get"]; + "/enterprises/{enterprise}/actions/cache/usage": { + /** + * Gets the total GitHub Actions cache usage for an enterprise. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + get: operations["actions/get-actions-cache-usage-for-enterprise"]; + }; + "/enterprises/{enterprise}/actions/oidc/customization/issuer": { + /** + * Sets the GitHub Actions OpenID Connect (OIDC) custom issuer policy for an enterprise. + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * GitHub Apps must have the `enterprise_administration:write` permission to use this endpoint. + */ + put: operations["actions/set-actions-oidc-custom-issuer-policy-for-enterprise"]; }; "/enterprises/{enterprise}/actions/permissions": { /** - * Gets the GitHub Actions permissions policy for organizations and allowed actions in an enterprise. + * Gets the GitHub Actions permissions policy for organizations and allowed actions and reusable workflows in an enterprise. * * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. */ get: operations["enterprise-admin/get-github-actions-permissions-enterprise"]; /** - * Sets the GitHub Actions permissions policy for organizations and allowed actions in an enterprise. + * Sets the GitHub Actions permissions policy for organizations and allowed actions and reusable workflows in an enterprise. * * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. */ @@ -279,29 +289,49 @@ export interface paths { }; "/enterprises/{enterprise}/actions/permissions/selected-actions": { /** - * Gets the selected actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * Gets the selected actions and reusable workflows that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." * * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. */ get: operations["enterprise-admin/get-allowed-actions-enterprise"]; /** - * Sets the actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * Sets the actions and reusable workflows that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." * * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. */ put: operations["enterprise-admin/set-allowed-actions-enterprise"]; }; + "/enterprises/{enterprise}/actions/permissions/workflow": { + /** + * Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an enterprise, + * as well as whether GitHub Actions can submit approving pull request reviews. For more information, see + * "[Enforcing a policy for workflow permissions in your enterprise](https://docs.github.com/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-workflow-permissions-in-your-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * GitHub Apps must have the `enterprise_administration:write` permission to use this endpoint. + */ + get: operations["actions/get-github-actions-default-workflow-permissions-enterprise"]; + /** + * Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an enterprise, and sets + * whether GitHub Actions can submit approving pull request reviews. For more information, see + * "[Enforcing a policy for workflow permissions in your enterprise](https://docs.github.com/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-workflow-permissions-in-your-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * GitHub Apps must have the `enterprise_administration:write` permission to use this endpoint. + */ + put: operations["actions/set-github-actions-default-workflow-permissions-enterprise"]; + }; "/enterprises/{enterprise}/actions/runner-groups": { /** * Lists all self-hosted runner groups for an enterprise. * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. */ get: operations["enterprise-admin/list-self-hosted-runner-groups-for-enterprise"]; /** * Creates a new self-hosted runner group for an enterprise. * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. */ post: operations["enterprise-admin/create-self-hosted-runner-group-for-enterprise"]; }; @@ -309,19 +339,19 @@ export interface paths { /** * Gets a specific self-hosted runner group for an enterprise. * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. */ get: operations["enterprise-admin/get-self-hosted-runner-group-for-enterprise"]; /** * Deletes a self-hosted runner group for an enterprise. * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. */ delete: operations["enterprise-admin/delete-self-hosted-runner-group-from-enterprise"]; /** * Updates the `name` and `visibility` of a self-hosted runner group in an enterprise. * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. */ patch: operations["enterprise-admin/update-self-hosted-runner-group-for-enterprise"]; }; @@ -329,13 +359,13 @@ export interface paths { /** * Lists the organizations with access to a self-hosted runner group. * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. */ get: operations["enterprise-admin/list-org-access-to-self-hosted-runner-group-in-enterprise"]; /** * Replaces the list of organizations that have access to a self-hosted runner configured in an enterprise. * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. */ put: operations["enterprise-admin/set-org-access-to-self-hosted-runner-group-in-enterprise"]; }; @@ -343,13 +373,13 @@ export interface paths { /** * Adds an organization to the list of selected organizations that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an enterprise](#create-a-self-hosted-runner-group-for-an-enterprise)." * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. */ put: operations["enterprise-admin/add-org-access-to-self-hosted-runner-group-in-enterprise"]; /** * Removes an organization from the list of selected organizations that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an enterprise](#create-a-self-hosted-runner-group-for-an-enterprise)." * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. */ delete: operations["enterprise-admin/remove-org-access-to-self-hosted-runner-group-in-enterprise"]; }; @@ -357,13 +387,13 @@ export interface paths { /** * Lists the self-hosted runners that are in a specific enterprise group. * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. */ get: operations["enterprise-admin/list-self-hosted-runners-in-group-for-enterprise"]; /** * Replaces the list of self-hosted runners that are part of an enterprise runner group. * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. */ put: operations["enterprise-admin/set-self-hosted-runners-in-group-for-enterprise"]; }; @@ -371,14 +401,14 @@ export interface paths { /** * Adds a self-hosted runner to a runner group configured in an enterprise. * - * You must authenticate using an access token with the `admin:enterprise` + * You must authenticate using an access token with the `manage_runners:enterprise` * scope to use this endpoint. */ put: operations["enterprise-admin/add-self-hosted-runner-to-group-for-enterprise"]; /** * Removes a self-hosted runner from a group configured in an enterprise. The runner is then returned to the default group. * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. */ delete: operations["enterprise-admin/remove-self-hosted-runner-from-group-for-enterprise"]; }; @@ -386,7 +416,7 @@ export interface paths { /** * Lists all self-hosted runners configured for an enterprise. * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. */ get: operations["enterprise-admin/list-self-hosted-runners-for-enterprise"]; }; @@ -394,7 +424,7 @@ export interface paths { /** * Lists binaries for the runner application that you can download and run. * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. */ get: operations["enterprise-admin/list-runner-applications-for-enterprise"]; }; @@ -402,7 +432,7 @@ export interface paths { /** * Returns a token that you can pass to the `config` script. The token expires after one hour. * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. * * #### Example using registration token * @@ -418,7 +448,7 @@ export interface paths { /** * Returns a token that you can pass to the `config` script to remove a self-hosted runner from an enterprise. The token expires after one hour. * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. * * #### Example using remove token * @@ -435,39 +465,101 @@ export interface paths { /** * Gets a specific self-hosted runner configured in an enterprise. * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. */ get: operations["enterprise-admin/get-self-hosted-runner-for-enterprise"]; /** * Forces the removal of a self-hosted runner from an enterprise. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. */ delete: operations["enterprise-admin/delete-self-hosted-runner-from-enterprise"]; }; + "/enterprises/{enterprise}/actions/runners/{runner_id}/labels": { + /** + * Lists all labels for a self-hosted runner configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + get: operations["enterprise-admin/list-labels-for-self-hosted-runner-for-enterprise"]; + /** + * Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + put: operations["enterprise-admin/set-custom-labels-for-self-hosted-runner-for-enterprise"]; + /** + * Add custom labels to a self-hosted runner configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + post: operations["enterprise-admin/add-custom-labels-to-self-hosted-runner-for-enterprise"]; + /** + * Remove all custom labels from a self-hosted runner configured in an + * enterprise. Returns the remaining read-only labels from the runner. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + delete: operations["enterprise-admin/remove-all-custom-labels-from-self-hosted-runner-for-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runners/{runner_id}/labels/{name}": { + /** + * Remove a custom label from a self-hosted runner configured + * in an enterprise. Returns the remaining labels from the runner. + * + * This endpoint returns a `404 Not Found` status if the custom label is not + * present on the runner. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + delete: operations["enterprise-admin/remove-custom-label-from-self-hosted-runner-for-enterprise"]; + }; "/enterprises/{enterprise}/audit-log": { + /** Gets the audit log for an enterprise. To use this endpoint, you must be an enterprise admin, and you must use an access token with the `admin:enterprise` scope. */ + get: operations["enterprise-admin/get-audit-log"]; + }; + "/enterprises/{enterprise}/code-scanning/alerts": { /** - * **Note:** The audit log REST API is currently in beta and is subject to change. + * Lists code scanning alerts for the default branch for all eligible repositories in an enterprise. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." * - * Gets the audit log for an enterprise. To use this endpoint, you must be an enterprise admin, and you must use an access token with the `admin:enterprise` scope. + * To use this endpoint, you must be a member of the enterprise, + * and you must use an access token with the `repo` scope or `security_events` scope. + */ + get: operations["code-scanning/list-alerts-for-enterprise"]; + }; + "/enterprises/{enterprise}/secret-scanning/alerts": { + /** + * Lists secret scanning alerts for eligible repositories in an enterprise, from newest to oldest. + * To use this endpoint, you must be a member of the enterprise, and you must use an access token with the `repo` scope or `security_events` scope. Alerts are only returned for organizations in the enterprise for which you are an organization owner or a [security manager](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization). */ - get: operations["audit-log/get-audit-log"]; + get: operations["secret-scanning/list-alerts-for-enterprise"]; }; "/enterprises/{enterprise}/settings/billing/actions": { /** * Gets the summary of the free and paid GitHub Actions minutes used. * - * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". * * The authenticated user must be an enterprise admin. */ get: operations["billing/get-github-actions-billing-ghe"]; }; + "/enterprises/{enterprise}/settings/billing/advanced-security": { + /** + * Gets the GitHub Advanced Security active committers for an enterprise per repository. + * + * Each distinct user login across all repositories is counted as a single Advanced Security seat, so the `total_advanced_security_committers` is not the sum of active_users for each repository. + * + * The total number of repositories with committer information is tracked by the `total_count` field. + */ + get: operations["billing/get-github-advanced-security-billing-ghe"]; + }; "/enterprises/{enterprise}/settings/billing/packages": { /** * Gets the free and paid storage used for GitHub Packages in gigabytes. * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." * * The authenticated user must be an enterprise admin. */ @@ -475,9 +567,9 @@ export interface paths { }; "/enterprises/{enterprise}/settings/billing/shared-storage": { /** - * Gets the estimated paid and estimated total storage used for GitHub Actions and Github Packages. + * Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." * * The authenticated user must be an enterprise admin. */ @@ -663,7 +755,7 @@ export interface paths { }; "/meta": { /** - * Returns meta information about GitHub, including a list of GitHub's IP addresses. For more information, see "[About GitHub's IP addresses](https://help.github.com/articles/about-github-s-ip-addresses/)." + * Returns meta information about GitHub, including a list of GitHub's IP addresses. For more information, see "[About GitHub's IP addresses](https://docs.github.com/articles/about-github-s-ip-addresses/)." * * **Note:** The IP addresses shown in the documentation's response are only example values. You must always query the API directly to get the latest list of IP addresses. */ @@ -712,9 +804,18 @@ export interface paths { */ get: operations["orgs/list"]; }; + "/organizations/{organization_id}/custom_roles": { + /** + * List the custom repository roles available in this organization. In order to see custom + * repository roles in an organization, the authenticated user must be an organization owner. + * + * For more information on custom repository roles, see "[Managing custom repository roles for an organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)". + */ + get: operations["orgs/list-custom-roles"]; + }; "/orgs/{org}": { /** - * To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://help.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). + * To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://docs.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). * * GitHub Apps with the `Organization plan` permission can use this endpoint to retrieve information about an organization's GitHub plan. See "[Authenticating with GitHub Apps](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/)" for details. For an example response, see 'Response with GitHub plan information' below." */ @@ -726,17 +827,47 @@ export interface paths { */ patch: operations["orgs/update"]; }; + "/orgs/{org}/actions/cache/usage": { + /** + * Gets the total GitHub Actions cache usage for an organization. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. + */ + get: operations["actions/get-actions-cache-usage-for-org"]; + }; + "/orgs/{org}/actions/cache/usage-by-repository": { + /** + * Lists repositories and their GitHub Actions cache usage for an organization. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. + */ + get: operations["actions/get-actions-cache-usage-by-repo-for-org"]; + }; + "/orgs/{org}/actions/oidc/customization/sub": { + /** + * Gets the customization template for an OpenID Connect (OIDC) subject claim. + * You must authenticate using an access token with the `read:org` scope to use this endpoint. + * GitHub Apps must have the `organization_administration:write` permission to use this endpoint. + */ + get: operations["oidc/get-oidc-custom-sub-template-for-org"]; + /** + * Creates or updates the customization template for an OpenID Connect (OIDC) subject claim. + * You must authenticate using an access token with the `write:org` scope to use this endpoint. + * GitHub Apps must have the `admin:org` permission to use this endpoint. + */ + put: operations["oidc/update-oidc-custom-sub-template-for-org"]; + }; "/orgs/{org}/actions/permissions": { /** - * Gets the GitHub Actions permissions policy for repositories and allowed actions in an organization. + * Gets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. * * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. */ get: operations["actions/get-github-actions-permissions-organization"]; /** - * Sets the GitHub Actions permissions policy for repositories and allowed actions in an organization. + * Sets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. * - * If the organization belongs to an enterprise that has set restrictive permissions at the enterprise level, such as `allowed_actions` to `selected` actions, then you cannot override them for the organization. + * If the organization belongs to an enterprise that has set restrictive permissions at the enterprise level, such as `allowed_actions` to `selected` actions and reusable workflows, then you cannot override them for the organization. * * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. */ @@ -772,15 +903,15 @@ export interface paths { }; "/orgs/{org}/actions/permissions/selected-actions": { /** - * Gets the selected actions that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)."" + * Gets the selected actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)."" * * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. */ get: operations["actions/get-allowed-actions-organization"]; /** - * Sets the actions that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * Sets the actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." * - * If the organization belongs to an enterprise that has `selected` actions set at the enterprise level, then you cannot override any of the enterprise's allowed actions settings. + * If the organization belongs to an enterprise that has `selected` actions and reusable workflows set at the enterprise level, then you cannot override any of the enterprise's allowed actions and reusable workflows settings. * * To use the `patterns_allowed` setting for private repositories, the organization must belong to an enterprise. If the organization does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories in the organization. * @@ -788,6 +919,24 @@ export interface paths { */ put: operations["actions/set-allowed-actions-organization"]; }; + "/orgs/{org}/actions/permissions/workflow": { + /** + * Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, + * as well as whether GitHub Actions can submit approving pull request reviews. For more information, see + * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + get: operations["actions/get-github-actions-default-workflow-permissions-organization"]; + /** + * Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, and sets if GitHub Actions + * can submit approving pull request reviews. For more information, see + * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + put: operations["actions/set-github-actions-default-workflow-permissions-organization"]; + }; "/orgs/{org}/actions/runner-groups": { /** * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." @@ -973,6 +1122,46 @@ export interface paths { */ delete: operations["actions/delete-self-hosted-runner-from-org"]; }; + "/orgs/{org}/actions/runners/{runner_id}/labels": { + /** + * Lists all labels for a self-hosted runner configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + get: operations["actions/list-labels-for-self-hosted-runner-for-org"]; + /** + * Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + put: operations["actions/set-custom-labels-for-self-hosted-runner-for-org"]; + /** + * Add custom labels to a self-hosted runner configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + post: operations["actions/add-custom-labels-to-self-hosted-runner-for-org"]; + /** + * Remove all custom labels from a self-hosted runner configured in an + * organization. Returns the remaining read-only labels from the runner. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + delete: operations["actions/remove-all-custom-labels-from-self-hosted-runner-for-org"]; + }; + "/orgs/{org}/actions/runners/{runner_id}/labels/{name}": { + /** + * Remove a custom label from a self-hosted runner configured + * in an organization. Returns the remaining labels from the runner. + * + * This endpoint returns a `404 Not Found` status if the custom label is not + * present on the runner. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + delete: operations["actions/remove-custom-label-from-self-hosted-runner-for-org"]; + }; "/orgs/{org}/actions/secrets": { /** Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ get: operations["actions/list-org-secrets"]; @@ -1016,7 +1205,7 @@ export interface paths { * * #### Example encrypting a secret using Python * - * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/stable/public/#nacl-public-sealedbox) with Python 3. + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. * * ``` * from base64 import b64encode @@ -1079,11 +1268,13 @@ export interface paths { }; "/orgs/{org}/audit-log": { /** - * **Note:** The audit log REST API is currently in beta and is subject to change. - * * Gets the audit log for an organization. For more information, see "[Reviewing the audit log for your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization)." * - * To use this endpoint, you must be an organization owner, and you must use an access token with the `admin:org` scope. GitHub Apps must have the `organization_administration` read permission to use this endpoint. + * This endpoint is available for organizations on GitHub Enterprise Cloud. To use this endpoint, you must be an organization owner, and you must use an access token with the `admin:org` scope. GitHub Apps must have the `organization_administration` read permission to use this endpoint. + * + * By default, the response includes up to 30 events from the past three months. Use the `phrase` parameter to filter results and retrieve older events. For example, use the `phrase` parameter with the `created` qualifier to filter events based on when the events occurred. For more information, see "[Reviewing the audit log for your organization](https://docs.github.com/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization#searching-the-audit-log)." + * + * Use pagination to retrieve fewer or more than 30 events. For more information, see "[Resources in the REST API](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination)." */ get: operations["orgs/get-audit-log"]; }; @@ -1096,25 +1287,163 @@ export interface paths { put: operations["orgs/block-user"]; delete: operations["orgs/unblock-user"]; }; + "/orgs/{org}/code-scanning/alerts": { + /** + * Lists code scanning alerts for the default branch for all eligible repositories in an organization. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. + * + * GitHub Apps must have the `security_events` read permission to use this endpoint. + */ + get: operations["code-scanning/list-alerts-for-org"]; + }; + "/orgs/{org}/codespaces": { + /** + * Lists the codespaces associated to a specified organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + get: operations["codespaces/list-in-organization"]; + }; "/orgs/{org}/credential-authorizations": { /** - * Listing and deleting credential authorizations is available to organizations with GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products). + * Listing and deleting credential authorizations is available to organizations with GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products). * - * An authenticated organization owner with the `read:org` scope can list all credential authorizations for an organization that uses SAML single sign-on (SSO). The credentials are either personal access tokens or SSH keys that organization members have authorized for the organization. For more information, see [About authentication with SAML single sign-on](https://help.github.com/en/articles/about-authentication-with-saml-single-sign-on). + * An authenticated organization owner with the `read:org` scope can list all credential authorizations for an organization that uses SAML single sign-on (SSO). The credentials are either personal access tokens or SSH keys that organization members have authorized for the organization. For more information, see [About authentication with SAML single sign-on](https://docs.github.com/en/articles/about-authentication-with-saml-single-sign-on). */ get: operations["orgs/list-saml-sso-authorizations"]; }; "/orgs/{org}/credential-authorizations/{credential_id}": { /** - * Listing and deleting credential authorizations is available to organizations with GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products). + * Listing and deleting credential authorizations is available to organizations with GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products). * * An authenticated organization owner with the `admin:org` scope can remove a credential authorization for an organization that uses SAML SSO. Once you remove someone's credential authorization, they will need to create a new personal access token or SSH key and authorize it for the organization they want to access. */ delete: operations["orgs/remove-saml-sso-authorization"]; }; + "/orgs/{org}/dependabot/secrets": { + /** Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + get: operations["dependabot/list-org-secrets"]; + }; + "/orgs/{org}/dependabot/secrets/public-key": { + /** Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + get: operations["dependabot/get-org-public-key"]; + }; + "/orgs/{org}/dependabot/secrets/{secret_name}": { + /** Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + get: operations["dependabot/get-org-secret"]; + /** + * Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization + * permission to use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + put: operations["dependabot/create-or-update-org-secret"]; + /** Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + delete: operations["dependabot/delete-org-secret"]; + }; + "/orgs/{org}/dependabot/secrets/{secret_name}/repositories": { + /** Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + get: operations["dependabot/list-selected-repos-for-org-secret"]; + /** Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/dependabot#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + put: operations["dependabot/set-selected-repos-for-org-secret"]; + }; + "/orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}": { + /** Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/dependabot#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + put: operations["dependabot/add-selected-repo-to-org-secret"]; + /** Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/dependabot#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + delete: operations["dependabot/remove-selected-repo-from-org-secret"]; + }; "/orgs/{org}/events": { get: operations["activity/list-public-org-events"]; }; + "/orgs/{org}/external-group/{group_id}": { + /** + * Displays information about the specific group's usage. Provides a list of the group's external members as well as a list of teams that this group is connected to. + * + * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. + */ + get: operations["teams/external-idp-group-info-for-org"]; + }; + "/orgs/{org}/external-groups": { + /** + * Lists external groups available in an organization. You can query the groups using the `display_name` parameter, only groups with a `group_name` containing the text provided in the `display_name` parameter will be returned. You can also limit your page results using the `per_page` parameter. GitHub generates a url-encoded `page` token using a cursor value for where the next page begins. For more information on cursor pagination, see "[Offset and Cursor Pagination explained](https://dev.to/jackmarchant/offset-and-cursor-pagination-explained-b89)." + * + * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. + */ + get: operations["teams/list-external-idp-groups-for-org"]; + }; "/orgs/{org}/failed_invitations": { /** The return hash contains `failed_at` and `failed_reason` fields which represent the time at which the invitation failed and the reason for the failure. */ get: operations["orgs/list-failed-invitations"]; @@ -1145,6 +1474,18 @@ export interface paths { */ patch: operations["orgs/update-webhook-config-for-org"]; }; + "/orgs/{org}/hooks/{hook_id}/deliveries": { + /** Returns a list of webhook deliveries for a webhook configured in an organization. */ + get: operations["orgs/list-webhook-deliveries"]; + }; + "/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}": { + /** Returns a delivery for a webhook configured in an organization. */ + get: operations["orgs/get-webhook-delivery"]; + }; + "/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": { + /** Redeliver a delivery for a webhook configured in an organization. */ + post: operations["orgs/redeliver-webhook-delivery"]; + }; "/orgs/{org}/hooks/{hook_id}/pings": { /** This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. */ post: operations["orgs/ping-webhook"]; @@ -1175,7 +1516,7 @@ export interface paths { /** * Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner. * - * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ post: operations["orgs/create-invitation"]; }; @@ -1212,13 +1553,29 @@ export interface paths { /** Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories. */ delete: operations["orgs/remove-member"]; }; - "/orgs/{org}/memberships/{username}": { - /** In order to get a user's membership with an organization, the authenticated user must be an organization member. */ - get: operations["orgs/get-membership-for-user"]; + "/orgs/{org}/members/{username}/codespaces/{codespace_name}": { /** - * Only authenticated organization owners can add a member to the organization or update the member's role. + * Deletes a user's codespace. * - * * If the authenticated user is _adding_ a member to the organization, the invited user will receive an email inviting them to the organization. The user's [membership status](https://docs.github.com/rest/reference/orgs#get-organization-membership-for-a-user) will be `pending` until they accept the invitation. + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + delete: operations["codespaces/delete-from-organization"]; + }; + "/orgs/{org}/members/{username}/codespaces/{codespace_name}/stop": { + /** + * Stops a user's codespace. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + post: operations["codespaces/stop-in-organization"]; + }; + "/orgs/{org}/memberships/{username}": { + /** In order to get a user's membership with an organization, the authenticated user must be an organization member. The `state` parameter in the response can be used to identify the user's membership status. */ + get: operations["orgs/get-membership-for-user"]; + /** + * Only authenticated organization owners can add a member to the organization or update the member's role. + * + * * If the authenticated user is _adding_ a member to the organization, the invited user will receive an email inviting them to the organization. The user's [membership status](https://docs.github.com/rest/reference/orgs#get-organization-membership-for-a-user) will be `pending` until they accept the invitation. * * * Authenticated users can _update_ a user's membership by passing the `role` parameter. If the authenticated user changes a member's role to `admin`, the affected user will receive an email notifying them that they've been made an organization owner. If the authenticated user changes an owner's role to `member`, no email will be sent. * @@ -1272,15 +1629,95 @@ export interface paths { get: operations["orgs/list-outside-collaborators"]; }; "/orgs/{org}/outside_collaborators/{username}": { - /** When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see "[Converting an organization member to an outside collaborator](https://help.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)". */ + /** When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see "[Converting an organization member to an outside collaborator](https://docs.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)". Converting an organization member to an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." */ put: operations["orgs/convert-member-to-outside-collaborator"]; /** Removing a user from this list will remove them from all the organization's repositories. */ delete: operations["orgs/remove-outside-collaborator"]; }; + "/orgs/{org}/packages": { + /** + * Lists all packages in an organization readable by the user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/list-packages-for-organization"]; + }; + "/orgs/{org}/packages/{package_type}/{package_name}": { + /** + * Gets a specific package in an organization. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/get-package-for-organization"]; + /** + * Deletes an entire package in an organization. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + */ + delete: operations["packages/delete-package-for-org"]; + }; + "/orgs/{org}/packages/{package_type}/{package_name}/restore": { + /** + * Restores an entire package in an organization. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + */ + post: operations["packages/restore-package-for-org"]; + }; + "/orgs/{org}/packages/{package_type}/{package_name}/versions": { + /** + * Returns all package versions for a package owned by an organization. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/get-all-package-versions-for-package-owned-by-org"]; + }; + "/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}": { + /** + * Gets a specific package version in an organization. + * + * You must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/get-package-version-for-organization"]; + /** + * Deletes a specific package version in an organization. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + */ + delete: operations["packages/delete-package-version-for-org"]; + }; + "/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { + /** + * Restores a specific package version in an organization. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + */ + post: operations["packages/restore-package-version-for-org"]; + }; "/orgs/{org}/projects": { /** Lists the projects in an organization. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ get: operations["projects/list-for-org"]; - /** Creates an organization project board. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + /** Creates an organization project board. Returns a `410 Gone` status if projects are disabled in the organization or if the organization does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ post: operations["projects/create-for-org"]; }; "/orgs/{org}/public_members": { @@ -1307,26 +1744,48 @@ export interface paths { * * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: * - * * `public_repo` scope or `repo` scope to create a public repository + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. * * `repo` scope to create a private repository */ post: operations["repos/create-in-org"]; }; + "/orgs/{org}/secret-scanning/alerts": { + /** + * Lists secret scanning alerts for eligible repositories in an organization, from newest to oldest. + * To use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + get: operations["secret-scanning/list-alerts-for-org"]; + }; "/orgs/{org}/settings/billing/actions": { /** * Gets the summary of the free and paid GitHub Actions minutes used. * - * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". * * Access tokens must have the `repo` or `admin:org` scope. */ get: operations["billing/get-github-actions-billing-org"]; }; + "/orgs/{org}/settings/billing/advanced-security": { + /** + * Gets the GitHub Advanced Security active committers for an organization per repository. + * + * Each distinct user login across all repositories is counted as a single Advanced Security seat, so the `total_advanced_security_committers` is not the sum of advanced_security_committers for each repository. + * + * If this organization defers to an enterprise for billing, the `total_advanced_security_committers` returned from the organization API may include some users that are in more than one organization, so they will only consume a single Advanced Security seat at the enterprise level. + * + * The total number of repositories with committer information is tracked by the `total_count` field. + */ + get: operations["billing/get-github-advanced-security-billing-org"]; + }; "/orgs/{org}/settings/billing/packages": { /** - * Gets the free and paid storage usued for GitHub Packages in gigabytes. + * Gets the free and paid storage used for GitHub Packages in gigabytes. * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." * * Access tokens must have the `repo` or `admin:org` scope. */ @@ -1334,9 +1793,9 @@ export interface paths { }; "/orgs/{org}/settings/billing/shared-storage": { /** - * Gets the estimated paid and estimated total storage used for GitHub Actions and Github Packages. + * Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." * * Access tokens must have the `repo` or `admin:org` scope. */ @@ -1344,11 +1803,9 @@ export interface paths { }; "/orgs/{org}/team-sync/groups": { /** - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * * List IdP groups available in an organization. You can limit your page results using the `per_page` parameter. GitHub generates a url-encoded `page` token using a cursor value for where the next page begins. For more information on cursor pagination, see "[Offset and Cursor Pagination explained](https://dev.to/jackmarchant/offset-and-cursor-pagination-explained-b89)." - * - * The `per_page` parameter provides pagination for a list of IdP groups the authenticated user can access in an organization. For example, if the user `octocat` wants to see two groups per page in `octo-org` via cURL, it would look like this: */ get: operations["teams/list-idp-groups-for-org"]; }; @@ -1356,9 +1813,9 @@ export interface paths { /** Lists all teams in an organization that are visible to the authenticated user. */ get: operations["teams/list"]; /** - * To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://help.github.com/en/articles/setting-team-creation-permissions-in-your-organization)." + * To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://docs.github.com/en/articles/setting-team-creation-permissions-in-your-organization)." * - * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/about-teams)". + * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://docs.github.com/en/github/setting-up-and-managing-organizations-and-teams/about-teams)". */ post: operations["teams/create"]; }; @@ -1394,7 +1851,7 @@ export interface paths { /** * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). * - * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. * * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`. */ @@ -1430,7 +1887,7 @@ export interface paths { /** * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). * - * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. * * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. */ @@ -1464,7 +1921,7 @@ export interface paths { */ get: operations["reactions/list-for-team-discussion-comment-in-org"]; /** - * Create a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion comment. + * Create a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. * * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. */ @@ -1486,7 +1943,7 @@ export interface paths { */ get: operations["reactions/list-for-team-discussion-in-org"]; /** - * Create a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion. + * Create a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. * * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. */ @@ -1500,6 +1957,26 @@ export interface paths { */ delete: operations["reactions/delete-for-team-discussion"]; }; + "/orgs/{org}/teams/{team_slug}/external-groups": { + /** + * Lists a connection between a team and an external group. + * + * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. + */ + get: operations["teams/list-linked-external-idp-groups-to-team-for-org"]; + /** + * Deletes a connection between a team and an external group. + * + * You can manage team membership with your IdP using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + delete: operations["teams/unlink-external-idp-group-from-team-for-org"]; + /** + * Creates a connection between a team and an external group. Only one external group can be linked to a team. + * + * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. + */ + patch: operations["teams/link-external-idp-group-to-team-for-org"]; + }; "/orgs/{org}/teams/{team_slug}/invitations": { /** * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. @@ -1524,15 +2001,18 @@ export interface paths { * * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/memberships/{username}`. * - * **Note:** The `role` for organization owners returns as `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/reference/teams#create-a-team). + * **Note:** + * The response contains the `state` of the membership and the member's `role`. + * + * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see see [Create a team](https://docs.github.com/rest/reference/teams#create-a-team). */ get: operations["teams/get-membership-for-user-in-org"]; /** - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * * Adds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a team. * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." * * An organization owner can add someone who is not part of the team's organization to a team. When an organization owner adds someone to a team who is not an organization member, this endpoint will send an invitation to the person via email. This newly-created membership will be in the "pending" state until the person accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. * @@ -1542,11 +2022,11 @@ export interface paths { */ put: operations["teams/add-or-update-membership-for-user-in-org"]; /** - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." * * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/memberships/{username}`. */ @@ -1604,7 +2084,7 @@ export interface paths { * * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. * - * For more information about the permission levels, see "[Repository permission levels for an organization](https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". + * For more information about the permission levels, see "[Repository permission levels for an organization](https://docs.github.com/en/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". */ put: operations["teams/add-or-update-repo-permissions-in-org"]; /** @@ -1616,7 +2096,7 @@ export interface paths { }; "/orgs/{org}/teams/{team_slug}/team-sync/group-mappings": { /** - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * * List IdP groups connected to a team on GitHub. * @@ -1624,7 +2104,7 @@ export interface paths { */ get: operations["teams/list-idp-groups-in-org"]; /** - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * * Creates, updates, or removes a connection between a team and an IdP group. When adding groups to a team, you must include all new and existing groups to avoid replacing existing groups with the new ones. Specifying an empty `groups` array will remove all connections for a team. * @@ -1655,11 +2135,6 @@ export interface paths { }; "/projects/columns/{column_id}/cards": { get: operations["projects/list-cards"]; - /** - * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. - * - * Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. - */ post: operations["projects/create-card"]; }; "/projects/columns/{column_id}/moves": { @@ -1699,20 +2174,8 @@ export interface paths { */ get: operations["rate-limit/get"]; }; - "/reactions/{reaction_id}": { - /** - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Reactions API. We recommend migrating your existing code to use the new delete reactions endpoints. For more information, see this [blog post](https://developer.github.com/changes/2020-02-26-new-delete-reactions-endpoints/). - * - * OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), when deleting a [team discussion](https://docs.github.com/rest/reference/teams#discussions) or [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). - */ - delete: operations["reactions/delete-legacy"]; - }; "/repos/{owner}/{repo}": { - /** - * When you pass the `scarlet-witch-preview` media type, requests to get a repository will also return the repository's code of conduct if it can be detected from the repository's code of conduct file. - * - * The `parent` and `source` objects are present when the repository is a fork. `parent` is the repository this repository was forked from, `source` is the ultimate source for the network. - */ + /** The `parent` and `source` objects are present when the repository is a fork. `parent` is the repository this repository was forked from, `source` is the ultimate source for the network. */ get: operations["repos/get"]; /** * Deleting a repository requires admin access. If OAuth is used, the `delete_repo` scope is required. @@ -1743,6 +2206,40 @@ export interface paths { */ get: operations["actions/download-artifact"]; }; + "/repos/{owner}/{repo}/actions/cache/usage": { + /** + * Gets GitHub Actions cache usage for a repository. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/get-actions-cache-usage"]; + }; + "/repos/{owner}/{repo}/actions/caches": { + /** + * Lists the GitHub Actions caches for a repository. + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/get-actions-cache-list"]; + /** + * Deletes one or more GitHub Actions caches for a repository, using a complete cache key. By default, all caches that match the provided key are deleted, but you can optionally provide a Git ref to restrict deletions to caches that match both the provided key and the Git ref. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * + * GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + delete: operations["actions/delete-actions-cache-by-key"]; + }; + "/repos/{owner}/{repo}/actions/caches/{cache_id}": { + /** + * Deletes a GitHub Actions cache for a repository, using a cache ID. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * + * GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + delete: operations["actions/delete-actions-cache-by-id"]; + }; "/repos/{owner}/{repo}/actions/jobs/{job_id}": { /** Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["actions/get-job-for-workflow-run"]; @@ -1756,34 +2253,69 @@ export interface paths { */ get: operations["actions/download-job-logs-for-workflow-run"]; }; + "/repos/{owner}/{repo}/actions/jobs/{job_id}/rerun": { + /** Re-run a job and its dependent jobs in a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ + post: operations["actions/re-run-job-for-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/oidc/customization/sub": { + /** + * Gets the `opt-out` flag of a GitHub Actions OpenID Connect (OIDC) subject claim customization for a repository. + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. GitHub Apps must have the `organization_administration:read` permission to use this endpoint. + */ + get: operations["actions/get-custom-oidc-sub-claim-for-repo"]; + /** + * Sets the `opt-out` flag of a GitHub Actions OpenID Connect (OIDC) subject claim customization for a repository. + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + put: operations["actions/set-custom-oidc-sub-claim-for-repo"]; + }; "/repos/{owner}/{repo}/actions/permissions": { /** - * Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions allowed to run in the repository. + * Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions and reusable workflows allowed to run in the repository. * - * You must authenticate using an access token with the `repo` scope to use this - * endpoint. GitHub Apps must have the `administration` repository permission to use this API. + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. */ get: operations["actions/get-github-actions-permissions-repository"]; /** - * Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions in the repository. + * Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions and reusable workflows in the repository. * - * If the repository belongs to an organization or enterprise that has set restrictive permissions at the organization or enterprise levels, such as `allowed_actions` to `selected` actions, then you cannot override them for the repository. + * If the repository belongs to an organization or enterprise that has set restrictive permissions at the organization or enterprise levels, such as `allowed_actions` to `selected` actions and reusable workflows, then you cannot override them for the repository. * * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. */ put: operations["actions/set-github-actions-permissions-repository"]; }; + "/repos/{owner}/{repo}/actions/permissions/access": { + /** + * Gets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. + * This endpoint only applies to internal repositories. For more information, see "[Managing GitHub Actions settings for a repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-an-internal-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the + * repository `administration` permission to use this endpoint. + */ + get: operations["actions/get-workflow-access-to-repository"]; + /** + * Sets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. + * This endpoint only applies to internal repositories. For more information, see "[Managing GitHub Actions settings for a repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-an-internal-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the + * repository `administration` permission to use this endpoint. + */ + put: operations["actions/set-workflow-access-to-repository"]; + }; "/repos/{owner}/{repo}/actions/permissions/selected-actions": { /** - * Gets the settings for selected actions that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + * Gets the settings for selected actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." * * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. */ get: operations["actions/get-allowed-actions-repository"]; /** - * Sets the actions that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + * Sets the actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." * - * If the repository belongs to an organization or enterprise that has `selected` actions set at the organization or enterprise levels, then you cannot override any of the allowed actions settings. + * If the repository belongs to an organization or enterprise that has `selected` actions and reusable workflows set at the organization or enterprise levels, then you cannot override any of the allowed actions and reusable workflows settings. * * To use the `patterns_allowed` setting for private repositories, the repository must belong to an enterprise. If the repository does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories. * @@ -1791,6 +2323,24 @@ export interface paths { */ put: operations["actions/set-allowed-actions-repository"]; }; + "/repos/{owner}/{repo}/actions/permissions/workflow": { + /** + * Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, + * as well as if GitHub Actions can submit approving pull request reviews. + * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the repository `administration` permission to use this API. + */ + get: operations["actions/get-github-actions-default-workflow-permissions-repository"]; + /** + * Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, and sets if GitHub Actions + * can submit approving pull request reviews. + * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the repository `administration` permission to use this API. + */ + put: operations["actions/set-github-actions-default-workflow-permissions-repository"]; + }; "/repos/{owner}/{repo}/actions/runners": { /** Lists all self-hosted runners configured in a repository. You must authenticate using an access token with the `repo` scope to use this endpoint. */ get: operations["actions/list-self-hosted-runners-for-repo"]; @@ -1849,6 +2399,51 @@ export interface paths { */ delete: operations["actions/delete-self-hosted-runner-from-repo"]; }; + "/repos/{owner}/{repo}/actions/runners/{runner_id}/labels": { + /** + * Lists all labels for a self-hosted runner configured in a repository. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. + */ + get: operations["actions/list-labels-for-self-hosted-runner-for-repo"]; + /** + * Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in a repository. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. + */ + put: operations["actions/set-custom-labels-for-self-hosted-runner-for-repo"]; + /** + * Add custom labels to a self-hosted runner configured in a repository. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. + */ + post: operations["actions/add-custom-labels-to-self-hosted-runner-for-repo"]; + /** + * Remove all custom labels from a self-hosted runner configured in a + * repository. Returns the remaining read-only labels from the runner. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. + */ + delete: operations["actions/remove-all-custom-labels-from-self-hosted-runner-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}": { + /** + * Remove a custom label from a self-hosted runner configured + * in a repository. Returns the remaining labels from the runner. + * + * This endpoint returns a `404 Not Found` status if the custom label is not + * present on the runner. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. + */ + delete: operations["actions/remove-custom-label-from-self-hosted-runner-for-repo"]; + }; "/repos/{owner}/{repo}/actions/runs": { /** * Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). @@ -1867,10 +2462,44 @@ export interface paths { */ delete: operations["actions/delete-workflow-run"]; }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/approvals": { + /** Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + get: operations["actions/get-reviews-for-run"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/approve": { + /** + * Approves a workflow run for a pull request from a public fork of a first time contributor. For more information, see ["Approving workflow runs from public forks](https://docs.github.com/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + post: operations["actions/approve-workflow-run"]; + }; "/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts": { /** Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["actions/list-workflow-run-artifacts"]; }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}": { + /** + * Gets a specific workflow run attempt. Anyone with read access to the repository + * can use this endpoint. If the repository is private you must use an access token + * with the `repo` scope. GitHub Apps must have the `actions:read` permission to + * use this endpoint. + */ + get: operations["actions/get-workflow-run-attempt"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs": { + /** Lists jobs for a specific workflow run attempt. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). */ + get: operations["actions/list-jobs-for-workflow-run-attempt"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs": { + /** + * Gets a redirect URL to download an archive of log files for a specific workflow run attempt. This link expires after + * 1 minute. Look for `Location:` in the response header to find the URL for the download. Anyone with read access to + * the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. + * GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/download-workflow-run-attempt-logs"]; + }; "/repos/{owner}/{repo}/actions/runs/{run_id}/cancel": { /** Cancels a workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ post: operations["actions/cancel-workflow-run"]; @@ -1890,13 +2519,31 @@ export interface paths { /** Deletes all logs for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ delete: operations["actions/delete-workflow-run-logs"]; }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments": { + /** + * Get all deployment environments for a workflow run that are waiting for protection rules to pass. + * + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/get-pending-deployments-for-run"]; + /** + * Approve or reject pending deployments that are waiting on approval by a required reviewer. + * + * Required reviewers with read access to the repository contents and deployments can use this endpoint. Required reviewers must authenticate using an access token with the `repo` scope to use this endpoint. + */ + post: operations["actions/review-pending-deployments-for-run"]; + }; "/repos/{owner}/{repo}/actions/runs/{run_id}/rerun": { /** Re-runs your workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ post: operations["actions/re-run-workflow"]; }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs": { + /** Re-run all of the failed jobs and their dependent jobs in a workflow run using the `id` of the workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. */ + post: operations["actions/re-run-workflow-failed-jobs"]; + }; "/repos/{owner}/{repo}/actions/runs/{run_id}/timing": { /** - * Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". * * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ @@ -1945,7 +2592,7 @@ export interface paths { * * #### Example encrypting a secret using Python * - * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/stable/public/#nacl-public-sealedbox) with Python 3. + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. * * ``` * from base64 import b64encode @@ -2016,7 +2663,7 @@ export interface paths { * * You must configure your GitHub Actions workflow to run when the [`workflow_dispatch` webhook](/developers/webhooks-and-events/webhook-events-and-payloads#workflow_dispatch) event occurs. The `inputs` are configured in the workflow file. For more information about how to configure the `workflow_dispatch` event in the workflow file, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_dispatch)." * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see "[Creating a personal access token for the command line](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line)." + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see "[Creating a personal access token for the command line](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line)." */ post: operations["actions/create-workflow-dispatch"]; }; @@ -2038,14 +2685,14 @@ export interface paths { }; "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing": { /** - * Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". * * You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["actions/get-workflow-usage"]; }; "/repos/{owner}/{repo}/assignees": { - /** Lists the [available assignees](https://help.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository. */ + /** Lists the [available assignees](https://docs.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository. */ get: operations["issues/list-assignees"]; }; "/repos/{owner}/{repo}/assignees/{assignee}": { @@ -2058,10 +2705,34 @@ export interface paths { */ get: operations["issues/check-user-can-be-assigned"]; }; + "/repos/{owner}/{repo}/autolinks": { + /** + * This returns a list of autolinks configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + get: operations["repos/list-autolinks"]; + /** Users with admin access to the repository can create an autolink. */ + post: operations["repos/create-autolink"]; + }; + "/repos/{owner}/{repo}/autolinks/{autolink_id}": { + /** + * This returns a single autolink reference by ID that was configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + get: operations["repos/get-autolink"]; + /** + * This deletes a single autolink reference by ID that was configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + delete: operations["repos/delete-autolink"]; + }; "/repos/{owner}/{repo}/automated-security-fixes": { - /** Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://help.github.com/en/articles/configuring-automated-security-fixes)". */ + /** Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/en/articles/configuring-automated-security-fixes)". */ put: operations["repos/enable-automated-security-fixes"]; - /** Disables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://help.github.com/en/articles/configuring-automated-security-fixes)". */ + /** Disables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/en/articles/configuring-automated-security-fixes)". */ delete: operations["repos/disable-automated-security-fixes"]; }; "/repos/{owner}/{repo}/branches": { @@ -2071,10 +2742,10 @@ export interface paths { get: operations["repos/get-branch"]; }; "/repos/{owner}/{repo}/branches/{branch}/protection": { - /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ get: operations["repos/get-branch-protection"]; /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * * Protecting a branch requires admin or owner permissions to the repository. * @@ -2083,32 +2754,32 @@ export interface paths { * **Note**: The list of users, apps, and teams in total is limited to 100 items. */ put: operations["repos/update-branch-protection"]; - /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ delete: operations["repos/delete-branch-protection"]; }; "/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": { - /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ get: operations["repos/get-admin-branch-protection"]; /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * * Adding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. */ post: operations["repos/set-admin-branch-protection"]; /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * * Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. */ delete: operations["repos/delete-admin-branch-protection"]; }; "/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": { - /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ get: operations["repos/get-pull-request-review-protection"]; - /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ delete: operations["repos/delete-pull-request-review-protection"]; /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * * Updating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled. * @@ -2118,51 +2789,51 @@ export interface paths { }; "/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": { /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * When authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of `true` indicates you must sign commits on this branch. For more information, see [Signing commits with GPG](https://help.github.com/articles/signing-commits-with-gpg) in GitHub Help. + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of `true` indicates you must sign commits on this branch. For more information, see [Signing commits with GPG](https://docs.github.com/articles/signing-commits-with-gpg) in GitHub Help. * * **Note**: You must enable branch protection to require signed commits. */ get: operations["repos/get-commit-signature-protection"]; /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * * When authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits. */ post: operations["repos/create-commit-signature-protection"]; /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * * When authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits. */ delete: operations["repos/delete-commit-signature-protection"]; }; "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": { - /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ get: operations["repos/get-status-checks-protection"]; - /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ delete: operations["repos/remove-status-check-protection"]; /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. */ patch: operations["repos/update-status-check-protection"]; }; "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": { - /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ get: operations["repos/get-all-status-check-contexts"]; - /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ put: operations["repos/set-status-check-contexts"]; - /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ post: operations["repos/add-status-check-contexts"]; - /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ delete: operations["repos/remove-status-check-contexts"]; }; "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions": { /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * * Lists who has access to this protected branch. * @@ -2170,7 +2841,7 @@ export interface paths { */ get: operations["repos/get-access-restrictions"]; /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * * Disables the ability to restrict who can push to this branch. */ @@ -2178,13 +2849,13 @@ export interface paths { }; "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": { /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * * Lists the GitHub Apps that have push access to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. */ get: operations["repos/get-apps-with-access-to-protected-branch"]; /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * * Replaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. * @@ -2194,7 +2865,7 @@ export interface paths { */ put: operations["repos/set-app-access-restrictions"]; /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * * Grants the specified apps push access for this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. * @@ -2204,7 +2875,7 @@ export interface paths { */ post: operations["repos/add-app-access-restrictions"]; /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * * Removes the ability of an app to push to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. * @@ -2216,13 +2887,13 @@ export interface paths { }; "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": { /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * * Lists the teams who have push access to this branch. The list includes child teams. */ get: operations["repos/get-teams-with-access-to-protected-branch"]; /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * * Replaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams. * @@ -2232,7 +2903,7 @@ export interface paths { */ put: operations["repos/set-team-access-restrictions"]; /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * * Grants the specified teams push access for this branch. You can also give push access to child teams. * @@ -2242,7 +2913,7 @@ export interface paths { */ post: operations["repos/add-team-access-restrictions"]; /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * * Removes the ability of a team to push to this branch. You can also remove push access for child teams. * @@ -2254,13 +2925,13 @@ export interface paths { }; "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": { /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * * Lists the people who have push access to this branch. */ get: operations["repos/get-users-with-access-to-protected-branch"]; /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * * Replaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people. * @@ -2270,7 +2941,7 @@ export interface paths { */ put: operations["repos/set-user-access-restrictions"]; /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * * Grants the specified people push access for this branch. * @@ -2280,7 +2951,7 @@ export interface paths { */ post: operations["repos/add-user-access-restrictions"]; /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * * Removes the ability of a user to push to this branch. * @@ -2338,6 +3009,14 @@ export interface paths { /** Lists annotations for a check run using the annotation `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get annotations for a check run. OAuth Apps and authenticated users must have the `repo` scope to get annotations for a check run in a private repository. */ get: operations["checks/list-annotations"]; }; + "/repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest": { + /** + * Triggers GitHub to rerequest an existing check run, without pushing new code to a repository. This endpoint will trigger the [`check_run` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) event with the action `rerequested`. When a check run is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. + * + * To rerequest a check run, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository. + */ + post: operations["checks/rerequest-run"]; + }; "/repos/{owner}/{repo}/check-suites": { /** * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. @@ -2375,88 +3054,412 @@ export interface paths { post: operations["checks/rerequest-suite"]; }; "/repos/{owner}/{repo}/code-scanning/alerts": { - /** Lists all open code scanning alerts for the default branch (usually `main` or `master`). You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint. */ + /** + * Lists all open code scanning alerts for the default branch (usually `main` + * or `master`). You must use an access token with the `security_events` scope to use + * this endpoint with private repos, the `public_repo` scope also grants permission to read + * security events on public repos only. GitHub Apps must have the `security_events` read + * permission to use this endpoint. + * + * The response includes a `most_recent_instance` object. + * This provides details of the most recent instance of this alert + * for the default branch or for the specified Git reference + * (if you used `ref` in the request). + */ get: operations["code-scanning/list-alerts-for-repo"]; }; "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": { /** - * Gets a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint. + * Gets a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. * - * The security `alert_number` is found at the end of the security alert's URL. For example, the security alert ID for `https://github.com/Octo-org/octo-repo/security/code-scanning/88` is `88`. + * **Deprecation notice**: + * The instances field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The same information can now be retrieved via a GET request to the URL specified by `instances_url`. */ get: operations["code-scanning/get-alert"]; - /** Updates the status of a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` write permission to use this endpoint. */ + /** Updates the status of a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. */ patch: operations["code-scanning/update-alert"]; }; - "/repos/{owner}/{repo}/code-scanning/analyses": { - /** List the details of recent code scanning analyses for a repository. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint. */ - get: operations["code-scanning/list-recent-analyses"]; - }; - "/repos/{owner}/{repo}/code-scanning/sarifs": { - /** Upload a SARIF file containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` write permission to use this endpoint. */ - post: operations["code-scanning/upload-sarif"]; + "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances": { + /** + * Lists all instances of the specified code scanning alert. + * You must use an access token with the `security_events` scope to use this endpoint with private repos, + * the `public_repo` scope also grants permission to read security events on public repos only. + * GitHub Apps must have the `security_events` read permission to use this endpoint. + */ + get: operations["code-scanning/list-alert-instances"]; }; - "/repos/{owner}/{repo}/collaborators": { + "/repos/{owner}/{repo}/code-scanning/analyses": { /** - * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * Lists the details of all code scanning analyses for a repository, + * starting with the most recent. + * The response is paginated and you can use the `page` and `per_page` parameters + * to list the analyses you're interested in. + * By default 30 analyses are listed per page. * - * Team members will include the members of child teams. + * The `rules_count` field in the response give the number of rules + * that were run in the analysis. + * For very old analyses this data is not available, + * and `0` is returned in this field. + * + * You must use an access token with the `security_events` scope to use this endpoint with private repos, + * the `public_repo` scope also grants permission to read security events on public repos only. + * GitHub Apps must have the `security_events` read permission to use this endpoint. + * + * **Deprecation notice**: + * The `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field. */ - get: operations["repos/list-collaborators"]; + get: operations["code-scanning/list-recent-analyses"]; }; - "/repos/{owner}/{repo}/collaborators/{username}": { + "/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}": { /** - * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * Gets a specified code scanning analysis for a repository. + * You must use an access token with the `security_events` scope to use this endpoint with private repos, + * the `public_repo` scope also grants permission to read security events on public repos only. + * GitHub Apps must have the `security_events` read permission to use this endpoint. * - * Team members will include the members of child teams. + * The default JSON response contains fields that describe the analysis. + * This includes the Git reference and commit SHA to which the analysis relates, + * the datetime of the analysis, the name of the code scanning tool, + * and the number of alerts. + * + * The `rules_count` field in the default response give the number of rules + * that were run in the analysis. + * For very old analyses this data is not available, + * and `0` is returned in this field. + * + * If you use the Accept header `application/sarif+json`, + * the response contains the analysis data that was uploaded. + * This is formatted as + * [SARIF version 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html). */ - get: operations["repos/check-collaborator"]; + get: operations["code-scanning/get-analysis"]; /** - * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + * Deletes a specified code scanning analysis from a repository. For + * private repositories, you must use an access token with the `repo` scope. For public repositories, + * you must use an access token with `public_repo` scope. + * GitHub Apps must have the `security_events` write permission to use this endpoint. * - * For more information the permission levels, see "[Repository permission levels for an organization](https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". + * You can delete one analysis at a time. + * To delete a series of analyses, start with the most recent analysis and work backwards. + * Conceptually, the process is similar to the undo function in a text editor. * - * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * When you list the analyses for a repository, + * one or more will be identified as deletable in the response: * - * The invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the [repository invitations API endpoints](https://docs.github.com/rest/reference/repos#invitations). + * ``` + * "deletable": true + * ``` * - * **Rate limits** + * An analysis is deletable when it's the most recent in a set of analyses. + * Typically, a repository will have multiple sets of analyses + * for each enabled code scanning tool, + * where a set is determined by a unique combination of analysis values: * - * To prevent abuse, you are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository. - */ - put: operations["repos/add-collaborator"]; - delete: operations["repos/remove-collaborator"]; - }; - "/repos/{owner}/{repo}/collaborators/{username}/permission": { - /** Checks the repository permission of a collaborator. The possible repository permissions are `admin`, `write`, `read`, and `none`. */ - get: operations["repos/get-collaborator-permission-level"]; + * * `ref` + * * `tool` + * * `analysis_key` + * * `environment` + * + * If you attempt to delete an analysis that is not the most recent in a set, + * you'll get a 400 response with the message: + * + * ``` + * Analysis specified is not deletable. + * ``` + * + * The response from a successful `DELETE` operation provides you with + * two alternative URLs for deleting the next analysis in the set: + * `next_analysis_url` and `confirm_delete_url`. + * Use the `next_analysis_url` URL if you want to avoid accidentally deleting the final analysis + * in a set. This is a useful option if you want to preserve at least one analysis + * for the specified tool in your repository. + * Use the `confirm_delete_url` URL if you are content to remove all analyses for a tool. + * When you delete the last analysis in a set, the value of `next_analysis_url` and `confirm_delete_url` + * in the 200 response is `null`. + * + * As an example of the deletion process, + * let's imagine that you added a workflow that configured a particular code scanning tool + * to analyze the code in a repository. This tool has added 15 analyses: + * 10 on the default branch, and another 5 on a topic branch. + * You therefore have two separate sets of analyses for this tool. + * You've now decided that you want to remove all of the analyses for the tool. + * To do this you must make 15 separate deletion requests. + * To start, you must find an analysis that's identified as deletable. + * Each set of analyses always has one that's identified as deletable. + * Having found the deletable analysis for one of the two sets, + * delete this analysis and then continue deleting the next analysis in the set until they're all deleted. + * Then repeat the process for the second set. + * The procedure therefore consists of a nested loop: + * + * **Outer loop**: + * * List the analyses for the repository, filtered by tool. + * * Parse this list to find a deletable analysis. If found: + * + * **Inner loop**: + * * Delete the identified analysis. + * * Parse the response for the value of `confirm_delete_url` and, if found, use this in the next iteration. + * + * The above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `confirm_delete_url` value. Alternatively, you could use the `next_analysis_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely. + */ + delete: operations["code-scanning/delete-analysis"]; }; - "/repos/{owner}/{repo}/comments": { + "/repos/{owner}/{repo}/code-scanning/sarifs": { /** - * Commit Comments use [these custom media types](https://docs.github.com/rest/reference/repos#custom-media-types). You can read more about the use of media types in the API [here](https://docs.github.com/rest/overview/media-types/). + * Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint for private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. * - * Comments are ordered by ascending ID. + * There are two places where you can upload code scanning results. + * - If you upload to a pull request, for example `--ref refs/pull/42/merge` or `--ref refs/pull/42/head`, then the results appear as alerts in a pull request check. For more information, see "[Triaging code scanning alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)." + * - If you upload to a branch, for example `--ref refs/heads/my-branch`, then the results appear in the **Security** tab for your repository. For more information, see "[Managing code scanning alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)." + * + * You must compress the SARIF-formatted analysis data that you want to upload, using `gzip`, and then encode it as a Base64 format string. For example: + * + * ``` + * gzip -c analysis-data.sarif | base64 -w0 + * ``` + * + * SARIF upload supports a maximum of 5000 results per analysis run. Any results over this limit are ignored and any SARIF uploads with more than 25,000 results are rejected. Typically, but not necessarily, a SARIF file contains a single run of a single tool. If a code scanning tool generates too many results, you should update the analysis configuration to run only the most important rules or queries. + * + * The `202 Accepted`, response includes an `id` value. + * You can use this ID to check the status of the upload by using this for the `/sarifs/{sarif_id}` endpoint. + * For more information, see "[Get information about a SARIF upload](/rest/reference/code-scanning#get-information-about-a-sarif-upload)." */ - get: operations["repos/list-commit-comments-for-repo"]; - }; - "/repos/{owner}/{repo}/comments/{comment_id}": { - get: operations["repos/get-commit-comment"]; - delete: operations["repos/delete-commit-comment"]; - patch: operations["repos/update-commit-comment"]; + post: operations["code-scanning/upload-sarif"]; }; - "/repos/{owner}/{repo}/comments/{comment_id}/reactions": { - /** List the reactions to a [commit comment](https://docs.github.com/rest/reference/repos#comments). */ - get: operations["reactions/list-for-commit-comment"]; - /** Create a reaction to a [commit comment](https://docs.github.com/rest/reference/repos#comments). A response with a `Status: 200 OK` means that you already added the reaction type to this commit comment. */ - post: operations["reactions/create-for-commit-comment"]; + "/repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}": { + /** Gets information about a SARIF upload, including the status and the URL of the analysis that was uploaded so that you can retrieve details of the analysis. For more information, see "[Get a code scanning analysis for a repository](/rest/reference/code-scanning#get-a-code-scanning-analysis-for-a-repository)." You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. */ + get: operations["code-scanning/get-sarif"]; }; - "/repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}": { + "/repos/{owner}/{repo}/codeowners/errors": { /** - * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/comments/:comment_id/reactions/:reaction_id`. + * List any syntax errors that are detected in the CODEOWNERS + * file. * - * Delete a reaction to a [commit comment](https://docs.github.com/rest/reference/repos#comments). + * For more information about the correct CODEOWNERS syntax, + * see "[About code owners](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners)." */ - delete: operations["reactions/delete-for-commit-comment"]; + get: operations["repos/codeowners-errors"]; + }; + "/repos/{owner}/{repo}/codespaces": { + /** + * Lists the codespaces associated to a specified repository and the authenticated user. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. + */ + get: operations["codespaces/list-in-repository-for-authenticated-user"]; + /** + * Creates a codespace owned by the authenticated user in the specified repository. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + post: operations["codespaces/create-with-repo-for-authenticated-user"]; + }; + "/repos/{owner}/{repo}/codespaces/devcontainers": { + /** + * Lists the devcontainer.json files associated with a specified repository and the authenticated user. These files + * specify launchpoint configurations for codespaces created within the repository. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. + */ + get: operations["codespaces/list-devcontainers-in-repository-for-authenticated-user"]; + }; + "/repos/{owner}/{repo}/codespaces/machines": { + /** + * List the machine types available for a given repository based on its configuration. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_metadata` repository permission to use this endpoint. + */ + get: operations["codespaces/repo-machines-for-authenticated-user"]; + }; + "/repos/{owner}/{repo}/codespaces/new": { + /** + * Gets the default attributes for codespaces created by the user with the repository. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + get: operations["codespaces/pre-flight-with-repo-for-authenticated-user"]; + }; + "/repos/{owner}/{repo}/codespaces/secrets": { + /** Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `codespaces_secrets` repository permission to use this endpoint. */ + get: operations["codespaces/list-repo-secrets"]; + }; + "/repos/{owner}/{repo}/codespaces/secrets/public-key": { + /** Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `codespaces_secrets` repository permission to use this endpoint. */ + get: operations["codespaces/get-repo-public-key"]; + }; + "/repos/{owner}/{repo}/codespaces/secrets/{secret_name}": { + /** Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `codespaces_secrets` repository permission to use this endpoint. */ + get: operations["codespaces/get-repo-secret"]; + /** + * Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `repo` scope to use this endpoint. GitHub Apps must have the `codespaces_secrets` repository + * permission to use this endpoint. + * + * #### Example of encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example of encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example of encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example of encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + put: operations["codespaces/create-or-update-repo-secret"]; + /** Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `codespaces_secrets` repository permission to use this endpoint. */ + delete: operations["codespaces/delete-repo-secret"]; + }; + "/repos/{owner}/{repo}/collaborators": { + /** + * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * Organization members with write, maintain, or admin privileges on the organization-owned repository can use this endpoint. + * + * Team members will include the members of child teams. + * + * You must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this + * endpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this + * endpoint. + */ + get: operations["repos/list-collaborators"]; + }; + "/repos/{owner}/{repo}/collaborators/{username}": { + /** + * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * + * Team members will include the members of child teams. + * + * You must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this + * endpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this + * endpoint. + */ + get: operations["repos/check-collaborator"]; + /** + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * Adding an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." + * + * For more information on permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". There are restrictions on which permissions can be granted to organization members when an organization base role is in place. In this case, the permission being given must be equal to or higher than the org base permission. Otherwise, the request will fail with: + * + * ``` + * Cannot assign {member} permission of {role name} + * ``` + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * + * The invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the [repository invitations API endpoints](https://docs.github.com/rest/reference/repos#invitations). + * + * **Updating an existing collaborator's permission level** + * + * The endpoint can also be used to change the permissions of an existing collaborator without first removing and re-adding the collaborator. To change the permissions, use the same endpoint and pass a different `permission` parameter. The response will be a `204`, with no other indication that the permission level changed. + * + * **Rate limits** + * + * You are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository. + */ + put: operations["repos/add-collaborator"]; + delete: operations["repos/remove-collaborator"]; + }; + "/repos/{owner}/{repo}/collaborators/{username}/permission": { + /** Checks the repository permission of a collaborator. The possible repository permissions are `admin`, `write`, `read`, and `none`. */ + get: operations["repos/get-collaborator-permission-level"]; + }; + "/repos/{owner}/{repo}/comments": { + /** + * Commit Comments use [these custom media types](https://docs.github.com/rest/reference/repos#custom-media-types). You can read more about the use of media types in the API [here](https://docs.github.com/rest/overview/media-types/). + * + * Comments are ordered by ascending ID. + */ + get: operations["repos/list-commit-comments-for-repo"]; + }; + "/repos/{owner}/{repo}/comments/{comment_id}": { + get: operations["repos/get-commit-comment"]; + delete: operations["repos/delete-commit-comment"]; + patch: operations["repos/update-commit-comment"]; + }; + "/repos/{owner}/{repo}/comments/{comment_id}/reactions": { + /** List the reactions to a [commit comment](https://docs.github.com/rest/reference/repos#comments). */ + get: operations["reactions/list-for-commit-comment"]; + /** Create a reaction to a [commit comment](https://docs.github.com/rest/reference/repos#comments). A response with an HTTP `200` status means that you already added the reaction type to this commit comment. */ + post: operations["reactions/create-for-commit-comment"]; + }; + "/repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}": { + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/comments/:comment_id/reactions/:reaction_id`. + * + * Delete a reaction to a [commit comment](https://docs.github.com/rest/reference/repos#comments). + */ + delete: operations["reactions/delete-for-commit-comment"]; }; "/repos/{owner}/{repo}/commits": { /** @@ -2493,7 +3496,7 @@ export interface paths { }; "/repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head": { /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * * Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch. */ @@ -2505,12 +3508,12 @@ export interface paths { /** * Create a comment for a commit using its `:commit_sha`. * - * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ post: operations["repos/create-commit-comment"]; }; "/repos/{owner}/{repo}/commits/{commit_sha}/pulls": { - /** Lists all pull requests containing the provided commit SHA, which can be from any point in the commit history. The results will include open and closed pull requests. Additional preview headers may be required to see certain details for associated pull requests, such as whether a pull request is in a draft state. For more information about previews that might affect this endpoint, see the [List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests) endpoint. */ + /** Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, additionally returns open pull requests associated with the commit. The results may include open and closed pull requests. */ get: operations["repos/list-pull-requests-associated-with-commit"]; }; "/repos/{owner}/{repo}/commits/{ref}": { @@ -2574,7 +3577,6 @@ export interface paths { /** * Users with pull access in a repository can access a combined view of commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. * - * The most recent status for each context is returned, up to 100. This field [paginates](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination) if there are over 100 contexts. * * Additionally, a combined `state` is returned. The `state` is one of: * @@ -2592,14 +3594,6 @@ export interface paths { */ get: operations["repos/list-commit-statuses-for-ref"]; }; - "/repos/{owner}/{repo}/community/code_of_conduct": { - /** - * Returns the contents of the repository's code of conduct file, if one is detected. - * - * A code of conduct is detected if there is a file named `CODE_OF_CONDUCT` in the root directory of the repository. GitHub detects which code of conduct it is using fuzzy matching. - */ - get: operations["codes-of-conduct/get-for-repo"]; - }; "/repos/{owner}/{repo}/community/profile": { /** * This endpoint will return all community profile metrics, including an @@ -2617,9 +3611,9 @@ export interface paths { */ get: operations["repos/get-community-profile-metrics"]; }; - "/repos/{owner}/{repo}/compare/{base}...{head}": { + "/repos/{owner}/{repo}/compare/{basehead}": { /** - * Both `:base` and `:head` must be branch names in `:repo`. To compare branches across other repositories in the same network as `:repo`, use the format `:branch`. + * The `basehead` param is comprised of two parts: `base` and `head`. Both must be branch names in `repo`. To compare branches across other repositories in the same network as `repo`, use the format `:branch`. * * The response from the API is equivalent to running the `git log base..head` command; however, commits are returned in chronological order. Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. * @@ -2627,10 +3621,9 @@ export interface paths { * * **Working with large comparisons** * - * The response will include a comparison of up to 250 commits. If you are working with a larger commit range, you can use the [List commits](https://docs.github.com/rest/reference/repos#list-commits) to enumerate all commits in the range. + * To process a response with a large number of commits, you can use (`per_page` or `page`) to paginate the results. When using paging, the list of changed files is only returned with page 1, but includes all changed files for the entire comparison. For more information on working with pagination, see "[Traversing with pagination](/rest/guides/traversing-with-pagination)." * - * For comparisons with extremely large diffs, you may receive an error response indicating that the diff took too long - * to generate. You can typically resolve this error by using a smaller commit range. + * When calling this API without any paging parameters (`per_page` or `page`), the returned list is limited to 250 commits and the last commit in the list is the most recent of the entire comparison. When a paging parameter is specified, the first commit in the returned list of each page is the earliest. * * **Signature verification object** * @@ -2661,7 +3654,7 @@ export interface paths { * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | * | `valid` | None of the above errors applied, so the signature is considered to be verified. | */ - get: operations["repos/compare-commits"]; + get: operations["repos/compare-commits-with-basehead"]; }; "/repos/{owner}/{repo}/contents/{path}": { /** @@ -2677,7 +3670,12 @@ export interface paths { * * To get a repository's contents recursively, you can [recursively get the tree](https://docs.github.com/rest/reference/git#trees). * * This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the [Git Trees * API](https://docs.github.com/rest/reference/git#get-a-tree). - * * This API supports files up to 1 megabyte in size. + * + * #### Size limits + * If the requested file's size is: + * * 1 MB or smaller: All features of this endpoint are supported. + * * Between 1-100 MB: Only the `raw` or `object` [custom media types](https://docs.github.com/rest/repos/contents#custom-media-types-for-repository-contents) are supported. Both will work as normal, except that when using the `object` media type, the `content` field will be an empty string and the `encoding` field will be `"none"`. To get the contents of these larger files, use the `raw` media type. + * * Greater than 100 MB: This endpoint is not supported. * * #### If the content is a directory * The response will be an array of objects, one object for each item in the directory. @@ -2720,6 +3718,106 @@ export interface paths { */ get: operations["repos/list-contributors"]; }; + "/repos/{owner}/{repo}/dependabot/secrets": { + /** Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. */ + get: operations["dependabot/list-repo-secrets"]; + }; + "/repos/{owner}/{repo}/dependabot/secrets/public-key": { + /** Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. */ + get: operations["dependabot/get-repo-public-key"]; + }; + "/repos/{owner}/{repo}/dependabot/secrets/{secret_name}": { + /** Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. */ + get: operations["dependabot/get-repo-secret"]; + /** + * Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository + * permission to use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + put: operations["dependabot/create-or-update-repo-secret"]; + /** Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. */ + delete: operations["dependabot/delete-repo-secret"]; + }; + "/repos/{owner}/{repo}/dependency-graph/compare/{basehead}": { + /** Gets the diff of the dependency changes between two commits of a repository, based on the changes to the dependency manifests made in those commits. */ + get: operations["dependency-graph/diff-range"]; + }; + "/repos/{owner}/{repo}/dependency-graph/snapshots": { + /** Create a new snapshot of a repository's dependencies. You must authenticate using an access token with the `repo` scope to use this endpoint for a repository that the requesting user has access to. */ + post: operations["dependency-graph/create-repository-snapshot"]; + }; "/repos/{owner}/{repo}/deployments": { /** Simple filtering of deployments is available via query parameters: */ get: operations["repos/list-deployments"]; @@ -2738,7 +3836,7 @@ export interface paths { * the API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will * return a failure response. * - * By default, [commit statuses](https://docs.github.com/rest/reference/repos#statuses) for every submitted context must be in a `success` + * By default, [commit statuses](https://docs.github.com/rest/commits/statuses) for every submitted context must be in a `success` * state. The `required_contexts` parameter allows you to specify a subset of contexts that must be `success`, or to * specify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do * not require any contexts or create any commit statuses, the deployment will always succeed. @@ -2775,7 +3873,7 @@ export interface paths { "/repos/{owner}/{repo}/deployments/{deployment_id}": { get: operations["repos/get-deployment"]; /** - * To ensure there can always be an active deployment, you can only delete an _inactive_ deployment. Anyone with `repo` or `repo_deployment` scopes can delete an inactive deployment. + * If the repository only has one deployment, you can delete the deployment regardless of its status. If the repository has more than one deployment, you can only delete inactive deployments. This ensures that repositories with multiple deployments will always have an active deployment. Anyone with `repo` or `repo_deployment` scopes can delete a deployment. * * To set a deployment as inactive, you must: * @@ -2808,22 +3906,46 @@ export interface paths { * * This endpoint requires write access to the repository by providing either: * - * - Personal access tokens with `repo` scope. For more information, see "[Creating a personal access token for the command line](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line)" in the GitHub Help documentation. + * - Personal access tokens with `repo` scope. For more information, see "[Creating a personal access token for the command line](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line)" in the GitHub Help documentation. * - GitHub Apps with both `metadata:read` and `contents:read&write` permissions. * * This input example shows how you can use the `client_payload` as a test to debug your workflow. */ post: operations["repos/create-dispatch-event"]; }; - "/repos/{owner}/{repo}/events": { - get: operations["activity/list-repo-events"]; - }; - "/repos/{owner}/{repo}/forks": { - get: operations["repos/list-forks"]; + "/repos/{owner}/{repo}/environments": { + /** + * Get all environments for a repository. + * + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["repos/get-all-environments"]; + }; + "/repos/{owner}/{repo}/environments/{environment_name}": { + /** Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + get: operations["repos/get-environment"]; + /** + * Create or update an environment with protection rules, such as required reviewers. For more information about environment protection rules, see "[Environments](/actions/reference/environments#environment-protection-rules)." + * + * **Note:** Although you can use this operation to specify that only branches that match specified name patterns can deploy to this environment, you must use the UI to set the name patterns. For more information, see "[Environments](/actions/reference/environments#deployment-branches)." + * + * **Note:** To create or update secrets for an environment, see "[Secrets](/rest/reference/actions#secrets)." + * + * You must authenticate using an access token with the repo scope to use this endpoint. + */ + put: operations["repos/create-or-update-environment"]; + /** You must authenticate using an access token with the repo scope to use this endpoint. */ + delete: operations["repos/delete-an-environment"]; + }; + "/repos/{owner}/{repo}/events": { + get: operations["activity/list-repo-events"]; + }; + "/repos/{owner}/{repo}/forks": { + get: operations["repos/list-forks"]; /** * Create a fork for the authenticated user. * - * **Note**: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Support](https://support.github.com/contact) or [GitHub Premium Support](https://premium.githubsupport.com). + * **Note**: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). */ post: operations["repos/create-fork"]; }; @@ -2849,7 +3971,7 @@ export interface paths { * | Name | Type | Description | * | ---- | ---- | ----------- | * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | * | `signature` | `string` | The signature that was extracted from the commit. | * | `payload` | `string` | The value that was signed. | * @@ -2884,7 +4006,7 @@ export interface paths { * | Name | Type | Description | * | ---- | ---- | ----------- | * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | * | `signature` | `string` | The signature that was extracted from the commit. | * | `payload` | `string` | The value that was signed. | * @@ -3049,6 +4171,18 @@ export interface paths { */ patch: operations["repos/update-webhook-config-for-repo"]; }; + "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries": { + /** Returns a list of webhook deliveries for a webhook configured in a repository. */ + get: operations["repos/list-webhook-deliveries"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}": { + /** Returns a delivery for a webhook configured in a repository. */ + get: operations["repos/get-webhook-delivery"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": { + /** Redeliver a webhook delivery for a webhook configured in a repository. */ + post: operations["repos/redeliver-webhook-delivery"]; + }; "/repos/{owner}/{repo}/hooks/{hook_id}/pings": { /** This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. */ post: operations["repos/ping-webhook"]; @@ -3080,7 +4214,7 @@ export interface paths { * If there are problems, you will see one of these in the `status` field: * * * `auth_failed` - the import requires authentication in order to connect to the original repository. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. - * * `error` - the import encountered an error. The import progress response will include the `failed_step` and an error message. Contact [GitHub Support](https://support.github.com/contact) or [GitHub Premium Support](https://premium.githubsupport.com) for more information. + * * `error` - the import encountered an error. The import progress response will include the `failed_step` and an error message. Contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api) for more information. * * `detection_needs_auth` - the importer requires authentication for the originating repository to continue detection. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. * * `detection_found_nothing` - the importer didn't recognize any source control at the URL. To resolve, [Cancel the import](https://docs.github.com/rest/reference/migrations#cancel-an-import) and [retry](https://docs.github.com/rest/reference/migrations#start-an-import) with the correct URL. * * `detection_found_multiple` - the importer found several projects or repositories at the provided URL. When this is the case, the Import Progress response will also include a `project_choices` field with the possible project choices as values. To update project choice, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. @@ -3106,6 +4240,10 @@ export interface paths { /** * An import can be updated with credentials or a project choice by passing in the appropriate parameters in this API * request. If no parameters are provided, the import will be restarted. + * + * Some servers (e.g. TFS servers) can have several projects at a single URL. In those cases the import progress will + * have the status `detection_found_multiple` and the Import Progress response will include a `project_choices` array. + * You can select the project to import by providing one of the objects in the `project_choices` array in the update request. */ patch: operations["migrations/update-import"]; }; @@ -3126,7 +4264,7 @@ export interface paths { get: operations["migrations/get-large-files"]; }; "/repos/{owner}/{repo}/import/lfs": { - /** You can import repositories from Subversion, Mercurial, and TFS that include files larger than 100MB. This ability is powered by [Git LFS](https://git-lfs.github.com). You can learn more about our LFS feature and working with large files [on our help site](https://help.github.com/articles/versioning-large-files/). */ + /** You can import repositories from Subversion, Mercurial, and TFS that include files larger than 100MB. This ability is powered by [Git LFS](https://git-lfs.github.com). You can learn more about our LFS feature and working with large files [on our help site](https://docs.github.com/articles/versioning-large-files/). */ patch: operations["migrations/set-lfs-preference"]; }; "/repos/{owner}/{repo}/installation": { @@ -3164,9 +4302,9 @@ export interface paths { */ get: operations["issues/list-for-repo"]; /** - * Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://help.github.com/articles/disabling-issues/), the API returns a `410 Gone` status. + * Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://docs.github.com/articles/disabling-issues/), the API returns a `410 Gone` status. * - * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-abuse-rate-limits)" for details. + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ post: operations["issues/create"]; }; @@ -3182,7 +4320,7 @@ export interface paths { "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": { /** List the reactions to an [issue comment](https://docs.github.com/rest/reference/issues#comments). */ get: operations["reactions/list-for-issue-comment"]; - /** Create a reaction to an [issue comment](https://docs.github.com/rest/reference/issues#comments). A response with a `Status: 200 OK` means that you already added the reaction type to this issue comment. */ + /** Create a reaction to an [issue comment](https://docs.github.com/rest/reference/issues#comments). A response with an HTTP `200` status means that you already added the reaction type to this issue comment. */ post: operations["reactions/create-for-issue-comment"]; }; "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}": { @@ -3202,7 +4340,7 @@ export interface paths { "/repos/{owner}/{repo}/issues/{issue_number}": { /** * The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-redirects-redirects) if the issue was - * [transferred](https://help.github.com/articles/transferring-an-issue-to-another-repository/) to another repository. If + * [transferred](https://docs.github.com/articles/transferring-an-issue-to-another-repository/) to another repository. If * the issue was transferred to or deleted from a repository where the authenticated user lacks read access, the API * returns a `404 Not Found` status. If the issue was deleted from a repository where the authenticated user has read * access, the API returns a `410 Gone` status. To receive webhook events for transferred and deleted issues, subscribe @@ -3226,7 +4364,7 @@ export interface paths { "/repos/{owner}/{repo}/issues/{issue_number}/comments": { /** Issue Comments are ordered by ascending ID. */ get: operations["issues/list-comments"]; - /** This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-abuse-rate-limits)" for details. */ + /** This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ post: operations["issues/create-comment"]; }; "/repos/{owner}/{repo}/issues/{issue_number}/events": { @@ -3256,7 +4394,7 @@ export interface paths { "/repos/{owner}/{repo}/issues/{issue_number}/reactions": { /** List the reactions to an [issue](https://docs.github.com/rest/reference/issues). */ get: operations["reactions/list-for-issue"]; - /** Create a reaction to an [issue](https://docs.github.com/rest/reference/issues/). A response with a `Status: 200 OK` means that you already added the reaction type to this issue. */ + /** Create a reaction to an [issue](https://docs.github.com/rest/reference/issues/). A response with an HTTP `200` status means that you already added the reaction type to this issue. */ post: operations["reactions/create-for-issue"]; }; "/repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}": { @@ -3293,6 +4431,10 @@ export interface paths { /** Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language. */ get: operations["repos/list-languages"]; }; + "/repos/{owner}/{repo}/lfs": { + put: operations["repos/enable-lfs-for-repo"]; + delete: operations["repos/disable-lfs-for-repo"]; + }; "/repos/{owner}/{repo}/license": { /** * This method returns the contents of the repository's license file, if one is detected. @@ -3301,6 +4443,10 @@ export interface paths { */ get: operations["licenses/get-for-repo"]; }; + "/repos/{owner}/{repo}/merge-upstream": { + /** Sync a branch of a forked repository to keep it up-to-date with the upstream repository. */ + post: operations["repos/merge-upstream"]; + }; "/repos/{owner}/{repo}/merges": { post: operations["repos/merge"]; }; @@ -3345,23 +4491,33 @@ export interface paths { "/repos/{owner}/{repo}/pages/builds/{build_id}": { get: operations["repos/get-pages-build"]; }; + "/repos/{owner}/{repo}/pages/health": { + /** + * Gets a health check of the DNS settings for the `CNAME` record configured for a repository's GitHub Pages. + * + * The first request to this endpoint returns a `202 Accepted` status and starts an asynchronous background task to get the results for the domain. After the background task completes, subsequent requests to this endpoint return a `200 OK` status with the health check results in the response. + * + * Users must have admin or owner permissions. GitHub Apps must have the `pages:write` and `administration:write` permission to use this endpoint. + */ + get: operations["repos/get-pages-health-check"]; + }; "/repos/{owner}/{repo}/projects": { /** Lists the projects in a repository. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ get: operations["projects/list-for-repo"]; - /** Creates a repository project board. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + /** Creates a repository project board. Returns a `410 Gone` status if projects are disabled in the repository or if the repository does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ post: operations["projects/create-for-repo"]; }; "/repos/{owner}/{repo}/pulls": { - /** Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + /** Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ get: operations["pulls/list"]; /** - * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. * * You can create a new pull request. * - * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. */ post: operations["pulls/create"]; }; @@ -3380,7 +4536,7 @@ export interface paths { "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": { /** List the reactions to a [pull request review comment](https://docs.github.com/rest/reference/pulls#review-comments). */ get: operations["reactions/list-for-pull-request-review-comment"]; - /** Create a reaction to a [pull request review comment](https://docs.github.com/rest/reference/pulls#comments). A response with a `Status: 200 OK` means that you already added the reaction type to this pull request review comment. */ + /** Create a reaction to a [pull request review comment](https://docs.github.com/rest/reference/pulls#comments). A response with an HTTP `200` status means that you already added the reaction type to this pull request review comment. */ post: operations["reactions/create-for-pull-request-review-comment"]; }; "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}": { @@ -3393,7 +4549,7 @@ export interface paths { }; "/repos/{owner}/{repo}/pulls/{pull_number}": { /** - * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * * Lists details of a pull request by providing its number. * @@ -3403,31 +4559,41 @@ export interface paths { * * The value of the `merge_commit_sha` attribute changes depending on the state of the pull request. Before merging a pull request, the `merge_commit_sha` attribute holds the SHA of the _test_ merge commit. After merging a pull request, the `merge_commit_sha` attribute changes depending on how you merged the pull request: * - * * If merged as a [merge commit](https://help.github.com/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit. - * * If merged via a [squash](https://help.github.com/articles/about-merge-methods-on-github/#squashing-your-merge-commits), `merge_commit_sha` represents the SHA of the squashed commit on the base branch. - * * If [rebased](https://help.github.com/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), `merge_commit_sha` represents the commit that the base branch was updated to. + * * If merged as a [merge commit](https://docs.github.com/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit. + * * If merged via a [squash](https://docs.github.com/articles/about-merge-methods-on-github/#squashing-your-merge-commits), `merge_commit_sha` represents the SHA of the squashed commit on the base branch. + * * If [rebased](https://docs.github.com/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), `merge_commit_sha` represents the commit that the base branch was updated to. * * Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. */ get: operations["pulls/get"]; /** - * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. */ patch: operations["pulls/update"]; }; + "/repos/{owner}/{repo}/pulls/{pull_number}/codespaces": { + /** + * Creates a codespace owned by the authenticated user for the specified pull request. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + post: operations["codespaces/create-with-pr-for-authenticated-user"]; + }; "/repos/{owner}/{repo}/pulls/{pull_number}/comments": { /** Lists all review comments for a pull request. By default, review comments are in ascending order by ID. */ get: operations["pulls/list-review-comments"]; /** * Creates a review comment in the pull request diff. To add a regular comment to a pull request timeline, see "[Create an issue comment](https://docs.github.com/rest/reference/issues#create-an-issue-comment)." We recommend creating a review comment using `line`, `side`, and optionally `start_line` and `start_side` if your comment applies to more than one line in the pull request diff. * - * You can still create a review comment using the `position` parameter. When you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. For more information, see the [`comfort-fade` preview notice](https://docs.github.com/rest/reference/pulls#create-a-review-comment-for-a-pull-request-preview-notices). + * The `position` parameter is deprecated. If you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. * * **Note:** The position value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. * - * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ post: operations["pulls/create-review-comment"]; }; @@ -3435,7 +4601,7 @@ export interface paths { /** * Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported. * - * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ post: operations["pulls/create-reply-for-review-comment"]; }; @@ -3449,12 +4615,13 @@ export interface paths { }; "/repos/{owner}/{repo}/pulls/{pull_number}/merge": { get: operations["pulls/check-if-merged"]; - /** This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-abuse-rate-limits)" for details. */ + /** This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ put: operations["pulls/merge"]; }; "/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": { + /** Lists the users or teams whose review is requested for a pull request. Once a requested reviewer submits a review, they are no longer considered a requested reviewer. Their review will instead be returned by the [List reviews for a pull request](https://docs.github.com/rest/pulls/reviews#list-reviews-for-a-pull-request) operation. */ get: operations["pulls/list-requested-reviewers"]; - /** This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-abuse-rate-limits)" for details. */ + /** This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ post: operations["pulls/request-reviewers"]; delete: operations["pulls/remove-requested-reviewers"]; }; @@ -3462,7 +4629,7 @@ export interface paths { /** The list of reviews returns in chronological order. */ get: operations["pulls/list-reviews"]; /** - * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. * * Pull request reviews created in the `PENDING` state do not include the `submitted_at` property in the response. * @@ -3501,6 +4668,14 @@ export interface paths { */ get: operations["repos/get-readme"]; }; + "/repos/{owner}/{repo}/readme/{dir}": { + /** + * Gets the README from a repository directory. + * + * READMEs support [custom media types](https://docs.github.com/rest/reference/repos#custom-media-types) for retrieving the raw content or rendered HTML. + */ + get: operations["repos/get-readme-in-directory"]; + }; "/repos/{owner}/{repo}/releases": { /** * This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/rest/reference/repos#list-repository-tags). @@ -3511,7 +4686,7 @@ export interface paths { /** * Users with push access to the repository can create a release. * - * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ post: operations["repos/create-release"]; }; @@ -3522,6 +4697,10 @@ export interface paths { /** Users with push access to the repository can edit a release asset. */ patch: operations["repos/update-release-asset"]; }; + "/repos/{owner}/{repo}/releases/generate-notes": { + /** Generate a name and body describing a [release](https://docs.github.com/rest/reference/repos#releases). The body content will be markdown formatted and contain information like the changes since last release and users who contributed. The generated release notes are not saved anywhere. They are intended to be generated and used when creating a new release. */ + post: operations["repos/generate-release-notes"]; + }; "/repos/{owner}/{repo}/releases/latest": { /** * View the latest published full release for the repository. @@ -3561,14 +4740,30 @@ export interface paths { * * **Notes:** * * GitHub renames asset filenames that have special characters, non-alphanumeric characters, and leading or trailing periods. The "[List assets for a release](https://docs.github.com/rest/reference/repos#list-assets-for-a-release)" - * endpoint lists the renamed filenames. For more information and help, contact [GitHub Support](https://support.github.com/contact). + * endpoint lists the renamed filenames. For more information and help, contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). * * If you upload an asset with the same filename as another uploaded asset, you'll receive an error and must delete the old file before you can re-upload the new asset. */ post: operations["repos/upload-release-asset"]; }; + "/repos/{owner}/{repo}/releases/{release_id}/reactions": { + /** List the reactions to a [release](https://docs.github.com/rest/reference/repos#releases). */ + get: operations["reactions/list-for-release"]; + /** Create a reaction to a [release](https://docs.github.com/rest/reference/repos#releases). A response with a `Status: 200 OK` means that you already added the reaction type to this release. */ + post: operations["reactions/create-for-release"]; + }; + "/repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}": { + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/releases/:release_id/reactions/:reaction_id`. + * + * Delete a reaction to a [release](https://docs.github.com/rest/reference/repos#releases). + */ + delete: operations["reactions/delete-for-release"]; + }; "/repos/{owner}/{repo}/secret-scanning/alerts": { /** - * Lists all secret scanning alerts for a private repository, from newest to oldest. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the `repo` scope or `security_events` scope. + * Lists secret scanning alerts for an eligible repository, from newest to oldest. + * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. * * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. */ @@ -3576,18 +4771,32 @@ export interface paths { }; "/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": { /** - * Gets a single secret scanning alert detected in a private repository. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the `repo` scope or `security_events` scope. + * Gets a single secret scanning alert detected in an eligible repository. + * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. * * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. */ get: operations["secret-scanning/get-alert"]; /** - * Updates the status of a secret scanning alert in a private repository. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the `repo` scope or `security_events` scope. + * Updates the status of a secret scanning alert in an eligible repository. + * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. * * GitHub Apps must have the `secret_scanning_alerts` write permission to use this endpoint. */ patch: operations["secret-scanning/update-alert"]; }; + "/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations": { + /** + * Lists all locations for a given secret scanning alert for an eligible repository. + * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + get: operations["secret-scanning/list-locations-for-alert"]; + }; "/repos/{owner}/{repo}/stargazers": { /** * Lists the people that have starred the repository. @@ -3657,6 +4866,26 @@ export interface paths { "/repos/{owner}/{repo}/tags": { get: operations["repos/list-tags"]; }; + "/repos/{owner}/{repo}/tags/protection": { + /** + * This returns the tag protection states of a repository. + * + * This information is only available to repository administrators. + */ + get: operations["repos/list-tag-protection"]; + /** + * This creates a tag protection state for a repository. + * This endpoint is only available to repository administrators. + */ + post: operations["repos/create-tag-protection"]; + }; + "/repos/{owner}/{repo}/tags/protection/{tag_protection_id}": { + /** + * This deletes a tag protection state for a repository. + * This endpoint is only available to repository administrators. + */ + delete: operations["repos/delete-tag-protection"]; + }; "/repos/{owner}/{repo}/tarball/{ref}": { /** * Gets a redirect URL to download a tar archive for a repository. If you omit `:ref`, the repository’s default branch (usually @@ -3690,15 +4919,15 @@ export interface paths { get: operations["repos/get-views"]; }; "/repos/{owner}/{repo}/transfer": { - /** A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://help.github.com/articles/about-repository-transfers/). */ + /** A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://docs.github.com/articles/about-repository-transfers/). */ post: operations["repos/transfer"]; }; "/repos/{owner}/{repo}/vulnerability-alerts": { - /** Shows whether dependency alerts are enabled or disabled for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". */ + /** Shows whether dependency alerts are enabled or disabled for a repository. The authenticated user must have admin read access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". */ get: operations["repos/check-vulnerability-alerts"]; - /** Enables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". */ + /** Enables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". */ put: operations["repos/enable-vulnerability-alerts"]; - /** Disables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". */ + /** Disables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". */ delete: operations["repos/disable-vulnerability-alerts"]; }; "/repos/{owner}/{repo}/zipball/{ref}": { @@ -3718,7 +4947,7 @@ export interface paths { * * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: * - * * `public_repo` scope or `repo` scope to create a public repository + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. * * `repo` scope to create a private repository */ post: operations["repos/create-using-template"]; @@ -3727,10 +4956,104 @@ export interface paths { /** * Lists all public repositories in the order that they were created. * - * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of repositories. + * Note: + * - For GitHub Enterprise Server, this endpoint will only list repositories available to all users on the enterprise. + * - Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of repositories. */ get: operations["repos/list-public"]; }; + "/repositories/{repository_id}/environments/{environment_name}/secrets": { + /** Lists all secrets available in an environment without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + get: operations["actions/list-environment-secrets"]; + }; + "/repositories/{repository_id}/environments/{environment_name}/secrets/public-key": { + /** Get the public key for an environment, which you need to encrypt environment secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + get: operations["actions/get-environment-public-key"]; + }; + "/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}": { + /** Gets a single environment secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + get: operations["actions/get-environment-secret"]; + /** + * Creates or updates an environment secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use + * this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + put: operations["actions/create-or-update-environment-secret"]; + /** Deletes a secret in an environment using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + delete: operations["actions/delete-environment-secret"]; + }; "/scim/v2/enterprises/{enterprise}/Groups": { /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ get: operations["enterprise-admin/list-provisioned-groups-enterprise"]; @@ -3959,16 +5282,12 @@ export interface paths { * `q=tetris+language:assembly&sort=stars&order=desc` * * This query searches for repositories with the word `tetris` in the name, the description, or the README. The results are limited to repositories where the primary language is assembly. The results are sorted by stars in descending order, so that the most popular repositories appear first in the search results. - * - * When you include the `mercy` preview header, you can also search for multiple topics by adding more `topic:` instances. For example, your query might look like this: - * - * `q=topic:ruby+topic:rails` */ get: operations["search/repos"]; }; "/search/topics": { /** - * Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). See "[Searching topics](https://help.github.com/articles/searching-topics/)" for a detailed list of qualifiers. + * Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). See "[Searching topics](https://docs.github.com/articles/searching-topics/)" for a detailed list of qualifiers. * * When searching for topics, you can get text match metadata for the topic's **short\_description**, **description**, **name**, or **display\_name** field when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). * @@ -4026,7 +5345,7 @@ export interface paths { * * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). * - * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ post: operations["teams/create-discussion-legacy"]; }; @@ -4062,7 +5381,7 @@ export interface paths { * * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). * - * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ post: operations["teams/create-discussion-comment-legacy"]; }; @@ -4096,7 +5415,7 @@ export interface paths { /** * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Create reaction for a team discussion comment](https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion-comment)" endpoint. * - * Create a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion comment. + * Create a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. */ post: operations["reactions/create-for-team-discussion-comment-legacy"]; }; @@ -4110,7 +5429,7 @@ export interface paths { /** * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion) endpoint. * - * Create a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion. + * Create a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. */ post: operations["reactions/create-for-team-discussion-legacy"]; }; @@ -4144,11 +5463,11 @@ export interface paths { * * We recommend using the [Add or update team membership for a user](https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user) endpoint instead. It allows you to invite new organization members to your teams. * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * * To add someone to a team, the authenticated user must be an organization owner or a team maintainer in the team they're changing. The person being added to the team must be a member of the team's organization. * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." * * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." */ @@ -4158,11 +5477,11 @@ export interface paths { * * We recommend using the [Remove team membership for a user](https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user) endpoint instead. It allows you to remove both active and pending memberships. * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * * To remove a team member, the authenticated user must have 'admin' permissions to the team or be an owner of the org that the team is associated with. Removing a team member does not delete the user, it just removes them from the team. * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." */ delete: operations["teams/remove-member-legacy"]; }; @@ -4174,17 +5493,20 @@ export interface paths { * * To get a user's membership with a team, the team must be visible to the authenticated user. * - * **Note:** The `role` for organization owners returns as `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/reference/teams#create-a-team). + * **Note:** + * The response contains the `state` of the membership and the member's `role`. + * + * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/reference/teams#create-a-team). */ get: operations["teams/get-membership-for-user-legacy"]; /** * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team membership for a user](https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user) endpoint. * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * * If the user is already a member of the team's organization, this endpoint will add the user to the team. To add a membership between an organization member and a team, the authenticated user must be an organization owner or a team maintainer. * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." * * If the user is unaffiliated with the team's organization, this endpoint will send an invitation to the user via email. This newly-created membership will be in the "pending" state until the user accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. To add a membership between an unaffiliated user and a team, the authenticated user must be an organization owner. * @@ -4194,11 +5516,11 @@ export interface paths { /** * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove team membership for a user](https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user) endpoint. * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." */ delete: operations["teams/remove-membership-for-user-legacy"]; }; @@ -4262,7 +5584,7 @@ export interface paths { /** * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List IdP groups for a team`](https://docs.github.com/rest/reference/teams#list-idp-groups-for-a-team) endpoint. * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * * List IdP groups connected to a team on GitHub. */ @@ -4270,7 +5592,7 @@ export interface paths { /** * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create or update IdP group connections`](https://docs.github.com/rest/reference/teams#create-or-update-idp-group-connections) endpoint. * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * * Creates, updates, or removes a connection between a team and an IdP group. When adding groups to a team, you must include all new and existing groups to avoid replacing existing groups with the new ones. Specifying an empty `groups` array will remove all connections for a team. */ @@ -4292,7248 +5614,19709 @@ export interface paths { }; "/user/blocks": { /** List the users you've blocked on your personal account. */ - get: operations["users/list-blocked-by-authenticated"]; + get: operations["users/list-blocked-by-authenticated-user"]; }; "/user/blocks/{username}": { get: operations["users/check-blocked"]; put: operations["users/block"]; delete: operations["users/unblock"]; }; - "/user/email/visibility": { - /** Sets the visibility for your primary email addresses. */ - patch: operations["users/set-primary-email-visibility-for-authenticated"]; - }; - "/user/emails": { - /** Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the `user:email` scope. */ - get: operations["users/list-emails-for-authenticated"]; - /** This endpoint is accessible with the `user` scope. */ - post: operations["users/add-email-for-authenticated"]; - /** This endpoint is accessible with the `user` scope. */ - delete: operations["users/delete-email-for-authenticated"]; - }; - "/user/followers": { - /** Lists the people following the authenticated user. */ - get: operations["users/list-followers-for-authenticated-user"]; - }; - "/user/following": { - /** Lists the people who the authenticated user follows. */ - get: operations["users/list-followed-by-authenticated"]; - }; - "/user/following/{username}": { - get: operations["users/check-person-is-followed-by-authenticated"]; + "/user/codespaces": { /** - * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * Lists the authenticated user's codespaces. * - * Following a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. */ - put: operations["users/follow"]; - /** Unfollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. */ - delete: operations["users/unfollow"]; - }; - "/user/gpg_keys": { - /** Lists the current user's GPG keys. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ - get: operations["users/list-gpg-keys-for-authenticated"]; - /** Adds a GPG key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ - post: operations["users/create-gpg-key-for-authenticated"]; - }; - "/user/gpg_keys/{gpg_key_id}": { - /** View extended details for a single GPG key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ - get: operations["users/get-gpg-key-for-authenticated"]; - /** Removes a GPG key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ - delete: operations["users/delete-gpg-key-for-authenticated"]; - }; - "/user/installations": { + get: operations["codespaces/list-for-authenticated-user"]; /** - * Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * Creates a new codespace, owned by the authenticated user. * - * You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. + * This endpoint requires either a `repository_id` OR a `pull_request` but not both. * - * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * You must authenticate using an access token with the `codespace` scope to use this endpoint. * - * You can find the permissions for the installation under the `permissions` key. + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. */ - get: operations["apps/list-installations-for-authenticated-user"]; + post: operations["codespaces/create-for-authenticated-user"]; }; - "/user/installations/{installation_id}/repositories": { + "/user/codespaces/secrets": { /** - * List repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access for an installation. - * - * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * Lists all secrets available for a user's Codespaces without revealing their + * encrypted values. * - * You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. * - * The access the user has to each repository is included in the hash under the `permissions` key. + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. */ - get: operations["apps/list-installation-repos-for-authenticated-user"]; + get: operations["codespaces/list-secrets-for-authenticated-user"]; }; - "/user/installations/{installation_id}/repositories/{repository_id}": { + "/user/codespaces/secrets/public-key": { /** - * Add a single repository to an installation. The authenticated user must have admin access to the repository. + * Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. * - * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. - */ - put: operations["apps/add-repo-to-installation"]; - /** - * Remove a single repository from an installation. The authenticated user must have admin access to the repository. + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. * - * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. */ - delete: operations["apps/remove-repo-from-installation"]; - }; - "/user/interaction-limits": { - /** Shows which type of GitHub user can interact with your public repositories and when the restriction expires. If there are no restrictions, you will see an empty response. */ - get: operations["interactions/get-restrictions-for-authenticated-user"]; - /** Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user. */ - put: operations["interactions/set-restrictions-for-authenticated-user"]; - /** Removes any interaction restrictions from your public repositories. */ - delete: operations["interactions/remove-restrictions-for-authenticated-user"]; + get: operations["codespaces/get-public-key-for-authenticated-user"]; }; - "/user/issues": { + "/user/codespaces/secrets/{secret_name}": { /** - * List issues across owned and member repositories assigned to the authenticated user. + * Gets a secret available to a user's codespaces without revealing its encrypted value. * - * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. */ - get: operations["issues/list-for-authenticated-user"]; - }; - "/user/keys": { - /** Lists the public SSH keys for the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ - get: operations["users/list-public-ssh-keys-for-authenticated"]; - /** Adds a public SSH key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ - post: operations["users/create-public-ssh-key-for-authenticated"]; - }; - "/user/keys/{key_id}": { - /** View extended details for a single public SSH key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ - get: operations["users/get-public-ssh-key-for-authenticated"]; - /** Removes a public SSH key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ - delete: operations["users/delete-public-ssh-key-for-authenticated"]; - }; - "/user/marketplace_purchases": { - /** Lists the active subscriptions for the authenticated user. You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. . OAuth Apps must authenticate using an [OAuth token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/). */ - get: operations["apps/list-subscriptions-for-authenticated-user"]; - }; - "/user/marketplace_purchases/stubbed": { - /** Lists the active subscriptions for the authenticated user. You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. . OAuth Apps must authenticate using an [OAuth token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/). */ - get: operations["apps/list-subscriptions-for-authenticated-user-stubbed"]; - }; - "/user/memberships/orgs": { - get: operations["orgs/list-memberships-for-authenticated-user"]; - }; - "/user/memberships/orgs/{org}": { - get: operations["orgs/get-membership-for-authenticated-user"]; - patch: operations["orgs/update-membership-for-authenticated-user"]; - }; - "/user/migrations": { - /** Lists all migrations a user has started. */ - get: operations["migrations/list-for-authenticated-user"]; - /** Initiates the generation of a user migration archive. */ - post: operations["migrations/start-for-authenticated-user"]; - }; - "/user/migrations/{migration_id}": { + get: operations["codespaces/get-secret-for-authenticated-user"]; /** - * Fetches a single user migration. The response includes the `state` of the migration, which can be one of the following values: + * Creates or updates a secret for a user's codespace with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). * - * * `pending` - the migration hasn't started yet. - * * `exporting` - the migration is in progress. - * * `exported` - the migration finished successfully. - * * `failed` - the migration failed. + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must also have Codespaces access to use this endpoint. * - * Once the migration has been `exported` you can [download the migration archive](https://docs.github.com/rest/reference/migrations#download-a-user-migration-archive). - */ - get: operations["migrations/get-status-for-authenticated-user"]; - }; - "/user/migrations/{migration_id}/archive": { - /** - * Fetches the URL to download the migration archive as a `tar.gz` file. Depending on the resources your repository uses, the migration archive can contain JSON files with data for these objects: + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission and `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. * - * * attachments - * * bases - * * commit\_comments - * * issue\_comments - * * issue\_events - * * issues - * * milestones - * * organizations - * * projects - * * protected\_branches - * * pull\_request\_reviews - * * pull\_requests - * * releases - * * repositories - * * review\_comments - * * schema - * * users + * #### Example encrypting a secret using Node.js * - * The archive will also contain an `attachments` directory that includes all attachment files uploaded to GitHub.com and a `repositories` directory that contains the repository's Git data. + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` */ - get: operations["migrations/get-archive-for-authenticated-user"]; - /** Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [List user migrations](https://docs.github.com/rest/reference/migrations#list-user-migrations) and [Get a user migration status](https://docs.github.com/rest/reference/migrations#get-a-user-migration-status) endpoints, will continue to be available even after an archive is deleted. */ - delete: operations["migrations/delete-archive-for-authenticated-user"]; - }; - "/user/migrations/{migration_id}/repos/{repo_name}/lock": { - /** Unlocks a repository. You can lock repositories when you [start a user migration](https://docs.github.com/rest/reference/migrations#start-a-user-migration). Once the migration is complete you can unlock each repository to begin using it again or [delete the repository](https://docs.github.com/rest/reference/repos#delete-a-repository) if you no longer need the source data. Returns a status of `404 Not Found` if the repository is not locked. */ - delete: operations["migrations/unlock-repo-for-authenticated-user"]; - }; - "/user/migrations/{migration_id}/repositories": { - /** Lists all the repositories for this user migration. */ - get: operations["migrations/list-repos-for-user"]; - }; - "/user/orgs": { + put: operations["codespaces/create-or-update-secret-for-authenticated-user"]; /** - * List organizations for the authenticated user. + * Deletes a secret from a user's codespaces using the secret name. Deleting the secret will remove access from all codespaces that were allowed to access the secret. * - * **OAuth scope requirements** + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. * - * This only lists organizations that your authorization allows you to operate on in some way (e.g., you can list teams with `read:org` scope, you can publicize your organization membership with `user` scope, etc.). Therefore, this API requires at least `user` or `read:org` scope. OAuth requests with insufficient scope receive a `403 Forbidden` response. + * GitHub Apps must have write access to the `codespaces_user_secrets` user permission to use this endpoint. */ - get: operations["orgs/list-for-authenticated-user"]; - }; - "/user/projects": { - post: operations["projects/create-for-authenticated-user"]; - }; - "/user/public_emails": { - /** Lists your publicly visible email address, which you can set with the [Set primary email visibility for the authenticated user](https://docs.github.com/rest/reference/users#set-primary-email-visibility-for-the-authenticated-user) endpoint. This endpoint is accessible with the `user:email` scope. */ - get: operations["users/list-public-emails-for-authenticated"]; + delete: operations["codespaces/delete-secret-for-authenticated-user"]; }; - "/user/repos": { + "/user/codespaces/secrets/{secret_name}/repositories": { /** - * Lists repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * List the repositories that have been granted the ability to use a user's codespace secret. * - * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. */ - get: operations["repos/list-for-authenticated-user"]; + get: operations["codespaces/list-repositories-for-secret-for-authenticated-user"]; /** - * Creates a new repository for the authenticated user. - * - * **OAuth scope requirements** + * Select the repositories that will use a user's codespace secret. * - * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. * - * * `public_repo` scope or `repo` scope to create a public repository - * * `repo` scope to create a private repository + * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. */ - post: operations["repos/create-for-authenticated-user"]; + put: operations["codespaces/set-repositories-for-secret-for-authenticated-user"]; }; - "/user/repository_invitations": { - /** When authenticating as a user, this endpoint will list all currently open repository invitations for that user. */ - get: operations["repos/list-invitations-for-authenticated-user"]; - }; - "/user/repository_invitations/{invitation_id}": { - delete: operations["repos/decline-invitation"]; - patch: operations["repos/accept-invitation"]; - }; - "/user/starred": { + "/user/codespaces/secrets/{secret_name}/repositories/{repository_id}": { /** - * Lists repositories the authenticated user has starred. - * - * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + * Adds a repository to the selected repositories for a user's codespace secret. + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on the referenced repository to use this endpoint. */ - get: operations["activity/list-repos-starred-by-authenticated-user"]; - }; - "/user/starred/{owner}/{repo}": { - get: operations["activity/check-repo-is-starred-by-authenticated-user"]; - /** Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." */ - put: operations["activity/star-repo-for-authenticated-user"]; - delete: operations["activity/unstar-repo-for-authenticated-user"]; - }; - "/user/subscriptions": { - /** Lists repositories the authenticated user is watching. */ - get: operations["activity/list-watched-repos-for-authenticated-user"]; - }; - "/user/teams": { - /** List all of the teams across all of the organizations to which the authenticated user belongs. This method requires `user`, `repo`, or `read:org` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) when authenticating via [OAuth](https://docs.github.com/apps/building-oauth-apps/). */ - get: operations["teams/list-for-authenticated-user"]; - }; - "/users": { + put: operations["codespaces/add-repository-for-secret-for-authenticated-user"]; /** - * Lists all users, in the order that they signed up on GitHub. This list includes personal user accounts and organization accounts. - * - * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of users. + * Removes a repository from the selected repositories for a user's codespace secret. + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * GitHub Apps must have write access to the `codespaces_user_secrets` user permission to use this endpoint. */ - get: operations["users/list"]; + delete: operations["codespaces/remove-repository-for-secret-for-authenticated-user"]; }; - "/users/{username}": { + "/user/codespaces/{codespace_name}": { /** - * Provides publicly available information about someone with a GitHub account. - * - * GitHub Apps with the `Plan` user permission can use this endpoint to retrieve information about a user's GitHub plan. The GitHub App must be authenticated as a user. See "[Identifying and authorizing users for GitHub Apps](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)" for details about authentication. For an example response, see 'Response with GitHub plan information' below" + * Gets information about a user's codespace. * - * The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be “public” which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/overview/resources-in-the-rest-api#authentication). + * You must authenticate using an access token with the `codespace` scope to use this endpoint. * - * The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see "[Emails API](https://docs.github.com/rest/reference/users#emails)". + * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. */ - get: operations["users/get-by-username"]; - }; - "/users/{username}/events": { - /** If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events. */ - get: operations["activity/list-events-for-authenticated-user"]; - }; - "/users/{username}/events/orgs/{org}": { - /** This is the user's organization dashboard. You must be authenticated as the user to view this. */ - get: operations["activity/list-org-events-for-authenticated-user"]; - }; - "/users/{username}/events/public": { - get: operations["activity/list-public-events-for-user"]; - }; - "/users/{username}/followers": { - /** Lists the people following the specified user. */ - get: operations["users/list-followers-for-user"]; - }; - "/users/{username}/following": { - /** Lists the people who the specified user follows. */ - get: operations["users/list-following-for-user"]; - }; - "/users/{username}/following/{target_user}": { - get: operations["users/check-following-for-user"]; - }; - "/users/{username}/gists": { - /** Lists public gists for the specified user: */ - get: operations["gists/list-for-user"]; - }; - "/users/{username}/gpg_keys": { - /** Lists the GPG keys for a user. This information is accessible by anyone. */ - get: operations["users/list-gpg-keys-for-user"]; - }; - "/users/{username}/hovercard": { + get: operations["codespaces/get-for-authenticated-user"]; /** - * Provides hovercard information when authenticated through basic auth or OAuth with the `repo` scope. You can find out more about someone in relation to their pull requests, issues, repositories, and organizations. + * Deletes a user's codespace. * - * The `subject_type` and `subject_id` parameters provide context for the person's hovercard, which returns more information than without the parameters. For example, if you wanted to find out more about `octocat` who owns the `Spoon-Knife` repository via cURL, it would look like this: + * You must authenticate using an access token with the `codespace` scope to use this endpoint. * - * ```shell - * curl -u username:token - * https://api.github.com/users/octocat/hovercard?subject_type=repository&subject_id=1300192 - * ``` + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. */ - get: operations["users/get-context-for-user"]; - }; - "/users/{username}/installation": { + delete: operations["codespaces/delete-for-authenticated-user"]; /** - * Enables an authenticated GitHub App to find the user’s installation information. + * Updates a codespace owned by the authenticated user. Currently only the codespace's machine type and recent folders can be modified using this endpoint. * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * If you specify a new machine type it will be applied the next time your codespace is started. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. */ - get: operations["apps/get-user-installation"]; - }; - "/users/{username}/keys": { - /** Lists the _verified_ public SSH keys for a user. This is accessible by anyone. */ - get: operations["users/list-public-keys-for-user"]; + patch: operations["codespaces/update-for-authenticated-user"]; }; - "/users/{username}/orgs": { + "/user/codespaces/{codespace_name}/exports": { /** - * List [public organization memberships](https://help.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user. + * Triggers an export of the specified codespace and returns a URL and ID where the status of the export can be monitored. * - * This method only lists _public_ memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the [List organizations for the authenticated user](https://docs.github.com/rest/reference/orgs#list-organizations-for-the-authenticated-user) API instead. + * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. */ - get: operations["orgs/list-for-user"]; - }; - "/users/{username}/projects": { - get: operations["projects/list-for-user"]; - }; - "/users/{username}/received_events": { - /** These are events that you've received by watching repos and following users. If you are authenticated as the given user, you will see private events. Otherwise, you'll only see public events. */ - get: operations["activity/list-received-events-for-user"]; - }; - "/users/{username}/received_events/public": { - get: operations["activity/list-received-public-events-for-user"]; - }; - "/users/{username}/repos": { - /** Lists public repositories for the specified user. */ - get: operations["repos/list-for-user"]; + post: operations["codespaces/export-for-authenticated-user"]; }; - "/users/{username}/settings/billing/actions": { + "/user/codespaces/{codespace_name}/exports/{export_id}": { /** - * Gets the summary of the free and paid GitHub Actions minutes used. + * Gets information about an export of a codespace. * - * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. * - * Access tokens must have the `user` scope. + * GitHub Apps must have read access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. */ - get: operations["billing/get-github-actions-billing-user"]; + get: operations["codespaces/get-export-details-for-authenticated-user"]; }; - "/users/{username}/settings/billing/packages": { + "/user/codespaces/{codespace_name}/machines": { /** - * Gets the free and paid storage used for GitHub Packages in gigabytes. + * List the machine types a codespace can transition to use. * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * You must authenticate using an access token with the `codespace` scope to use this endpoint. * - * Access tokens must have the `user` scope. + * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. */ - get: operations["billing/get-github-packages-billing-user"]; + get: operations["codespaces/codespace-machines-for-authenticated-user"]; }; - "/users/{username}/settings/billing/shared-storage": { + "/user/codespaces/{codespace_name}/start": { /** - * Gets the estimated paid and estimated total storage used for GitHub Actions and Github Packages. + * Starts a user's codespace. * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * You must authenticate using an access token with the `codespace` scope to use this endpoint. * - * Access tokens must have the `user` scope. + * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. */ - get: operations["billing/get-shared-storage-billing-user"]; + post: operations["codespaces/start-for-authenticated-user"]; }; - "/users/{username}/starred": { + "/user/codespaces/{codespace_name}/stop": { /** - * Lists repositories a user has starred. + * Stops a user's codespace. * - * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. */ - get: operations["activity/list-repos-starred-by-user"]; + post: operations["codespaces/stop-for-authenticated-user"]; }; - "/users/{username}/subscriptions": { - /** Lists repositories a user is watching. */ - get: operations["activity/list-repos-watched-by-user"]; + "/user/email/visibility": { + /** Sets the visibility for your primary email addresses. */ + patch: operations["users/set-primary-email-visibility-for-authenticated-user"]; }; - "/zen": { - /** Get a random sentence from the Zen of GitHub */ - get: operations["meta/get-zen"]; + "/user/emails": { + /** Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the `user:email` scope. */ + get: operations["users/list-emails-for-authenticated-user"]; + /** This endpoint is accessible with the `user` scope. */ + post: operations["users/add-email-for-authenticated-user"]; + /** This endpoint is accessible with the `user` scope. */ + delete: operations["users/delete-email-for-authenticated-user"]; }; -} - -export interface components { - schemas: { - /** Simple User */ - "simple-user": { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string | null; - url: string; + "/user/followers": { + /** Lists the people following the authenticated user. */ + get: operations["users/list-followers-for-authenticated-user"]; + }; + "/user/following": { + /** Lists the people who the authenticated user follows. */ + get: operations["users/list-followed-by-authenticated-user"]; + }; + "/user/following/{username}": { + get: operations["users/check-person-is-followed-by-authenticated"]; + /** + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * + * Following a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. + */ + put: operations["users/follow"]; + /** Unfollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. */ + delete: operations["users/unfollow"]; + }; + "/user/gpg_keys": { + /** Lists the current user's GPG keys. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + get: operations["users/list-gpg-keys-for-authenticated-user"]; + /** Adds a GPG key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + post: operations["users/create-gpg-key-for-authenticated-user"]; + }; + "/user/gpg_keys/{gpg_key_id}": { + /** View extended details for a single GPG key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + get: operations["users/get-gpg-key-for-authenticated-user"]; + /** Removes a GPG key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + delete: operations["users/delete-gpg-key-for-authenticated-user"]; + }; + "/user/installations": { + /** + * Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * + * You can find the permissions for the installation under the `permissions` key. + */ + get: operations["apps/list-installations-for-authenticated-user"]; + }; + "/user/installations/{installation_id}/repositories": { + /** + * List repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access for an installation. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * + * You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. + * + * The access the user has to each repository is included in the hash under the `permissions` key. + */ + get: operations["apps/list-installation-repos-for-authenticated-user"]; + }; + "/user/installations/{installation_id}/repositories/{repository_id}": { + /** + * Add a single repository to an installation. The authenticated user must have admin access to the repository. + * + * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. + */ + put: operations["apps/add-repo-to-installation-for-authenticated-user"]; + /** + * Remove a single repository from an installation. The authenticated user must have admin access to the repository. + * + * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. + */ + delete: operations["apps/remove-repo-from-installation-for-authenticated-user"]; + }; + "/user/interaction-limits": { + /** Shows which type of GitHub user can interact with your public repositories and when the restriction expires. */ + get: operations["interactions/get-restrictions-for-authenticated-user"]; + /** Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user. */ + put: operations["interactions/set-restrictions-for-authenticated-user"]; + /** Removes any interaction restrictions from your public repositories. */ + delete: operations["interactions/remove-restrictions-for-authenticated-user"]; + }; + "/user/issues": { + /** + * List issues across owned and member repositories assigned to the authenticated user. + * + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + get: operations["issues/list-for-authenticated-user"]; + }; + "/user/keys": { + /** Lists the public SSH keys for the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + get: operations["users/list-public-ssh-keys-for-authenticated-user"]; + /** Adds a public SSH key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + post: operations["users/create-public-ssh-key-for-authenticated-user"]; + }; + "/user/keys/{key_id}": { + /** View extended details for a single public SSH key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + get: operations["users/get-public-ssh-key-for-authenticated-user"]; + /** Removes a public SSH key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + delete: operations["users/delete-public-ssh-key-for-authenticated-user"]; + }; + "/user/marketplace_purchases": { + /** Lists the active subscriptions for the authenticated user. You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. . OAuth Apps must authenticate using an [OAuth token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/). */ + get: operations["apps/list-subscriptions-for-authenticated-user"]; + }; + "/user/marketplace_purchases/stubbed": { + /** Lists the active subscriptions for the authenticated user. You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. . OAuth Apps must authenticate using an [OAuth token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/). */ + get: operations["apps/list-subscriptions-for-authenticated-user-stubbed"]; + }; + "/user/memberships/orgs": { + get: operations["orgs/list-memberships-for-authenticated-user"]; + }; + "/user/memberships/orgs/{org}": { + get: operations["orgs/get-membership-for-authenticated-user"]; + patch: operations["orgs/update-membership-for-authenticated-user"]; + }; + "/user/migrations": { + /** Lists all migrations a user has started. */ + get: operations["migrations/list-for-authenticated-user"]; + /** Initiates the generation of a user migration archive. */ + post: operations["migrations/start-for-authenticated-user"]; + }; + "/user/migrations/{migration_id}": { + /** + * Fetches a single user migration. The response includes the `state` of the migration, which can be one of the following values: + * + * * `pending` - the migration hasn't started yet. + * * `exporting` - the migration is in progress. + * * `exported` - the migration finished successfully. + * * `failed` - the migration failed. + * + * Once the migration has been `exported` you can [download the migration archive](https://docs.github.com/rest/reference/migrations#download-a-user-migration-archive). + */ + get: operations["migrations/get-status-for-authenticated-user"]; + }; + "/user/migrations/{migration_id}/archive": { + /** + * Fetches the URL to download the migration archive as a `tar.gz` file. Depending on the resources your repository uses, the migration archive can contain JSON files with data for these objects: + * + * * attachments + * * bases + * * commit\_comments + * * issue\_comments + * * issue\_events + * * issues + * * milestones + * * organizations + * * projects + * * protected\_branches + * * pull\_request\_reviews + * * pull\_requests + * * releases + * * repositories + * * review\_comments + * * schema + * * users + * + * The archive will also contain an `attachments` directory that includes all attachment files uploaded to GitHub.com and a `repositories` directory that contains the repository's Git data. + */ + get: operations["migrations/get-archive-for-authenticated-user"]; + /** Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [List user migrations](https://docs.github.com/rest/reference/migrations#list-user-migrations) and [Get a user migration status](https://docs.github.com/rest/reference/migrations#get-a-user-migration-status) endpoints, will continue to be available even after an archive is deleted. */ + delete: operations["migrations/delete-archive-for-authenticated-user"]; + }; + "/user/migrations/{migration_id}/repos/{repo_name}/lock": { + /** Unlocks a repository. You can lock repositories when you [start a user migration](https://docs.github.com/rest/reference/migrations#start-a-user-migration). Once the migration is complete you can unlock each repository to begin using it again or [delete the repository](https://docs.github.com/rest/reference/repos#delete-a-repository) if you no longer need the source data. Returns a status of `404 Not Found` if the repository is not locked. */ + delete: operations["migrations/unlock-repo-for-authenticated-user"]; + }; + "/user/migrations/{migration_id}/repositories": { + /** Lists all the repositories for this user migration. */ + get: operations["migrations/list-repos-for-authenticated-user"]; + }; + "/user/orgs": { + /** + * List organizations for the authenticated user. + * + * **OAuth scope requirements** + * + * This only lists organizations that your authorization allows you to operate on in some way (e.g., you can list teams with `read:org` scope, you can publicize your organization membership with `user` scope, etc.). Therefore, this API requires at least `user` or `read:org` scope. OAuth requests with insufficient scope receive a `403 Forbidden` response. + */ + get: operations["orgs/list-for-authenticated-user"]; + }; + "/user/packages": { + /** + * Lists packages owned by the authenticated user within the user's namespace. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/list-packages-for-authenticated-user"]; + }; + "/user/packages/{package_type}/{package_name}": { + /** + * Gets a specific package for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/get-package-for-authenticated-user"]; + /** + * Deletes a package owned by the authenticated user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:delete` scopes. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + delete: operations["packages/delete-package-for-authenticated-user"]; + }; + "/user/packages/{package_type}/{package_name}/restore": { + /** + * Restores a package owned by the authenticated user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. If `package_type` is not `container`, your token must also include the `repo` scope. + */ + post: operations["packages/restore-package-for-authenticated-user"]; + }; + "/user/packages/{package_type}/{package_name}/versions": { + /** + * Returns all package versions for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/get-all-package-versions-for-package-owned-by-authenticated-user"]; + }; + "/user/packages/{package_type}/{package_name}/versions/{package_version_id}": { + /** + * Gets a specific package version for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/get-package-version-for-authenticated-user"]; + /** + * Deletes a specific package version for a package owned by the authenticated user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:delete` scopes. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + delete: operations["packages/delete-package-version-for-authenticated-user"]; + }; + "/user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { + /** + * Restores a package version owned by the authenticated user. + * + * You can restore a deleted package version under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. If `package_type` is not `container`, your token must also include the `repo` scope. + */ + post: operations["packages/restore-package-version-for-authenticated-user"]; + }; + "/user/projects": { + /** Creates a user project board. Returns a `410 Gone` status if the user does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + post: operations["projects/create-for-authenticated-user"]; + }; + "/user/public_emails": { + /** Lists your publicly visible email address, which you can set with the [Set primary email visibility for the authenticated user](https://docs.github.com/rest/reference/users#set-primary-email-visibility-for-the-authenticated-user) endpoint. This endpoint is accessible with the `user:email` scope. */ + get: operations["users/list-public-emails-for-authenticated-user"]; + }; + "/user/repos": { + /** + * Lists repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + */ + get: operations["repos/list-for-authenticated-user"]; + /** + * Creates a new repository for the authenticated user. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. + * * `repo` scope to create a private repository. + */ + post: operations["repos/create-for-authenticated-user"]; + }; + "/user/repository_invitations": { + /** When authenticating as a user, this endpoint will list all currently open repository invitations for that user. */ + get: operations["repos/list-invitations-for-authenticated-user"]; + }; + "/user/repository_invitations/{invitation_id}": { + delete: operations["repos/decline-invitation-for-authenticated-user"]; + patch: operations["repos/accept-invitation-for-authenticated-user"]; + }; + "/user/starred": { + /** + * Lists repositories the authenticated user has starred. + * + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + */ + get: operations["activity/list-repos-starred-by-authenticated-user"]; + }; + "/user/starred/{owner}/{repo}": { + get: operations["activity/check-repo-is-starred-by-authenticated-user"]; + /** Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." */ + put: operations["activity/star-repo-for-authenticated-user"]; + delete: operations["activity/unstar-repo-for-authenticated-user"]; + }; + "/user/subscriptions": { + /** Lists repositories the authenticated user is watching. */ + get: operations["activity/list-watched-repos-for-authenticated-user"]; + }; + "/user/teams": { + /** List all of the teams across all of the organizations to which the authenticated user belongs. This method requires `user`, `repo`, or `read:org` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) when authenticating via [OAuth](https://docs.github.com/apps/building-oauth-apps/). */ + get: operations["teams/list-for-authenticated-user"]; + }; + "/users": { + /** + * Lists all users, in the order that they signed up on GitHub. This list includes personal user accounts and organization accounts. + * + * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of users. + */ + get: operations["users/list"]; + }; + "/users/{username}": { + /** + * Provides publicly available information about someone with a GitHub account. + * + * GitHub Apps with the `Plan` user permission can use this endpoint to retrieve information about a user's GitHub plan. The GitHub App must be authenticated as a user. See "[Identifying and authorizing users for GitHub Apps](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)" for details about authentication. For an example response, see 'Response with GitHub plan information' below" + * + * The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be “public” which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/overview/resources-in-the-rest-api#authentication). + * + * The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see "[Emails API](https://docs.github.com/rest/reference/users#emails)". + */ + get: operations["users/get-by-username"]; + }; + "/users/{username}/events": { + /** If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events. */ + get: operations["activity/list-events-for-authenticated-user"]; + }; + "/users/{username}/events/orgs/{org}": { + /** This is the user's organization dashboard. You must be authenticated as the user to view this. */ + get: operations["activity/list-org-events-for-authenticated-user"]; + }; + "/users/{username}/events/public": { + get: operations["activity/list-public-events-for-user"]; + }; + "/users/{username}/followers": { + /** Lists the people following the specified user. */ + get: operations["users/list-followers-for-user"]; + }; + "/users/{username}/following": { + /** Lists the people who the specified user follows. */ + get: operations["users/list-following-for-user"]; + }; + "/users/{username}/following/{target_user}": { + get: operations["users/check-following-for-user"]; + }; + "/users/{username}/gists": { + /** Lists public gists for the specified user: */ + get: operations["gists/list-for-user"]; + }; + "/users/{username}/gpg_keys": { + /** Lists the GPG keys for a user. This information is accessible by anyone. */ + get: operations["users/list-gpg-keys-for-user"]; + }; + "/users/{username}/hovercard": { + /** + * Provides hovercard information when authenticated through basic auth or OAuth with the `repo` scope. You can find out more about someone in relation to their pull requests, issues, repositories, and organizations. + * + * The `subject_type` and `subject_id` parameters provide context for the person's hovercard, which returns more information than without the parameters. For example, if you wanted to find out more about `octocat` who owns the `Spoon-Knife` repository via cURL, it would look like this: + * + * ```shell + * curl -u username:token + * https://api.github.com/users/octocat/hovercard?subject_type=repository&subject_id=1300192 + * ``` + */ + get: operations["users/get-context-for-user"]; + }; + "/users/{username}/installation": { + /** + * Enables an authenticated GitHub App to find the user’s installation information. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-user-installation"]; + }; + "/users/{username}/keys": { + /** Lists the _verified_ public SSH keys for a user. This is accessible by anyone. */ + get: operations["users/list-public-keys-for-user"]; + }; + "/users/{username}/orgs": { + /** + * List [public organization memberships](https://docs.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user. + * + * This method only lists _public_ memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the [List organizations for the authenticated user](https://docs.github.com/rest/reference/orgs#list-organizations-for-the-authenticated-user) API instead. + */ + get: operations["orgs/list-for-user"]; + }; + "/users/{username}/packages": { + /** + * Lists all packages in a user's namespace for which the requesting user has access. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/list-packages-for-user"]; + }; + "/users/{username}/packages/{package_type}/{package_name}": { + /** + * Gets a specific package metadata for a public package owned by a user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/get-package-for-user"]; + /** + * Deletes an entire package for a user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + */ + delete: operations["packages/delete-package-for-user"]; + }; + "/users/{username}/packages/{package_type}/{package_name}/restore": { + /** + * Restores an entire package for a user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + */ + post: operations["packages/restore-package-for-user"]; + }; + "/users/{username}/packages/{package_type}/{package_name}/versions": { + /** + * Returns all package versions for a public package owned by a specified user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/get-all-package-versions-for-package-owned-by-user"]; + }; + "/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}": { + /** + * Gets a specific package version for a public package owned by a specified user. + * + * At this time, to use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/get-package-version-for-user"]; + /** + * Deletes a specific package version for a user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + */ + delete: operations["packages/delete-package-version-for-user"]; + }; + "/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { + /** + * Restores a specific package version for a user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + */ + post: operations["packages/restore-package-version-for-user"]; + }; + "/users/{username}/projects": { + get: operations["projects/list-for-user"]; + }; + "/users/{username}/received_events": { + /** These are events that you've received by watching repos and following users. If you are authenticated as the given user, you will see private events. Otherwise, you'll only see public events. */ + get: operations["activity/list-received-events-for-user"]; + }; + "/users/{username}/received_events/public": { + get: operations["activity/list-received-public-events-for-user"]; + }; + "/users/{username}/repos": { + /** Lists public repositories for the specified user. Note: For GitHub AE, this endpoint will list internal repositories for the specified user. */ + get: operations["repos/list-for-user"]; + }; + "/users/{username}/settings/billing/actions": { + /** + * Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Access tokens must have the `user` scope. + */ + get: operations["billing/get-github-actions-billing-user"]; + }; + "/users/{username}/settings/billing/packages": { + /** + * Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `user` scope. + */ + get: operations["billing/get-github-packages-billing-user"]; + }; + "/users/{username}/settings/billing/shared-storage": { + /** + * Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `user` scope. + */ + get: operations["billing/get-shared-storage-billing-user"]; + }; + "/users/{username}/starred": { + /** + * Lists repositories a user has starred. + * + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + */ + get: operations["activity/list-repos-starred-by-user"]; + }; + "/users/{username}/subscriptions": { + /** Lists repositories a user is watching. */ + get: operations["activity/list-repos-watched-by-user"]; + }; + "/zen": { + /** Get a random sentence from the Zen of GitHub */ + get: operations["meta/get-zen"]; + }; + "/repos/{owner}/{repo}/compare/{base}...{head}": { + /** + * **Deprecated**: Use `repos.compareCommitsWithBasehead()` (`GET /repos/{owner}/{repo}/compare/{basehead}`) instead. Both `:base` and `:head` must be branch names in `:repo`. To compare branches across other repositories in the same network as `:repo`, use the format `:branch`. + * + * The response from the API is equivalent to running the `git log base..head` command; however, commits are returned in chronological order. Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + * + * The response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. + * + * **Working with large comparisons** + * + * To process a response with a large number of commits, you can use (`per_page` or `page`) to paginate the results. When using paging, the list of changed files is only returned with page 1, but includes all changed files for the entire comparison. For more information on working with pagination, see "[Traversing with pagination](/rest/guides/traversing-with-pagination)." + * + * When calling this API without any paging parameters (`per_page` or `page`), the returned list is limited to 250 commits and the last commit in the list is the most recent of the entire comparison. When a paging parameter is specified, the first commit in the returned list of each page is the earliest. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["repos/compare-commits"]; + }; +} + +export interface components { + schemas: { + root: { + /** Format: uri-template */ + current_user_url: string; + /** Format: uri-template */ + current_user_authorizations_html_url: string; + /** Format: uri-template */ + authorizations_url: string; + /** Format: uri-template */ + code_search_url: string; + /** Format: uri-template */ + commit_search_url: string; + /** Format: uri-template */ + emails_url: string; + /** Format: uri-template */ + emojis_url: string; + /** Format: uri-template */ + events_url: string; + /** Format: uri-template */ + feeds_url: string; + /** Format: uri-template */ + followers_url: string; + /** Format: uri-template */ + following_url: string; + /** Format: uri-template */ + gists_url: string; + /** Format: uri-template */ + hub_url: string; + /** Format: uri-template */ + issue_search_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + label_search_url: string; + /** Format: uri-template */ + notifications_url: string; + /** Format: uri-template */ + organization_url: string; + /** Format: uri-template */ + organization_repositories_url: string; + /** Format: uri-template */ + organization_teams_url: string; + /** Format: uri-template */ + public_gists_url: string; + /** Format: uri-template */ + rate_limit_url: string; + /** Format: uri-template */ + repository_url: string; + /** Format: uri-template */ + repository_search_url: string; + /** Format: uri-template */ + current_user_repositories_url: string; + /** Format: uri-template */ + starred_url: string; + /** Format: uri-template */ + starred_gists_url: string; + /** Format: uri-template */ + topic_search_url?: string; + /** Format: uri-template */ + user_url: string; + /** Format: uri-template */ + user_organizations_url: string; + /** Format: uri-template */ + user_repositories_url: string; + /** Format: uri-template */ + user_search_url: string; + }; + /** + * Simple User + * @description Simple User + */ + "nullable-simple-user": { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** + * GitHub app + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + integration: { + /** + * @description Unique identifier of the GitHub app + * @example 37 + */ + id: number; + /** + * @description The slug name of the GitHub app + * @example probot-owners + */ + slug?: string; + /** @example MDExOkludGVncmF0aW9uMQ== */ + node_id: string; + owner: components["schemas"]["nullable-simple-user"]; + /** + * @description The name of the GitHub app + * @example Probot Owners + */ + name: string; + /** @example The description of the app. */ + description: string | null; + /** + * Format: uri + * @example https://example.com + */ + external_url: string; + /** + * Format: uri + * @example https://github.com/apps/super-ci + */ + html_url: string; + /** + * Format: date-time + * @example 2017-07-08T16:18:44-04:00 + */ + created_at: string; + /** + * Format: date-time + * @example 2017-07-08T16:18:44-04:00 + */ + updated_at: string; + /** + * @description The set of permissions for the GitHub app + * @example { + * "issues": "read", + * "deployments": "write" + * } + */ + permissions: { + issues?: string; + checks?: string; + metadata?: string; + contents?: string; + deployments?: string; + } & { [key: string]: string }; + /** + * @description The list of events for the GitHub app + * @example [ + * "label", + * "deployment" + * ] + */ + events: string[]; + /** + * @description The number of installations associated with the GitHub app + * @example 5 + */ + installations_count?: number; + /** @example "Iv1.25b5d1e65ffc4022" */ + client_id?: string; + /** @example "1d4b2097ac622ba702d19de498f005747a8b21d3" */ + client_secret?: string; + /** @example "6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b" */ + webhook_secret?: string | null; + /** @example "-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\n-----END RSA PRIVATE KEY-----\n" */ + pem?: string; + }; + /** + * Basic Error + * @description Basic Error + */ + "basic-error": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + /** + * Validation Error Simple + * @description Validation Error Simple + */ + "validation-error-simple": { + message: string; + documentation_url: string; + errors?: string[]; + }; + /** + * Format: uri + * @description The URL to which the payloads will be delivered. + * @example https://example.com/webhook + */ + "webhook-config-url": string; + /** + * @description The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`. + * @example "json" + */ + "webhook-config-content-type": string; + /** + * @description If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/webhooks/event-payloads/#delivery-headers). + * @example "********" + */ + "webhook-config-secret": string; + "webhook-config-insecure-ssl": string | number; + /** + * Webhook Configuration + * @description Configuration object of the webhook + */ + "webhook-config": { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + /** + * Simple webhook delivery + * @description Delivery made by a webhook, without request and response information. + */ + "hook-delivery-item": { + /** + * @description Unique identifier of the webhook delivery. + * @example 42 + */ + id: number; + /** + * @description Unique identifier for the event (shared with all deliveries for all webhooks that subscribe to this event). + * @example 58474f00-b361-11eb-836d-0e4f3503ccbe + */ + guid: string; + /** + * Format: date-time + * @description Time when the webhook delivery occurred. + * @example 2021-05-12T20:33:44Z + */ + delivered_at: string; + /** + * @description Whether the webhook delivery is a redelivery. + * @example false + */ + redelivery: boolean; + /** + * @description Time spent delivering. + * @example 0.03 + */ + duration: number; + /** + * @description Describes the response returned after attempting the delivery. + * @example failed to connect + */ + status: string; + /** + * @description Status code received when delivery was made. + * @example 502 + */ + status_code: number; + /** + * @description The event that triggered the delivery. + * @example issues + */ + event: string; + /** + * @description The type of activity for the event that triggered the delivery. + * @example opened + */ + action: string | null; + /** + * @description The id of the GitHub App installation associated with this event. + * @example 123 + */ + installation_id: number | null; + /** + * @description The id of the repository associated with this event. + * @example 123 + */ + repository_id: number | null; + }; + /** + * Scim Error + * @description Scim Error + */ + "scim-error": { + message?: string | null; + documentation_url?: string | null; + detail?: string | null; + status?: number; + scimType?: string | null; + schemas?: string[]; + }; + /** + * Validation Error + * @description Validation Error + */ + "validation-error": { + message: string; + documentation_url: string; + errors?: { + resource?: string; + field?: string; + message?: string; + code: string; + index?: number; + value?: (string | null) | (number | null) | (string[] | null); + }[]; + }; + /** + * Webhook delivery + * @description Delivery made by a webhook. + */ + "hook-delivery": { + /** + * @description Unique identifier of the delivery. + * @example 42 + */ + id: number; + /** + * @description Unique identifier for the event (shared with all deliveries for all webhooks that subscribe to this event). + * @example 58474f00-b361-11eb-836d-0e4f3503ccbe + */ + guid: string; + /** + * Format: date-time + * @description Time when the delivery was delivered. + * @example 2021-05-12T20:33:44Z + */ + delivered_at: string; + /** + * @description Whether the delivery is a redelivery. + * @example false + */ + redelivery: boolean; + /** + * @description Time spent delivering. + * @example 0.03 + */ + duration: number; + /** + * @description Description of the status of the attempted delivery + * @example failed to connect + */ + status: string; + /** + * @description Status code received when delivery was made. + * @example 502 + */ + status_code: number; + /** + * @description The event that triggered the delivery. + * @example issues + */ + event: string; + /** + * @description The type of activity for the event that triggered the delivery. + * @example opened + */ + action: string | null; + /** + * @description The id of the GitHub App installation associated with this event. + * @example 123 + */ + installation_id: number | null; + /** + * @description The id of the repository associated with this event. + * @example 123 + */ + repository_id: number | null; + /** + * @description The URL target of the delivery. + * @example https://www.example.com + */ + url?: string; + request: { + /** @description The request headers sent with the webhook delivery. */ + headers: { [key: string]: unknown } | null; + /** @description The webhook payload. */ + payload: { [key: string]: unknown } | null; + }; + response: { + /** @description The response headers received when the delivery was made. */ + headers: { [key: string]: unknown } | null; + /** @description The response payload received. */ + payload: string | null; + }; + }; + /** + * Simple User + * @description Simple User + */ + "simple-user": { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** + * Enterprise + * @description An enterprise account + */ + enterprise: { + /** @description A short description of the enterprise. */ + description?: string | null; + /** + * Format: uri + * @example https://github.com/enterprises/octo-business + */ + html_url: string; + /** + * Format: uri + * @description The enterprise's website URL. + */ + website_url?: string | null; + /** + * @description Unique identifier of the enterprise + * @example 42 + */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** + * @description The name of the enterprise. + * @example Octo Business + */ + name: string; + /** + * @description The slug url identifier for the enterprise. + * @example octo-business + */ + slug: string; + /** + * Format: date-time + * @example 2019-01-26T19:01:12Z + */ + created_at: string | null; + /** + * Format: date-time + * @example 2019-01-26T19:14:43Z + */ + updated_at: string | null; + /** Format: uri */ + avatar_url: string; + }; + /** + * App Permissions + * @description The permissions granted to the user-to-server access token. + * @example { + * "contents": "read", + * "issues": "read", + * "deployments": "write", + * "single_file": "read" + * } + */ + "app-permissions": { + /** + * @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. + * @enum {string} + */ + actions?: "read" | "write"; + /** + * @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. + * @enum {string} + */ + administration?: "read" | "write"; + /** + * @description The level of permission to grant the access token for checks on code. + * @enum {string} + */ + checks?: "read" | "write"; + /** + * @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. + * @enum {string} + */ + contents?: "read" | "write"; + /** + * @description The level of permission to grant the access token for deployments and deployment statuses. + * @enum {string} + */ + deployments?: "read" | "write"; + /** + * @description The level of permission to grant the access token for managing repository environments. + * @enum {string} + */ + environments?: "read" | "write"; + /** + * @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. + * @enum {string} + */ + issues?: "read" | "write"; + /** + * @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. + * @enum {string} + */ + metadata?: "read" | "write"; + /** + * @description The level of permission to grant the access token for packages published to GitHub Packages. + * @enum {string} + */ + packages?: "read" | "write"; + /** + * @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. + * @enum {string} + */ + pages?: "read" | "write"; + /** + * @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. + * @enum {string} + */ + pull_requests?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage the post-receive hooks for a repository. + * @enum {string} + */ + repository_hooks?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage repository projects, columns, and cards. + * @enum {string} + */ + repository_projects?: "read" | "write" | "admin"; + /** + * @description The level of permission to grant the access token to view and manage secret scanning alerts. + * @enum {string} + */ + secret_scanning_alerts?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage repository secrets. + * @enum {string} + */ + secrets?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage security events like code scanning alerts. + * @enum {string} + */ + security_events?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage just a single file. + * @enum {string} + */ + single_file?: "read" | "write"; + /** + * @description The level of permission to grant the access token for commit statuses. + * @enum {string} + */ + statuses?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage Dependabot alerts. + * @enum {string} + */ + vulnerability_alerts?: "read" | "write"; + /** + * @description The level of permission to grant the access token to update GitHub Actions workflow files. + * @enum {string} + */ + workflows?: "write"; + /** + * @description The level of permission to grant the access token for organization teams and members. + * @enum {string} + */ + members?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage access to an organization. + * @enum {string} + */ + organization_administration?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage the post-receive hooks for an organization. + * @enum {string} + */ + organization_hooks?: "read" | "write"; + /** + * @description The level of permission to grant the access token for viewing an organization's plan. + * @enum {string} + */ + organization_plan?: "read"; + /** + * @description The level of permission to grant the access token to manage organization projects and projects beta (where available). + * @enum {string} + */ + organization_projects?: "read" | "write" | "admin"; + /** + * @description The level of permission to grant the access token for organization packages published to GitHub Packages. + * @enum {string} + */ + organization_packages?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage organization secrets. + * @enum {string} + */ + organization_secrets?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. + * @enum {string} + */ + organization_self_hosted_runners?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage users blocked by the organization. + * @enum {string} + */ + organization_user_blocking?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage team discussions and related comments. + * @enum {string} + */ + team_discussions?: "read" | "write"; + }; + /** + * Installation + * @description Installation + */ + installation: { + /** + * @description The ID of the installation. + * @example 1 + */ + id: number; + account: + | (Partial & + Partial) + | null; + /** + * @description Describe whether all repositories have been selected or there's a selection involved + * @enum {string} + */ + repository_selection: "all" | "selected"; + /** + * Format: uri + * @example https://api.github.com/installations/1/access_tokens + */ + access_tokens_url: string; + /** + * Format: uri + * @example https://api.github.com/installation/repositories + */ + repositories_url: string; + /** + * Format: uri + * @example https://github.com/organizations/github/settings/installations/1 + */ + html_url: string; + /** @example 1 */ + app_id: number; + /** @description The ID of the user or organization this token is being scoped to. */ + target_id: number; + /** @example Organization */ + target_type: string; + permissions: components["schemas"]["app-permissions"]; + events: string[]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** @example config.yaml */ + single_file_name: string | null; + /** @example true */ + has_multiple_single_files?: boolean; + /** + * @example [ + * "config.yml", + * ".github/issue_TEMPLATE.md" + * ] + */ + single_file_paths?: string[]; + /** @example github-actions */ + app_slug: string; + suspended_by: components["schemas"]["nullable-simple-user"]; + /** Format: date-time */ + suspended_at: string | null; + /** @example "test_13f1e99741e3e004@d7e1eb0bc0a1ba12.com" */ + contact_email?: string | null; + }; + /** + * License Simple + * @description License Simple + */ + "nullable-license-simple": { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** + * Format: uri + * @example https://api.github.com/licenses/mit + */ + url: string | null; + /** @example MIT */ + spdx_id: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; + /** Format: uri */ + html_url?: string; + } | null; + /** + * Repository + * @description A git repository + */ + repository: { + /** + * @description Unique identifier of the repository + * @example 42 + */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** + * @description The name of the repository. + * @example Team Environment + */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + license: components["schemas"]["nullable-license-simple"]; + organization?: components["schemas"]["nullable-simple-user"]; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + owner: components["schemas"]["simple-user"]; + /** + * @description Whether the repository is private or public. + * @default false + */ + private: boolean; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ + contributors_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments + */ + deployments_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ + events_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages + */ + languages_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** + * Format: uri + * @example git:git.example.com/octocat/Hello-World + */ + mirror_url: string | null; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + /** + * Format: uri + * @example https://svn.github.com/octocat/Hello-World + */ + svn_url: string; + /** + * Format: uri + * @example https://github.com + */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** @example 108 */ + size: number; + /** + * @description The default branch of the repository. + * @example master + */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** + * @description Whether this repository acts as a template that can be used to generate new repositories. + * @default false + * @example true + */ + is_template?: boolean; + topics?: string[]; + /** + * @description Whether issues are enabled. + * @default true + * @example true + */ + has_issues: boolean; + /** + * @description Whether projects are enabled. + * @default true + * @example true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + * @example true + */ + has_wiki: boolean; + has_pages: boolean; + /** + * @description Whether downloads are enabled. + * @default true + * @example true + */ + has_downloads: boolean; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** + * @description The repository visibility: public, private, or internal. + * @default public + */ + visibility?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at: string | null; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + * @example true + */ + allow_rebase_merge?: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + 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; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + * @example true + */ + allow_squash_merge?: boolean; + /** + * @description Whether to allow Auto-merge to be used on pull requests. + * @default false + * @example false + */ + allow_auto_merge?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + * @example false + */ + delete_branch_on_merge?: boolean; + /** + * @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + * @default false + * @example false + */ + allow_update_branch?: boolean; + /** + * @description Whether a squash merge commit can use the pull request title as default. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + * @example true + */ + allow_merge_commit?: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + }; + /** + * Installation Token + * @description Authentication token for a GitHub App installed on a user or org. + */ + "installation-token": { + token: string; + expires_at: string; + permissions?: components["schemas"]["app-permissions"]; + /** @enum {string} */ + repository_selection?: "all" | "selected"; + repositories?: components["schemas"]["repository"][]; + /** @example README.md */ + single_file?: string; + /** @example true */ + has_multiple_single_files?: boolean; + /** + * @example [ + * "config.yml", + * ".github/issue_TEMPLATE.md" + * ] + */ + single_file_paths?: string[]; + }; + /** + * Application Grant + * @description The authorization associated with an OAuth Access. + */ + "application-grant": { + /** @example 1 */ + id: number; + /** + * Format: uri + * @example https://api.github.com/applications/grants/1 + */ + url: string; + app: { + client_id: string; + name: string; + /** Format: uri */ + url: string; + }; + /** + * Format: date-time + * @example 2011-09-06T17:26:27Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-09-06T20:39:23Z + */ + updated_at: string; + /** + * @example [ + * "public_repo" + * ] + */ + scopes: string[]; + user?: components["schemas"]["nullable-simple-user"]; + }; + /** Scoped Installation */ + "nullable-scoped-installation": { + permissions: components["schemas"]["app-permissions"]; + /** + * @description Describe whether all repositories have been selected or there's a selection involved + * @enum {string} + */ + repository_selection: "all" | "selected"; + /** @example config.yaml */ + single_file_name: string | null; + /** @example true */ + has_multiple_single_files?: boolean; + /** + * @example [ + * "config.yml", + * ".github/issue_TEMPLATE.md" + * ] + */ + single_file_paths?: string[]; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repositories_url: string; + account: components["schemas"]["simple-user"]; + } | null; + /** + * Authorization + * @description The authorization for an OAuth app, GitHub App, or a Personal Access Token. + */ + authorization: { + id: number; + /** Format: uri */ + url: string; + /** @description A list of scopes that this authorization is in. */ + scopes: string[] | null; + token: string; + token_last_eight: string | null; + hashed_token: string | null; + app: { + client_id: string; + name: string; + /** Format: uri */ + url: string; + }; + note: string | null; + /** Format: uri */ + note_url: string | null; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + created_at: string; + fingerprint: string | null; + user?: components["schemas"]["nullable-simple-user"]; + installation?: components["schemas"]["nullable-scoped-installation"]; + /** Format: date-time */ + expires_at: string | null; + }; + /** + * Code Of Conduct + * @description Code Of Conduct + */ + "code-of-conduct": { + /** @example contributor_covenant */ + key: string; + /** @example Contributor Covenant */ + name: string; + /** + * Format: uri + * @example https://api.github.com/codes_of_conduct/contributor_covenant + */ + url: string; + /** + * @example # Contributor Covenant Code of Conduct + * + * ## Our Pledge + * + * In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. + * + * ## Our Standards + * + * Examples of behavior that contributes to creating a positive environment include: + * + * * Using welcoming and inclusive language + * * Being respectful of differing viewpoints and experiences + * * Gracefully accepting constructive criticism + * * Focusing on what is best for the community + * * Showing empathy towards other community members + * + * Examples of unacceptable behavior by participants include: + * + * * The use of sexualized language or imagery and unwelcome sexual attention or advances + * * Trolling, insulting/derogatory comments, and personal or political attacks + * * Public or private harassment + * * Publishing others' private information, such as a physical or electronic address, without explicit permission + * * Other conduct which could reasonably be considered inappropriate in a professional setting + * + * ## Our Responsibilities + * + * Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response + * to any instances of unacceptable behavior. + * + * Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. + * + * ## Scope + * + * This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, + * posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. + * + * ## Enforcement + * + * Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. + * + * Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. + * + * ## Attribution + * + * This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] + * + * [homepage]: http://contributor-covenant.org + * [version]: http://contributor-covenant.org/version/1/4/ + */ + body?: string; + /** Format: uri */ + html_url: string | null; + }; + /** + * Server Statistics Proxy Endpoint + * @description Response of S4 Proxy endpoint that provides GHES statistics + */ + "server-statistics": { + server_id?: string; + collection_date?: string; + schema_version?: string; + ghes_version?: string; + host_name?: string; + github_connect?: { + features_enabled?: string[]; + }; + ghe_stats?: { + comments?: { + total_commit_comments?: number; + total_gist_comments?: number; + total_issue_comments?: number; + total_pull_request_comments?: number; + }; + gists?: { + total_gists?: number; + private_gists?: number; + public_gists?: number; + }; + hooks?: { + total_hooks?: number; + active_hooks?: number; + inactive_hooks?: number; + }; + issues?: { + total_issues?: number; + open_issues?: number; + closed_issues?: number; + }; + milestones?: { + total_milestones?: number; + open_milestones?: number; + closed_milestones?: number; + }; + orgs?: { + total_orgs?: number; + disabled_orgs?: number; + total_teams?: number; + total_team_members?: number; + }; + pages?: { + total_pages?: number; + }; + pulls?: { + total_pulls?: number; + merged_pulls?: number; + mergeable_pulls?: number; + unmergeable_pulls?: number; + }; + repos?: { + total_repos?: number; + root_repos?: number; + fork_repos?: number; + org_repos?: number; + total_pushes?: number; + total_wikis?: number; + }; + users?: { + total_users?: number; + admin_users?: number; + suspended_users?: number; + }; + }; + dormant_users?: { + total_dormant_users?: number; + dormancy_threshold?: string; + }; + }; + "actions-cache-usage-org-enterprise": { + /** @description The count of active caches across all repositories of an enterprise or an organization. */ + total_active_caches_count: number; + /** @description The total size in bytes of all active cache items across all repositories of an enterprise or an organization. */ + total_active_caches_size_in_bytes: number; + }; + "actions-oidc-custom-issuer-policy-for-enterprise": { + /** + * @description Whether the enterprise customer requested a custom issuer URL. + * @example true + */ + include_enterprise_slug?: boolean; + }; + /** + * @description The policy that controls the organizations in the enterprise that are allowed to run GitHub Actions. + * @enum {string} + */ + "enabled-organizations": "all" | "none" | "selected"; + /** + * @description The permissions policy that controls the actions and reusable workflows that are allowed to run. + * @enum {string} + */ + "allowed-actions": "all" | "local_only" | "selected"; + /** @description The API URL to use to get or set the actions and reusable workflows that are allowed to run, when `allowed_actions` is set to `selected`. */ + "selected-actions-url": string; + "actions-enterprise-permissions": { + enabled_organizations: components["schemas"]["enabled-organizations"]; + /** @description The API URL to use to get or set the selected organizations that are allowed to run GitHub Actions, when `enabled_organizations` is set to `selected`. */ + selected_organizations_url?: string; + allowed_actions?: components["schemas"]["allowed-actions"]; + selected_actions_url?: components["schemas"]["selected-actions-url"]; + }; + /** + * Organization Simple + * @description Organization Simple + */ + "organization-simple": { + /** @example github */ + login: string; + /** @example 1 */ + id: number; + /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ + node_id: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/repos + */ + repos_url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/events + */ + events_url: string; + /** @example https://api.github.com/orgs/github/hooks */ + hooks_url: string; + /** @example https://api.github.com/orgs/github/issues */ + issues_url: string; + /** @example https://api.github.com/orgs/github/members{/member} */ + members_url: string; + /** @example https://api.github.com/orgs/github/public_members{/member} */ + public_members_url: string; + /** @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example A great organization */ + description: string | null; + }; + "selected-actions": { + /** @description Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization. */ + github_owned_allowed?: boolean; + /** @description Whether actions from GitHub Marketplace verified creators are allowed. Set to `true` to allow all actions by GitHub Marketplace verified creators. */ + verified_allowed?: boolean; + /** @description Specifies a list of string-matching patterns to allow specific action(s) and reusable workflow(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`." */ + patterns_allowed?: string[]; + }; + /** + * @description The default workflow permissions granted to the GITHUB_TOKEN when running workflows. + * @enum {string} + */ + "actions-default-workflow-permissions": "read" | "write"; + /** @description Whether GitHub Actions can approve pull requests. Enabling this can be a security risk. */ + "actions-can-approve-pull-request-reviews": boolean; + "actions-get-default-workflow-permissions": { + default_workflow_permissions: components["schemas"]["actions-default-workflow-permissions"]; + can_approve_pull_request_reviews: components["schemas"]["actions-can-approve-pull-request-reviews"]; + }; + "actions-set-default-workflow-permissions": { + default_workflow_permissions?: components["schemas"]["actions-default-workflow-permissions"]; + can_approve_pull_request_reviews?: components["schemas"]["actions-can-approve-pull-request-reviews"]; + }; + "runner-groups-enterprise": { + id: number; + name: string; + visibility: string; + default: boolean; + selected_organizations_url?: string; + runners_url: string; + allows_public_repositories: boolean; + /** + * @description If `true`, the `restricted_to_workflows` and `selected_workflows` fields cannot be modified. + * @default false + */ + workflow_restrictions_read_only?: boolean; + /** + * @description If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array. + * @default false + */ + restricted_to_workflows?: boolean; + /** @description List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`. */ + selected_workflows?: string[]; + }; + /** + * Self hosted runner label + * @description A label for a self hosted runner + */ + "runner-label": { + /** @description Unique identifier of the label. */ + id?: number; + /** @description Name of the label. */ + name: string; + /** + * @description The type of label. Read-only labels are applied automatically when the runner is configured. + * @enum {string} + */ + type?: "read-only" | "custom"; + }; + /** + * Self hosted runners + * @description A self hosted runner + */ + runner: { + /** + * @description The id of the runner. + * @example 5 + */ + id: number; + /** + * @description The name of the runner. + * @example iMac + */ + name: string; + /** + * @description The Operating System of the runner. + * @example macos + */ + os: string; + /** + * @description The status of the runner. + * @example online + */ + status: string; + busy: boolean; + labels: components["schemas"]["runner-label"][]; + }; + /** + * Runner Application + * @description Runner Application + */ + "runner-application": { + os: string; + architecture: string; + download_url: string; + filename: string; + /** @description A short lived bearer token used to download the runner, if needed. */ + temp_download_token?: string; + sha256_checksum?: string; + }; + /** + * Authentication Token + * @description Authentication Token + */ + "authentication-token": { + /** + * @description The token used for authentication + * @example v1.1f699f1069f60xxx + */ + token: string; + /** + * Format: date-time + * @description The time this token expires + * @example 2016-07-11T22:14:10Z + */ + expires_at: string; + /** + * @example { + * "issues": "read", + * "deployments": "write" + * } + */ + permissions?: { [key: string]: unknown }; + /** @description The repositories this token has access to */ + repositories?: components["schemas"]["repository"][]; + /** @example config.yaml */ + single_file?: string | null; + /** + * @description Describe whether all repositories have been selected or there's a selection involved + * @enum {string} + */ + repository_selection?: "all" | "selected"; + }; + "audit-log-event": { + /** @description The time the audit log event occurred, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). */ + "@timestamp"?: number; + /** @description The name of the action that was performed, for example `user.login` or `repo.create`. */ + action?: string; + active?: boolean; + active_was?: boolean; + /** @description The actor who performed the action. */ + actor?: string; + /** @description The id of the actor who performed the action. */ + actor_id?: number; + actor_location?: { + country_name?: string; + }; + data?: { [key: string]: unknown }; + org_id?: number; + /** @description The username of the account being blocked. */ + blocked_user?: string; + business?: string; + config?: { [key: string]: unknown }[]; + config_was?: { [key: string]: unknown }[]; + content_type?: string; + /** @description The time the audit log event was recorded, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). */ + created_at?: number; + deploy_key_fingerprint?: string; + /** @description A unique identifier for an audit event. */ + _document_id?: string; + emoji?: string; + events?: { [key: string]: unknown }[]; + events_were?: { [key: string]: unknown }[]; + explanation?: string; + fingerprint?: string; + hook_id?: number; + limited_availability?: boolean; + message?: string; + name?: string; + old_user?: string; + openssh_public_key?: string; + org?: string; + previous_visibility?: string; + read_only?: boolean; + /** @description The name of the repository. */ + repo?: string; + /** @description The name of the repository. */ + repository?: string; + repository_public?: boolean; + target_login?: string; + team?: string; + /** @description The type of protocol (for example, HTTP or SSH) used to transfer Git data. */ + transport_protocol?: number; + /** @description A human readable name for the protocol (for example, HTTP or SSH) used to transfer Git data. */ + transport_protocol_name?: string; + /** @description The user that was affected by the action performed (if available). */ + user?: string; + /** @description The repository visibility, for example `public` or `private`. */ + visibility?: string; + }; + /** @description The name of the tool used to generate the code scanning analysis. */ + "code-scanning-analysis-tool-name": string; + /** @description The GUID of the tool used to generate the code scanning analysis, if provided in the uploaded SARIF data. */ + "code-scanning-analysis-tool-guid": string | null; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + "code-scanning-alert-state": "open" | "closed" | "dismissed" | "fixed"; + /** @description The security alert number. */ + "alert-number": number; + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + "alert-created-at": string; + /** + * Format: date-time + * @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + "alert-updated-at": string; + /** + * Format: uri + * @description The REST API URL of the alert resource. + */ + "alert-url": string; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + "alert-html-url": string; + /** + * Format: uri + * @description The REST API URL for fetching the list of instances for an alert. + */ + "alert-instances-url": string; + /** + * Format: date-time + * @description The time that the alert was no longer detected and was considered fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + "code-scanning-alert-fixed-at": string | null; + /** + * Format: date-time + * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + "code-scanning-alert-dismissed-at": string | null; + /** + * @description **Required when the state is dismissed.** The reason for dismissing or closing the alert. + * @enum {string|null} + */ + "code-scanning-alert-dismissed-reason": + | (null | "false positive" | "won't fix" | "used in tests") + | null; + /** @description The dismissal comment associated with the dismissal of the alert. */ + "code-scanning-alert-dismissed-comment": string | null; + "code-scanning-alert-rule": { + /** @description A unique identifier for the rule used to detect the alert. */ + id?: string | null; + /** @description The name of the rule used to detect the alert. */ + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity?: ("none" | "note" | "warning" | "error") | null; + /** + * @description The security severity of the alert. + * @enum {string|null} + */ + security_severity_level?: ("low" | "medium" | "high" | "critical") | null; + /** @description A short description of the rule used to detect the alert. */ + description?: string; + /** @description description of the rule used to detect the alert. */ + full_description?: string; + /** @description A set of tags applicable for the rule. */ + tags?: string[] | null; + /** @description Detailed documentation for the rule as GitHub Flavored Markdown. */ + help?: string | null; + }; + /** @description The version of the tool used to generate the code scanning analysis. */ + "code-scanning-analysis-tool-version": string | null; + "code-scanning-analysis-tool": { + name?: components["schemas"]["code-scanning-analysis-tool-name"]; + version?: components["schemas"]["code-scanning-analysis-tool-version"]; + guid?: components["schemas"]["code-scanning-analysis-tool-guid"]; + }; + /** + * @description The full Git reference, formatted as `refs/heads/`, + * `refs/pull//merge`, or `refs/pull//head`. + */ + "code-scanning-ref": string; + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + "code-scanning-analysis-analysis-key": string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + "code-scanning-alert-environment": string; + /** @description Identifies the configuration under which the analysis was executed. Used to distinguish between multiple analyses for the same tool and commit, but performed on different languages or different parts of the code. */ + "code-scanning-analysis-category": string; + /** @description Describe a region within a file for the alert. */ + "code-scanning-alert-location": { + path?: string; + start_line?: number; + end_line?: number; + start_column?: number; + end_column?: number; + }; + /** + * @description A classification of the file. For example to identify it as generated. + * @enum {string|null} + */ + "code-scanning-alert-classification": + | ("source" | "generated" | "test" | "library") + | null; + "code-scanning-alert-instance": { + ref?: components["schemas"]["code-scanning-ref"]; + analysis_key?: components["schemas"]["code-scanning-analysis-analysis-key"]; + environment?: components["schemas"]["code-scanning-alert-environment"]; + category?: components["schemas"]["code-scanning-analysis-category"]; + state?: components["schemas"]["code-scanning-alert-state"]; + commit_sha?: string; + message?: { + text?: string; + }; + location?: components["schemas"]["code-scanning-alert-location"]; + html_url?: string; + /** + * @description Classifications that have been applied to the file that triggered the alert. + * For example identifying it as documentation, or a generated file. + */ + classifications?: components["schemas"]["code-scanning-alert-classification"][]; + }; + /** + * Simple Repository + * @description Simple Repository + */ + "simple-repository": { + /** + * @description A unique identifier of the repository. + * @example 1296269 + */ + id: number; + /** + * @description The GraphQL identifier of the repository. + * @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 + */ + node_id: string; + /** + * @description The name of the repository. + * @example Hello-World + */ + name: string; + /** + * @description The full, globally unique, name of the repository. + * @example octocat/Hello-World + */ + full_name: string; + owner: components["schemas"]["simple-user"]; + /** @description Whether the repository is private. */ + private: boolean; + /** + * Format: uri + * @description The URL to view the repository on GitHub.com. + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** + * @description The repository description. + * @example This your first repo! + */ + description: string | null; + /** @description Whether the repository is a fork. */ + fork: boolean; + /** + * Format: uri + * @description The URL to get more information about the repository from the GitHub API. + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** + * @description A template for the API URL to download the repository as an archive. + * @example https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} + */ + archive_url: string; + /** + * @description A template for the API URL to list the available assignees for issues in the repository. + * @example https://api.github.com/repos/octocat/Hello-World/assignees{/user} + */ + assignees_url: string; + /** + * @description A template for the API URL to create or retrieve a raw Git blob in the repository. + * @example https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} + */ + blobs_url: string; + /** + * @description A template for the API URL to get information about branches in the repository. + * @example https://api.github.com/repos/octocat/Hello-World/branches{/branch} + */ + branches_url: string; + /** + * @description A template for the API URL to get information about collaborators of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} + */ + collaborators_url: string; + /** + * @description A template for the API URL to get information about comments on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/comments{/number} + */ + comments_url: string; + /** + * @description A template for the API URL to get information about commits on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/commits{/sha} + */ + commits_url: string; + /** + * @description A template for the API URL to compare two commits or refs. + * @example https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} + */ + compare_url: string; + /** + * @description A template for the API URL to get the contents of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/contents/{+path} + */ + contents_url: string; + /** + * Format: uri + * @description A template for the API URL to list the contributors to the repository. + * @example https://api.github.com/repos/octocat/Hello-World/contributors + */ + contributors_url: string; + /** + * Format: uri + * @description The API URL to list the deployments of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/deployments + */ + deployments_url: string; + /** + * Format: uri + * @description The API URL to list the downloads on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @description The API URL to list the events of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/events + */ + events_url: string; + /** + * Format: uri + * @description The API URL to list the forks of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/forks + */ + forks_url: string; + /** + * @description A template for the API URL to get information about Git commits of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/git/commits{/sha} + */ + git_commits_url: string; + /** + * @description A template for the API URL to get information about Git refs of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/git/refs{/sha} + */ + git_refs_url: string; + /** + * @description A template for the API URL to get information about Git tags of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/git/tags{/sha} + */ + git_tags_url: string; + /** + * @description A template for the API URL to get information about issue comments on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} + */ + issue_comment_url: string; + /** + * @description A template for the API URL to get information about issue events on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/issues/events{/number} + */ + issue_events_url: string; + /** + * @description A template for the API URL to get information about issues on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/issues{/number} + */ + issues_url: string; + /** + * @description A template for the API URL to get information about deploy keys on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/keys{/key_id} + */ + keys_url: string; + /** + * @description A template for the API URL to get information about labels of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/labels{/name} + */ + labels_url: string; + /** + * Format: uri + * @description The API URL to get information about the languages of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/languages + */ + languages_url: string; + /** + * Format: uri + * @description The API URL to merge branches in the repository. + * @example https://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** + * @description A template for the API URL to get information about milestones of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/milestones{/number} + */ + milestones_url: string; + /** + * @description A template for the API URL to get information about notifications on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} + */ + notifications_url: string; + /** + * @description A template for the API URL to get information about pull requests on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/pulls{/number} + */ + pulls_url: string; + /** + * @description A template for the API URL to get information about releases on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/releases{/id} + */ + releases_url: string; + /** + * Format: uri + * @description The API URL to list the stargazers on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** + * @description A template for the API URL to get information about statuses of a commit. + * @example https://api.github.com/repos/octocat/Hello-World/statuses/{sha} + */ + statuses_url: string; + /** + * Format: uri + * @description The API URL to list the subscribers on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @description The API URL to subscribe to notifications for this repository. + * @example https://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @description The API URL to get information about tags on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @description The API URL to list the teams on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** + * @description A template for the API URL to create or retrieve a raw Git tree of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/git/trees{/sha} + */ + trees_url: string; + /** + * Format: uri + * @description The API URL to list the hooks on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + }; + "code-scanning-organization-alert-items": { + number: components["schemas"]["alert-number"]; + created_at: components["schemas"]["alert-created-at"]; + updated_at?: components["schemas"]["alert-updated-at"]; + url: components["schemas"]["alert-url"]; + html_url: components["schemas"]["alert-html-url"]; + instances_url: components["schemas"]["alert-instances-url"]; + state: components["schemas"]["code-scanning-alert-state"]; + fixed_at?: components["schemas"]["code-scanning-alert-fixed-at"]; + dismissed_by: components["schemas"]["nullable-simple-user"]; + dismissed_at: components["schemas"]["code-scanning-alert-dismissed-at"]; + dismissed_reason: components["schemas"]["code-scanning-alert-dismissed-reason"]; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + rule: components["schemas"]["code-scanning-alert-rule"]; + tool: components["schemas"]["code-scanning-analysis-tool"]; + most_recent_instance: components["schemas"]["code-scanning-alert-instance"]; + repository: components["schemas"]["simple-repository"]; + }; + /** + * Format: date-time + * @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + "nullable-alert-updated-at": string | null; + /** + * @description Sets the state of the secret scanning alert. Can be either `open` or `resolved`. You must provide `resolution` when you set the state to `resolved`. + * @enum {string} + */ + "secret-scanning-alert-state": "open" | "resolved"; + /** + * @description **Required when the `state` is `resolved`.** The reason for resolving the alert. + * @enum {string|null} + */ + "secret-scanning-alert-resolution": + | (null | "false_positive" | "wont_fix" | "revoked" | "used_in_tests") + | null; + "organization-secret-scanning-alert": { + number?: components["schemas"]["alert-number"]; + created_at?: components["schemas"]["alert-created-at"]; + updated_at?: components["schemas"]["nullable-alert-updated-at"]; + url?: components["schemas"]["alert-url"]; + html_url?: components["schemas"]["alert-html-url"]; + /** + * Format: uri + * @description The REST API URL of the code locations for this alert. + */ + locations_url?: string; + state?: components["schemas"]["secret-scanning-alert-state"]; + resolution?: components["schemas"]["secret-scanning-alert-resolution"]; + /** + * Format: date-time + * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + resolved_at?: string | null; + resolved_by?: components["schemas"]["nullable-simple-user"]; + /** @description The type of secret that secret scanning detected. */ + secret_type?: string; + /** + * @description User-friendly name for the detected secret, matching the `secret_type`. + * For a list of built-in patterns, see "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)." + */ + secret_type_display_name?: string; + /** @description The secret that was detected. */ + secret?: string; + repository?: components["schemas"]["simple-repository"]; + /** @description Whether push protection was bypassed for the detected secret. */ + push_protection_bypassed?: boolean | null; + push_protection_bypassed_by?: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + push_protection_bypassed_at?: string | null; + }; + "actions-billing-usage": { + /** @description The sum of the free and paid GitHub Actions minutes used. */ + total_minutes_used: number; + /** @description The total paid GitHub Actions minutes used. */ + total_paid_minutes_used: number; + /** @description The amount of free GitHub Actions minutes available. */ + included_minutes: number; + minutes_used_breakdown: { + /** @description Total minutes used on Ubuntu runner machines. */ + UBUNTU?: number; + /** @description Total minutes used on macOS runner machines. */ + MACOS?: number; + /** @description Total minutes used on Windows runner machines. */ + WINDOWS?: number; + /** @description Total minutes used on Ubuntu 4 core runner machines. */ + ubuntu_4_core?: number; + /** @description Total minutes used on Ubuntu 8 core runner machines. */ + ubuntu_8_core?: number; + /** @description Total minutes used on Ubuntu 16 core runner machines. */ + ubuntu_16_core?: number; + /** @description Total minutes used on Ubuntu 32 core runner machines. */ + ubuntu_32_core?: number; + /** @description Total minutes used on Ubuntu 64 core runner machines. */ + ubuntu_64_core?: number; + /** @description Total minutes used on Windows 4 core runner machines. */ + windows_4_core?: number; + /** @description Total minutes used on Windows 8 core runner machines. */ + windows_8_core?: number; + /** @description Total minutes used on Windows 16 core runner machines. */ + windows_16_core?: number; + /** @description Total minutes used on Windows 32 core runner machines. */ + windows_32_core?: number; + /** @description Total minutes used on Windows 64 core runner machines. */ + windows_64_core?: number; + /** @description Total minutes used on all runner machines. */ + total?: number; + }; + }; + "advanced-security-active-committers-user": { + user_login: string; + /** @example 2021-11-03 */ + last_pushed_date: string; + }; + "advanced-security-active-committers-repository": { + /** @example octocat/Hello-World */ + name: string; + /** @example 25 */ + advanced_security_committers: number; + advanced_security_committers_breakdown: components["schemas"]["advanced-security-active-committers-user"][]; + }; + "advanced-security-active-committers": { + /** @example 25 */ + total_advanced_security_committers?: number; + /** @example 2 */ + total_count?: number; + repositories: components["schemas"]["advanced-security-active-committers-repository"][]; + }; + "packages-billing-usage": { + /** @description Sum of the free and paid storage space (GB) for GitHuub Packages. */ + total_gigabytes_bandwidth_used: number; + /** @description Total paid storage space (GB) for GitHuub Packages. */ + total_paid_gigabytes_bandwidth_used: number; + /** @description Free storage space (GB) for GitHub Packages. */ + included_gigabytes_bandwidth: number; + }; + "combined-billing-usage": { + /** @description Numbers of days left in billing cycle. */ + days_left_in_billing_cycle: number; + /** @description Estimated storage space (GB) used in billing cycle. */ + estimated_paid_storage_for_month: number; + /** @description Estimated sum of free and paid storage space (GB) used in billing cycle. */ + estimated_storage_for_month: number; + }; + /** + * Actor + * @description Actor + */ + actor: { + id: number; + login: string; + display_login?: string; + gravatar_id: string | null; + /** Format: uri */ + url: string; + /** Format: uri */ + avatar_url: string; + }; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + "nullable-milestone": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/milestones/1 + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/milestones/v1.0 + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/milestones/1/labels + */ + labels_url: string; + /** @example 1002604 */ + id: number; + /** @example MDk6TWlsZXN0b25lMTAwMjYwNA== */ + node_id: string; + /** + * @description The number of the milestone. + * @example 42 + */ + number: number; + /** + * @description The state of the milestone. + * @default open + * @example open + * @enum {string} + */ + state: "open" | "closed"; + /** + * @description The title of the milestone. + * @example v1.0 + */ + title: string; + /** @example Tracking milestone for version 1.0 */ + description: string | null; + creator: components["schemas"]["nullable-simple-user"]; + /** @example 4 */ + open_issues: number; + /** @example 8 */ + closed_issues: number; + /** + * Format: date-time + * @example 2011-04-10T20:09:31Z + */ + created_at: string; + /** + * Format: date-time + * @example 2014-03-03T18:58:10Z + */ + updated_at: string; + /** + * Format: date-time + * @example 2013-02-12T13:22:01Z + */ + closed_at: string | null; + /** + * Format: date-time + * @example 2012-10-09T23:39:01Z + */ + due_on: string | null; + } | null; + /** + * GitHub app + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + "nullable-integration": { + /** + * @description Unique identifier of the GitHub app + * @example 37 + */ + id: number; + /** + * @description The slug name of the GitHub app + * @example probot-owners + */ + slug?: string; + /** @example MDExOkludGVncmF0aW9uMQ== */ + node_id: string; + owner: components["schemas"]["nullable-simple-user"]; + /** + * @description The name of the GitHub app + * @example Probot Owners + */ + name: string; + /** @example The description of the app. */ + description: string | null; + /** + * Format: uri + * @example https://example.com + */ + external_url: string; + /** + * Format: uri + * @example https://github.com/apps/super-ci + */ + html_url: string; + /** + * Format: date-time + * @example 2017-07-08T16:18:44-04:00 + */ + created_at: string; + /** + * Format: date-time + * @example 2017-07-08T16:18:44-04:00 + */ + updated_at: string; + /** + * @description The set of permissions for the GitHub app + * @example { + * "issues": "read", + * "deployments": "write" + * } + */ + permissions: { + issues?: string; + checks?: string; + metadata?: string; + contents?: string; + deployments?: string; + } & { [key: string]: string }; + /** + * @description The list of events for the GitHub app + * @example [ + * "label", + * "deployment" + * ] + */ + events: string[]; + /** + * @description The number of installations associated with the GitHub app + * @example 5 + */ + installations_count?: number; + /** @example "Iv1.25b5d1e65ffc4022" */ + client_id?: string; + /** @example "1d4b2097ac622ba702d19de498f005747a8b21d3" */ + client_secret?: string; + /** @example "6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b" */ + webhook_secret?: string | null; + /** @example "-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\n-----END RSA PRIVATE KEY-----\n" */ + pem?: string; + } | null; + /** + * author_association + * @description How the author is associated with the repository. + * @example OWNER + * @enum {string} + */ + "author-association": + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** Reaction Rollup */ + "reaction-rollup": { + /** Format: uri */ + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; + eyes: number; + rocket: number; + }; + /** + * Issue + * @description Issues are a great way to keep track of tasks, enhancements, and bugs for your projects. + */ + issue: { + id: number; + node_id: string; + /** + * Format: uri + * @description URL for the issue + * @example https://api.github.com/repositories/42/issues/1 + */ + url: string; + /** Format: uri */ + repository_url: string; + labels_url: string; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** + * @description Number uniquely identifying the issue within its repository + * @example 42 + */ + number: number; + /** + * @description State of the issue; either 'open' or 'closed' + * @example open + */ + state: string; + /** + * @description The reason for the current state + * @example not_planned + */ + state_reason?: string | null; + /** + * @description Title of the issue + * @example Widget creation fails in Safari on OS X 10.8 + */ + title: string; + /** + * @description Contents of the issue + * @example It looks like the new widget form is broken on Safari. When I try and create the widget, Safari crashes. This is reproducible on 10.8, but not 10.9. Maybe a browser bug? + */ + body?: string | null; + user: components["schemas"]["nullable-simple-user"]; + /** + * @description Labels to associate with this issue; pass one or more label names to replace the set of labels on this issue; send an empty array to clear all labels from the issue; note that the labels are silently dropped for users without push access to the repository + * @example [ + * "bug", + * "registration" + * ] + */ + labels: ( + | string + | { + /** Format: int64 */ + id?: number; + node_id?: string; + /** Format: uri */ + url?: string; + name?: string; + description?: string | null; + color?: string | null; + default?: boolean; + } + )[]; + assignee: components["schemas"]["nullable-simple-user"]; + assignees?: components["schemas"]["simple-user"][] | null; + milestone: components["schemas"]["nullable-milestone"]; + locked: boolean; + active_lock_reason?: string | null; + comments: number; + pull_request?: { + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + diff_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + patch_url: string | null; + /** Format: uri */ + url: string | null; + }; + /** Format: date-time */ + closed_at: string | null; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + draft?: boolean; + closed_by?: components["schemas"]["nullable-simple-user"]; + body_html?: string; + body_text?: string; + /** Format: uri */ + timeline_url?: string; + repository?: components["schemas"]["repository"]; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + author_association: components["schemas"]["author-association"]; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Issue Comment + * @description Comments provide a way for people to collaborate on an issue. + */ + "issue-comment": { + /** + * @description Unique identifier of the issue comment + * @example 42 + */ + id: number; + node_id: string; + /** + * Format: uri + * @description URL for the issue comment + * @example https://api.github.com/repositories/42/issues/comments/1 + */ + url: string; + /** + * @description Contents of the issue comment + * @example What version of Safari were you using when you observed this bug? + */ + body?: string; + body_text?: string; + body_html?: string; + /** Format: uri */ + html_url: string; + user: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @example 2011-04-14T16:00:49Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-04-14T16:00:49Z + */ + updated_at: string; + /** Format: uri */ + issue_url: string; + author_association: components["schemas"]["author-association"]; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Event + * @description Event + */ + event: { + id: string; + type: string | null; + actor: components["schemas"]["actor"]; + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + org?: components["schemas"]["actor"]; + payload: { + action?: string; + issue?: components["schemas"]["issue"]; + comment?: components["schemas"]["issue-comment"]; + pages?: { + page_name?: string; + title?: string; + summary?: string | null; + action?: string; + sha?: string; + html_url?: string; + }[]; + }; + public: boolean; + /** Format: date-time */ + created_at: string | null; + }; + /** + * Link With Type + * @description Hypermedia Link with Type + */ + "link-with-type": { + href: string; + type: string; + }; + /** + * Feed + * @description Feed + */ + feed: { + /** @example https://github.com/timeline */ + timeline_url: string; + /** @example https://github.com/{user} */ + user_url: string; + /** @example https://github.com/octocat */ + current_user_public_url?: string; + /** @example https://github.com/octocat.private?token=abc123 */ + current_user_url?: string; + /** @example https://github.com/octocat.private.actor?token=abc123 */ + current_user_actor_url?: string; + /** @example https://github.com/octocat-org */ + current_user_organization_url?: string; + /** + * @example [ + * "https://github.com/organizations/github/octocat.private.atom?token=abc123" + * ] + */ + current_user_organization_urls?: string[]; + /** @example https://github.com/security-advisories */ + security_advisories_url?: string; + _links: { + timeline: components["schemas"]["link-with-type"]; + user: components["schemas"]["link-with-type"]; + security_advisories?: components["schemas"]["link-with-type"]; + current_user?: components["schemas"]["link-with-type"]; + current_user_public?: components["schemas"]["link-with-type"]; + current_user_actor?: components["schemas"]["link-with-type"]; + current_user_organization?: components["schemas"]["link-with-type"]; + current_user_organizations?: components["schemas"]["link-with-type"][]; + }; + }; + /** + * Base Gist + * @description Base Gist + */ + "base-gist": { + /** Format: uri */ + url: string; + /** Format: uri */ + forks_url: string; + /** Format: uri */ + commits_url: string; + id: string; + node_id: string; + /** Format: uri */ + git_pull_url: string; + /** Format: uri */ + git_push_url: string; + /** Format: uri */ + html_url: string; + files: { + [key: string]: { + filename?: string; + type?: string; + language?: string; + raw_url?: string; + size?: number; + }; + }; + public: boolean; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + description: string | null; + comments: number; + user: components["schemas"]["nullable-simple-user"]; + /** Format: uri */ + comments_url: string; + owner?: components["schemas"]["simple-user"]; + truncated?: boolean; + forks?: unknown[]; + history?: unknown[]; + }; + /** + * Public User + * @description Public User + */ + "public-user": { + login: string; + id: number; + node_id: string; + /** Format: uri */ + avatar_url: string; + gravatar_id: string | null; + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + /** Format: uri */ + subscriptions_url: string; + /** Format: uri */ + organizations_url: string; + /** Format: uri */ + repos_url: string; + events_url: string; + /** Format: uri */ + received_events_url: string; + type: string; + site_admin: boolean; + name: string | null; + company: string | null; + blog: string | null; + location: string | null; + /** Format: email */ + email: string | null; + hireable: boolean | null; + bio: string | null; + twitter_username?: string | null; + public_repos: number; + public_gists: number; + followers: number; + following: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + plan?: { + collaborators: number; + name: string; + space: number; + private_repos: number; + }; + /** Format: date-time */ + suspended_at?: string | null; + /** @example 1 */ + private_gists?: number; + /** @example 2 */ + total_private_repos?: number; + /** @example 2 */ + owned_private_repos?: number; + /** @example 1 */ + disk_usage?: number; + /** @example 3 */ + collaborators?: number; + }; + /** + * Gist History + * @description Gist History + */ + "gist-history": { + user?: components["schemas"]["nullable-simple-user"]; + version?: string; + /** Format: date-time */ + committed_at?: string; + change_status?: { + total?: number; + additions?: number; + deletions?: number; + }; + /** Format: uri */ + url?: string; + }; + /** + * Gist Simple + * @description Gist Simple + */ + "gist-simple": { + /** @deprecated */ + forks?: + | { + id?: string; + /** Format: uri */ + url?: string; + user?: components["schemas"]["public-user"]; + /** Format: date-time */ + created_at?: string; + /** Format: date-time */ + updated_at?: string; + }[] + | null; + /** @deprecated */ + history?: components["schemas"]["gist-history"][] | null; + /** + * Gist + * @description Gist + */ + fork_of?: { + /** Format: uri */ + url: string; + /** Format: uri */ + forks_url: string; + /** Format: uri */ + commits_url: string; + id: string; + node_id: string; + /** Format: uri */ + git_pull_url: string; + /** Format: uri */ + git_push_url: string; + /** Format: uri */ + html_url: string; + files: { + [key: string]: { + filename?: string; + type?: string; + language?: string; + raw_url?: string; + size?: number; + }; + }; + public: boolean; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + description: string | null; + comments: number; + user: components["schemas"]["nullable-simple-user"]; + /** Format: uri */ + comments_url: string; + owner?: components["schemas"]["nullable-simple-user"]; + truncated?: boolean; + forks?: unknown[]; + history?: unknown[]; + } | null; + url?: string; + forks_url?: string; + commits_url?: string; + id?: string; + node_id?: string; + git_pull_url?: string; + git_push_url?: string; + html_url?: string; + files?: { + [key: string]: { + filename?: string; + type?: string; + language?: string; + raw_url?: string; + size?: number; + truncated?: boolean; + content?: string; + } | null; + }; + public?: boolean; + created_at?: string; + updated_at?: string; + description?: string | null; + comments?: number; + user?: string | null; + comments_url?: string; + owner?: components["schemas"]["simple-user"]; + truncated?: boolean; + }; + /** + * Gist Comment + * @description A comment made to a gist. + */ + "gist-comment": { + /** @example 1 */ + id: number; + /** @example MDExOkdpc3RDb21tZW50MQ== */ + node_id: string; + /** + * Format: uri + * @example https://api.github.com/gists/a6db0bec360bb87e9418/comments/1 + */ + url: string; + /** + * @description The comment text. + * @example Body of the attachment + */ + body: string; + user: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @example 2011-04-18T23:23:56Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-04-18T23:23:56Z + */ + updated_at: string; + author_association: components["schemas"]["author-association"]; + }; + /** + * Gist Commit + * @description Gist Commit + */ + "gist-commit": { + /** + * Format: uri + * @example https://api.github.com/gists/aa5a315d61ae9438b18d/57a7f021a713b1c5a6a199b54cc514735d2d462f + */ + url: string; + /** @example 57a7f021a713b1c5a6a199b54cc514735d2d462f */ + version: string; + user: components["schemas"]["nullable-simple-user"]; + change_status: { + total?: number; + additions?: number; + deletions?: number; + }; + /** + * Format: date-time + * @example 2010-04-14T02:15:15Z + */ + committed_at: string; + }; + /** + * Gitignore Template + * @description Gitignore Template + */ + "gitignore-template": { + /** @example C */ + name: string; + /** + * @example # Object files + * *.o + * + * # Libraries + * *.lib + * *.a + * + * # Shared objects (inc. Windows DLLs) + * *.dll + * *.so + * *.so.* + * *.dylib + * + * # Executables + * *.exe + * *.out + * *.app + */ + source: string; + }; + /** + * License Simple + * @description License Simple + */ + "license-simple": { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** + * Format: uri + * @example https://api.github.com/licenses/mit + */ + url: string | null; + /** @example MIT */ + spdx_id: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; + /** Format: uri */ + html_url?: string; + }; + /** + * License + * @description License + */ + license: { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** @example MIT */ + spdx_id: string | null; + /** + * Format: uri + * @example https://api.github.com/licenses/mit + */ + url: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; + /** + * Format: uri + * @example http://choosealicense.com/licenses/mit/ + */ + html_url: string; + /** @example A permissive license that is short and to the point. It lets people do anything with your code with proper attribution and without warranty. */ + description: string; + /** @example Create a text file (typically named LICENSE or LICENSE.txt) in the root of your source code and copy the text of the license into the file. Replace [year] with the current year and [fullname] with the name (or names) of the copyright holders. */ + implementation: string; + /** + * @example [ + * "commercial-use", + * "modifications", + * "distribution", + * "sublicense", + * "private-use" + * ] + */ + permissions: string[]; + /** + * @example [ + * "include-copyright" + * ] + */ + conditions: string[]; + /** + * @example [ + * "no-liability" + * ] + */ + limitations: string[]; + /** + * @example + * + * The MIT License (MIT) + * + * Copyright (c) [year] [fullname] + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + body: string; + /** @example true */ + featured: boolean; + }; + /** + * Marketplace Listing Plan + * @description Marketplace Listing Plan + */ + "marketplace-listing-plan": { + /** + * Format: uri + * @example https://api.github.com/marketplace_listing/plans/1313 + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/marketplace_listing/plans/1313/accounts + */ + accounts_url: string; + /** @example 1313 */ + id: number; + /** @example 3 */ + number: number; + /** @example Pro */ + name: string; + /** @example A professional-grade CI solution */ + description: string; + /** @example 1099 */ + monthly_price_in_cents: number; + /** @example 11870 */ + yearly_price_in_cents: number; + /** @example flat-rate */ + price_model: string; + /** @example true */ + has_free_trial: boolean; + unit_name: string | null; + /** @example published */ + state: string; + /** + * @example [ + * "Up to 25 private repositories", + * "11 concurrent builds" + * ] + */ + bullets: string[]; + }; + /** + * Marketplace Purchase + * @description Marketplace Purchase + */ + "marketplace-purchase": { + url: string; + type: string; + id: number; + login: string; + organization_billing_email?: string; + email?: string | null; + marketplace_pending_change?: { + is_installed?: boolean; + effective_date?: string; + unit_count?: number | null; + id?: number; + plan?: components["schemas"]["marketplace-listing-plan"]; + } | null; + marketplace_purchase: { + billing_cycle?: string; + next_billing_date?: string | null; + is_installed?: boolean; + unit_count?: number | null; + on_free_trial?: boolean; + free_trial_ends_on?: string | null; + updated_at?: string; + plan?: components["schemas"]["marketplace-listing-plan"]; + }; + }; + /** + * Api Overview + * @description Api Overview + */ + "api-overview": { + /** @example true */ + verifiable_password_authentication: boolean; + ssh_key_fingerprints?: { + SHA256_RSA?: string; + SHA256_DSA?: string; + SHA256_ECDSA?: string; + SHA256_ED25519?: string; + }; + /** + * @example [ + * "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl" + * ] + */ + ssh_keys?: string[]; + /** + * @example [ + * "127.0.0.1/32" + * ] + */ + hooks?: string[]; + /** + * @example [ + * "127.0.0.1/32" + * ] + */ + web?: string[]; + /** + * @example [ + * "127.0.0.1/32" + * ] + */ + api?: string[]; + /** + * @example [ + * "127.0.0.1/32" + * ] + */ + git?: string[]; + /** + * @example [ + * "13.65.0.0/16", + * "157.55.204.33/32", + * "2a01:111:f403:f90c::/62" + * ] + */ + packages?: string[]; + /** + * @example [ + * "192.30.252.153/32", + * "192.30.252.154/32" + * ] + */ + pages?: string[]; + /** + * @example [ + * "54.158.161.132", + * "54.226.70.38" + * ] + */ + importer?: string[]; + /** + * @example [ + * "13.64.0.0/16", + * "13.65.0.0/16" + * ] + */ + actions?: string[]; + /** + * @example [ + * "192.168.7.15/32", + * "192.168.7.16/32" + * ] + */ + dependabot?: string[]; + }; + /** + * Repository + * @description A git repository + */ + "nullable-repository": { + /** + * @description Unique identifier of the repository + * @example 42 + */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** + * @description The name of the repository. + * @example Team Environment + */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + license: components["schemas"]["nullable-license-simple"]; + organization?: components["schemas"]["nullable-simple-user"]; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + owner: components["schemas"]["simple-user"]; + /** + * @description Whether the repository is private or public. + * @default false + */ + private: boolean; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ + contributors_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments + */ + deployments_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ + events_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages + */ + languages_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** + * Format: uri + * @example git:git.example.com/octocat/Hello-World + */ + mirror_url: string | null; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + /** + * Format: uri + * @example https://svn.github.com/octocat/Hello-World + */ + svn_url: string; + /** + * Format: uri + * @example https://github.com + */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** @example 108 */ + size: number; + /** + * @description The default branch of the repository. + * @example master + */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** + * @description Whether this repository acts as a template that can be used to generate new repositories. + * @default false + * @example true + */ + is_template?: boolean; + topics?: string[]; + /** + * @description Whether issues are enabled. + * @default true + * @example true + */ + has_issues: boolean; + /** + * @description Whether projects are enabled. + * @default true + * @example true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + * @example true + */ + has_wiki: boolean; + has_pages: boolean; + /** + * @description Whether downloads are enabled. + * @default true + * @example true + */ + has_downloads: boolean; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** + * @description The repository visibility: public, private, or internal. + * @default public + */ + visibility?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at: string | null; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + * @example true + */ + allow_rebase_merge?: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + 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; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + * @example true + */ + allow_squash_merge?: boolean; + /** + * @description Whether to allow Auto-merge to be used on pull requests. + * @default false + * @example false + */ + allow_auto_merge?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + * @example false + */ + delete_branch_on_merge?: boolean; + /** + * @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + * @default false + * @example false + */ + allow_update_branch?: boolean; + /** + * @description Whether a squash merge commit can use the pull request title as default. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + * @example true + */ + allow_merge_commit?: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + } | null; + /** + * Minimal Repository + * @description Minimal Repository + */ + "minimal-repository": { + /** @example 1296269 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @example Hello-World */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + owner: components["schemas"]["simple-user"]; + private: boolean; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ + contributors_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments + */ + deployments_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ + events_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + git_url?: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages + */ + languages_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + ssh_url?: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + clone_url?: string; + mirror_url?: string | null; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + svn_url?: string; + homepage?: string | null; + language?: string | null; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at?: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at?: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at?: string | null; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + /** @example admin */ + role_name?: string; + template_repository?: components["schemas"]["nullable-repository"]; + temp_clone_token?: string; + delete_branch_on_merge?: boolean; + subscribers_count?: number; + network_count?: number; + code_of_conduct?: components["schemas"]["code-of-conduct"]; + license?: { + key?: string; + name?: string; + spdx_id?: string; + url?: string; + node_id?: string; + } | null; + /** @example 0 */ + forks?: number; + /** @example 0 */ + open_issues?: number; + /** @example 0 */ + watchers?: number; + allow_forking?: boolean; + }; + /** + * Thread + * @description Thread + */ + thread: { + id: string; + repository: components["schemas"]["minimal-repository"]; + subject: { + title: string; + url: string; + latest_comment_url: string; + type: string; + }; + reason: string; + unread: boolean; + updated_at: string; + last_read_at: string | null; + url: string; + /** @example https://api.github.com/notifications/threads/2/subscription */ + subscription_url: string; + }; + /** + * Thread Subscription + * @description Thread Subscription + */ + "thread-subscription": { + /** @example true */ + subscribed: boolean; + ignored: boolean; + reason: string | null; + /** + * Format: date-time + * @example 2012-10-06T21:34:12Z + */ + created_at: string | null; + /** + * Format: uri + * @example https://api.github.com/notifications/threads/1/subscription + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/notifications/threads/1 + */ + thread_url?: string; + /** + * Format: uri + * @example https://api.github.com/repos/1 + */ + repository_url?: string; + }; + /** + * Organization Custom Repository Role + * @description Custom repository roles created by organization administrators + */ + "organization-custom-repository-role": { + id: number; + name: string; + }; + /** + * Organization Full + * @description Organization Full + */ + "organization-full": { + /** @example github */ + login: string; + /** @example 1 */ + id: number; + /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ + node_id: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/repos + */ + repos_url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/events + */ + events_url: string; + /** @example https://api.github.com/orgs/github/hooks */ + hooks_url: string; + /** @example https://api.github.com/orgs/github/issues */ + issues_url: string; + /** @example https://api.github.com/orgs/github/members{/member} */ + members_url: string; + /** @example https://api.github.com/orgs/github/public_members{/member} */ + public_members_url: string; + /** @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example A great organization */ + description: string | null; + /** @example github */ + name?: string; + /** @example GitHub */ + company?: string; + /** + * Format: uri + * @example https://github.com/blog + */ + blog?: string; + /** @example San Francisco */ + location?: string; + /** + * Format: email + * @example octocat@github.com + */ + email?: string; + /** @example github */ + twitter_username?: string | null; + /** @example true */ + is_verified?: boolean; + /** @example true */ + has_organization_projects: boolean; + /** @example true */ + has_repository_projects: boolean; + /** @example 2 */ + public_repos: number; + /** @example 1 */ + public_gists: number; + /** @example 20 */ + followers: number; + /** @example 0 */ + following: number; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: date-time + * @example 2008-01-14T04:33:35Z + */ + created_at: string; + /** @example Organization */ + type: string; + /** @example 100 */ + total_private_repos?: number; + /** @example 100 */ + owned_private_repos?: number; + /** @example 81 */ + private_gists?: number | null; + /** @example 10000 */ + disk_usage?: number | null; + /** @example 8 */ + collaborators?: number | null; + /** + * Format: email + * @example org@example.com + */ + billing_email?: string | null; + plan?: { + name: string; + space: number; + private_repos: number; + filled_seats?: number; + seats?: number; + }; + default_repository_permission?: string | null; + /** @example true */ + members_can_create_repositories?: boolean | null; + /** @example true */ + two_factor_requirement_enabled?: boolean | null; + /** @example all */ + members_allowed_repository_creation_type?: string; + /** @example true */ + members_can_create_public_repositories?: boolean; + /** @example true */ + members_can_create_private_repositories?: boolean; + /** @example true */ + members_can_create_internal_repositories?: boolean; + /** @example true */ + members_can_create_pages?: boolean; + /** @example true */ + members_can_create_public_pages?: boolean; + /** @example true */ + members_can_create_private_pages?: boolean; + /** @example false */ + members_can_fork_private_repositories?: boolean | null; + /** Format: date-time */ + updated_at: string; + }; + /** + * Actions Cache Usage by repository + * @description GitHub Actions Cache Usage by repository. + */ + "actions-cache-usage-by-repository": { + /** + * @description The repository owner and name for the cache usage being shown. + * @example octo-org/Hello-World + */ + full_name: string; + /** + * @description The sum of the size in bytes of all the active cache items in the repository. + * @example 2322142 + */ + active_caches_size_in_bytes: number; + /** + * @description The number of active caches in the repository. + * @example 3 + */ + active_caches_count: number; + }; + /** + * Actions OIDC Subject customization + * @description Actions OIDC Subject customization + */ + "oidc-custom-sub": { + include_claim_keys: string[]; + }; + /** + * Empty Object + * @description An object without any properties. + */ + "empty-object": { [key: string]: unknown }; + /** + * @description The policy that controls the repositories in the organization that are allowed to run GitHub Actions. + * @enum {string} + */ + "enabled-repositories": "all" | "none" | "selected"; + "actions-organization-permissions": { + enabled_repositories: components["schemas"]["enabled-repositories"]; + /** @description The API URL to use to get or set the selected repositories that are allowed to run GitHub Actions, when `enabled_repositories` is set to `selected`. */ + selected_repositories_url?: string; + allowed_actions?: components["schemas"]["allowed-actions"]; + selected_actions_url?: components["schemas"]["selected-actions-url"]; + }; + "runner-groups-org": { + id: number; + name: string; + visibility: string; + default: boolean; + /** @description Link to the selected repositories resource for this runner group. Not present unless visibility was set to `selected` */ + selected_repositories_url?: string; + runners_url: string; + inherited: boolean; + inherited_allows_public_repositories?: boolean; + allows_public_repositories: boolean; + /** + * @description If `true`, the `restricted_to_workflows` and `selected_workflows` fields cannot be modified. + * @default false + */ + workflow_restrictions_read_only?: boolean; + /** + * @description If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array. + * @default false + */ + restricted_to_workflows?: boolean; + /** @description List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`. */ + selected_workflows?: string[]; + }; + /** + * Actions Secret for an Organization + * @description Secrets for GitHub Actions for an organization. + */ + "organization-actions-secret": { + /** + * @description The name of the secret. + * @example SECRET_TOKEN + */ + name: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** + * @description Visibility of a secret + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** + * Format: uri + * @example https://api.github.com/organizations/org/secrets/my_secret/repositories + */ + selected_repositories_url?: string; + }; + /** + * ActionsPublicKey + * @description The public key used for setting Actions Secrets. + */ + "actions-public-key": { + /** + * @description The identifier for the key. + * @example 1234567 + */ + key_id: string; + /** + * @description The Base64 encoded public key. + * @example hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs= + */ + key: string; + /** @example 2 */ + id?: number; + /** @example https://api.github.com/user/keys/2 */ + url?: string; + /** @example ssh-rsa AAAAB3NzaC1yc2EAAA */ + title?: string; + /** @example 2011-01-26T19:01:12Z */ + created_at?: string; + }; + /** + * Codespace machine + * @description A description of the machine powering a codespace. + */ + "nullable-codespace-machine": { + /** + * @description The name of the machine. + * @example standardLinux + */ + name: string; + /** + * @description The display name of the machine includes cores, memory, and storage. + * @example 4 cores, 8 GB RAM, 64 GB storage + */ + display_name: string; + /** + * @description The operating system of the machine. + * @example linux + */ + operating_system: string; + /** + * @description How much storage is available to the codespace. + * @example 68719476736 + */ + storage_in_bytes: number; + /** + * @description How much memory is available to the codespace. + * @example 8589934592 + */ + memory_in_bytes: number; + /** + * @description How many cores are available to the codespace. + * @example 4 + */ + cpus: number; + /** + * @description Whether a prebuild is currently available when creating a codespace for this machine and repository. If a branch was not specified as a ref, the default branch will be assumed. Value will be "null" if prebuilds are not supported or prebuild availability could not be determined. Value will be "none" if no prebuild is available. Latest values "ready" and "in_progress" indicate the prebuild availability status. + * @example ready + * @enum {string|null} + */ + prebuild_availability: ("none" | "ready" | "in_progress") | null; + } | null; + /** + * Codespace + * @description A codespace. + */ + codespace: { + /** @example 1 */ + id: number; + /** + * @description Automatically generated name of this codespace. + * @example monalisa-octocat-hello-world-g4wpq6h95q + */ + name: string; + /** + * @description Display name for this codespace. + * @example bookish space pancake + */ + display_name?: string | null; + /** + * @description UUID identifying this codespace's environment. + * @example 26a7c758-7299-4a73-b978-5a92a7ae98a0 + */ + environment_id: string | null; + owner: components["schemas"]["simple-user"]; + billable_owner: components["schemas"]["simple-user"]; + repository: components["schemas"]["minimal-repository"]; + machine: components["schemas"]["nullable-codespace-machine"]; + /** + * @description Path to devcontainer.json from repo root used to create Codespace. + * @example .devcontainer/example/devcontainer.json + */ + devcontainer_path?: string | null; + /** + * @description Whether the codespace was created from a prebuild. + * @example false + */ + prebuild: boolean | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + updated_at: string; + /** + * Format: date-time + * @description Last known time this codespace was started. + * @example 2011-01-26T19:01:12Z + */ + last_used_at: string; + /** + * @description State of this codespace. + * @example Available + * @enum {string} + */ + state: + | "Unknown" + | "Created" + | "Queued" + | "Provisioning" + | "Available" + | "Awaiting" + | "Unavailable" + | "Deleted" + | "Moved" + | "Shutdown" + | "Archived" + | "Starting" + | "ShuttingDown" + | "Failed" + | "Exporting" + | "Updating" + | "Rebuilding"; + /** + * Format: uri + * @description API URL for this codespace. + */ + url: string; + /** @description Details about the codespace's git repository. */ + git_status: { + /** + * @description The number of commits the local repository is ahead of the remote. + * @example 0 + */ + ahead?: number; + /** + * @description The number of commits the local repository is behind the remote. + * @example 0 + */ + behind?: number; + /** @description Whether the local repository has unpushed changes. */ + has_unpushed_changes?: boolean; + /** @description Whether the local repository has uncommitted changes. */ + has_uncommitted_changes?: boolean; + /** + * @description The current branch (or SHA if in detached HEAD state) of the local repository. + * @example main + */ + ref?: string; + }; + /** + * @description The Azure region where this codespace is located. + * @example WestUs2 + * @enum {string} + */ + location: "EastUs" | "SouthEastAsia" | "WestEurope" | "WestUs2"; + /** + * @description The number of minutes of inactivity after which this codespace will be automatically stopped. + * @example 60 + */ + idle_timeout_minutes: number | null; + /** + * Format: uri + * @description URL to access this codespace on the web. + */ + web_url: string; + /** + * Format: uri + * @description API URL to access available alternate machine types for this codespace. + */ + machines_url: string; + /** + * Format: uri + * @description API URL to start this codespace. + */ + start_url: string; + /** + * Format: uri + * @description API URL to stop this codespace. + */ + stop_url: string; + /** + * Format: uri + * @description API URL for the Pull Request associated with this codespace, if any. + */ + pulls_url: string | null; + recent_folders: string[]; + runtime_constraints?: { + /** @description The privacy settings a user can select from when forwarding a port. */ + allowed_port_privacy_settings?: string[] | null; + }; + /** @description Whether or not a codespace has a pending async operation. This would mean that the codespace is temporarily unavailable. The only thing that you can do with a codespace in this state is delete it. */ + pending_operation?: boolean | null; + /** @description Text to show user when codespace is disabled by a pending operation */ + pending_operation_disabled_reason?: string | null; + /** @description Text to show user when codespace idle timeout minutes has been overriden by an organization policy */ + idle_timeout_notice?: string | null; + }; + /** + * Credential Authorization + * @description Credential Authorization + */ + "credential-authorization": { + /** + * @description User login that owns the underlying credential. + * @example monalisa + */ + login: string; + /** + * @description Unique identifier for the credential. + * @example 1 + */ + credential_id: number; + /** + * @description Human-readable description of the credential type. + * @example SSH Key + */ + credential_type: string; + /** + * @description Last eight characters of the credential. Only included in responses with credential_type of personal access token. + * @example 12345678 + */ + token_last_eight?: string; + /** + * Format: date-time + * @description Date when the credential was authorized for use. + * @example 2011-01-26T19:06:43Z + */ + credential_authorized_at: string; + /** + * @description List of oauth scopes the token has been granted. + * @example [ + * "user", + * "repo" + * ] + */ + scopes?: string[]; + /** + * @description Unique string to distinguish the credential. Only included in responses with credential_type of SSH Key. + * @example jklmnop12345678 + */ + fingerprint?: string; + /** + * Format: date-time + * @description Date when the credential was last accessed. May be null if it was never accessed + * @example 2011-01-26T19:06:43Z + */ + credential_accessed_at: string | null; + /** @example 12345678 */ + authorized_credential_id: number | null; + /** + * @description The title given to the ssh key. This will only be present when the credential is an ssh key. + * @example my ssh key + */ + authorized_credential_title?: string | null; + /** + * @description The note given to the token. This will only be present when the credential is a token. + * @example my token + */ + authorized_credential_note?: string | null; + /** + * Format: date-time + * @description The expiry for the token. This will only be present when the credential is a token. + */ + authorized_credential_expires_at?: string | null; + }; + /** + * Dependabot Secret for an Organization + * @description Secrets for GitHub Dependabot for an organization. + */ + "organization-dependabot-secret": { + /** + * @description The name of the secret. + * @example SECRET_TOKEN + */ + name: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** + * @description Visibility of a secret + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** + * Format: uri + * @example https://api.github.com/organizations/org/dependabot/secrets/my_secret/repositories + */ + selected_repositories_url?: string; + }; + /** + * DependabotPublicKey + * @description The public key used for setting Dependabot Secrets. + */ + "dependabot-public-key": { + /** + * @description The identifier for the key. + * @example 1234567 + */ + key_id: string; + /** + * @description The Base64 encoded public key. + * @example hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs= + */ + key: string; + }; + /** + * ExternalGroup + * @description Information about an external group's usage and its members + */ + "external-group": { + /** + * @description The internal ID of the group + * @example 1 + */ + group_id: number; + /** + * @description The display name for the group + * @example group-azuread-test + */ + group_name: string; + /** + * @description The date when the group was last updated_at + * @example 2021-01-03 22:27:15:000 -700 + */ + updated_at?: string; + /** + * @description An array of teams linked to this group + * @example [ + * { + * "team_id": 1, + * "team_name": "team-test" + * }, + * { + * "team_id": 2, + * "team_name": "team-test2" + * } + * ] + */ + teams: { + /** + * @description The id for a team + * @example 1 + */ + team_id: number; + /** + * @description The name of the team + * @example team-test + */ + team_name: string; + }[]; + /** + * @description An array of external members linked to this group + * @example [ + * { + * "member_id": 1, + * "member_login": "mona-lisa_eocsaxrs", + * "member_name": "Mona Lisa", + * "member_email": "mona_lisa@github.com" + * }, + * { + * "member_id": 2, + * "member_login": "octo-lisa_eocsaxrs", + * "member_name": "Octo Lisa", + * "member_email": "octo_lisa@github.com" + * } + * ] + */ + members: { + /** + * @description The internal user ID of the identity + * @example 1 + */ + member_id: number; + /** + * @description The handle/login for the user + * @example mona-lisa_eocsaxrs + */ + member_login: string; + /** + * @description The user display name/profile name + * @example Mona Lisa + */ + member_name: string; + /** + * @description An email attached to a user + * @example mona_lisa@github.com + */ + member_email: string; + }[]; + }; + /** + * ExternalGroups + * @description A list of external groups available to be connected to a team + */ + "external-groups": { + /** + * @description An array of external groups available to be mapped to a team + * @example [ + * { + * "group_id": 1, + * "group_name": "group-azuread-test", + * "updated_at": "2021-01-03 22:27:15:000 -700" + * }, + * { + * "group_id": 2, + * "group_name": "group-azuread-test2", + * "updated_at": "2021-06-03 22:27:15:000 -700" + * } + * ] + */ + groups?: { + /** + * @description The internal ID of the group + * @example 1 + */ + group_id: number; + /** + * @description The display name of the group + * @example group-azuread-test + */ + group_name: string; + /** + * @description The time of the last update for this group + * @example 2019-06-03 22:27:15:000 -700 + */ + updated_at: string; + }[]; + }; + /** + * Organization Invitation + * @description Organization Invitation + */ + "organization-invitation": { + id: number; + login: string | null; + email: string | null; + role: string; + created_at: string; + failed_at?: string | null; + failed_reason?: string | null; + inviter: components["schemas"]["simple-user"]; + team_count: number; + /** @example "MDIyOk9yZ2FuaXphdGlvbkludml0YXRpb24x" */ + node_id: string; + /** @example "https://api.github.com/organizations/16/invitations/1/teams" */ + invitation_teams_url: string; + }; + /** + * Org Hook + * @description Org Hook + */ + "org-hook": { + /** @example 1 */ + id: number; + /** + * Format: uri + * @example https://api.github.com/orgs/octocat/hooks/1 + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/octocat/hooks/1/pings + */ + ping_url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/octocat/hooks/1/deliveries + */ + deliveries_url?: string; + /** @example web */ + name: string; + /** + * @example [ + * "push", + * "pull_request" + * ] + */ + events: string[]; + /** @example true */ + active: boolean; + config: { + /** @example "http://example.com/2" */ + url?: string; + /** @example "0" */ + insecure_ssl?: string; + /** @example "form" */ + content_type?: string; + /** @example "********" */ + secret?: string; + }; + /** + * Format: date-time + * @example 2011-09-06T20:39:23Z + */ + updated_at: string; + /** + * Format: date-time + * @example 2011-09-06T17:26:27Z + */ + created_at: string; + type: string; + }; + /** + * @description The type of GitHub user that can comment, open issues, or create pull requests while the interaction limit is in effect. + * @example collaborators_only + * @enum {string} + */ + "interaction-group": + | "existing_users" + | "contributors_only" + | "collaborators_only"; + /** + * Interaction Limits + * @description Interaction limit settings. + */ + "interaction-limit-response": { + limit: components["schemas"]["interaction-group"]; + /** @example repository */ + origin: string; + /** + * Format: date-time + * @example 2018-08-17T04:18:39Z + */ + expires_at: string; + }; + /** + * @description The duration of the interaction restriction. Default: `one_day`. + * @example one_month + * @enum {string} + */ + "interaction-expiry": + | "one_day" + | "three_days" + | "one_week" + | "one_month" + | "six_months"; + /** + * Interaction Restrictions + * @description Limit interactions to a specific type of user for a specified duration + */ + "interaction-limit": { + limit: components["schemas"]["interaction-group"]; + expiry?: components["schemas"]["interaction-expiry"]; + }; + /** + * Team Simple + * @description Groups of organization members that gives permissions on specified repositories. + */ + "nullable-team-simple": { + /** + * @description Unique identifier of the team + * @example 1 + */ + id: number; + /** @example MDQ6VGVhbTE= */ + node_id: string; + /** + * Format: uri + * @description URL for the team + * @example https://api.github.com/organizations/1/team/1 + */ + url: string; + /** @example https://api.github.com/organizations/1/team/1/members{/member} */ + members_url: string; + /** + * @description Name of the team + * @example Justice League + */ + name: string; + /** + * @description Description of the team + * @example A great team. + */ + description: string | null; + /** + * @description Permission that the team will have for its repositories + * @example admin + */ + permission: string; + /** + * @description The level of privacy this team should have + * @example closed + */ + privacy?: string; + /** + * Format: uri + * @example https://github.com/orgs/rails/teams/core + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/organizations/1/team/1/repos + */ + repositories_url: string; + /** @example justice-league */ + slug: string; + /** + * @description Distinguished Name (DN) that team maps to within LDAP environment + * @example uid=example,ou=users,dc=github,dc=com + */ + ldap_dn?: string; + } | null; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + team: { + id: number; + node_id: string; + name: string; + slug: string; + description: string | null; + privacy?: string; + permission: string; + permissions?: { + pull: boolean; + triage: boolean; + push: boolean; + maintain: boolean; + admin: boolean; + }; + /** Format: uri */ + url: string; + /** + * Format: uri + * @example https://github.com/orgs/rails/teams/core + */ + html_url: string; + members_url: string; + /** Format: uri */ + repositories_url: string; + parent: components["schemas"]["nullable-team-simple"]; + }; + /** + * Org Membership + * @description Org Membership + */ + "org-membership": { + /** + * Format: uri + * @example https://api.github.com/orgs/octocat/memberships/defunkt + */ + url: string; + /** + * @description The state of the member in the organization. The `pending` state indicates the user has not yet accepted an invitation. + * @example active + * @enum {string} + */ + state: "active" | "pending"; + /** + * @description The user's membership type in the organization. + * @example admin + * @enum {string} + */ + role: "admin" | "member" | "billing_manager"; + /** + * Format: uri + * @example https://api.github.com/orgs/octocat + */ + organization_url: string; + organization: components["schemas"]["organization-simple"]; + user: components["schemas"]["nullable-simple-user"]; + permissions?: { + can_create_repository: boolean; + }; + }; + /** + * Migration + * @description A migration. + */ + migration: { + /** @example 79 */ + id: number; + owner: components["schemas"]["nullable-simple-user"]; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + guid: string; + /** @example pending */ + state: string; + /** @example true */ + lock_repositories: boolean; + exclude_metadata: boolean; + exclude_git_data: boolean; + exclude_attachments: boolean; + exclude_releases: boolean; + exclude_owner_projects: boolean; + org_metadata_only: boolean; + repositories: components["schemas"]["repository"][]; + /** + * Format: uri + * @example https://api.github.com/orgs/octo-org/migrations/79 + */ + url: string; + /** + * Format: date-time + * @example 2015-07-06T15:33:38-07:00 + */ + created_at: string; + /** + * Format: date-time + * @example 2015-07-06T15:33:38-07:00 + */ + updated_at: string; + node_id: string; + /** Format: uri */ + archive_url?: string; + exclude?: unknown[]; + }; + /** + * Minimal Repository + * @description Minimal Repository + */ + "nullable-minimal-repository": { + /** @example 1296269 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @example Hello-World */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + owner: components["schemas"]["simple-user"]; + private: boolean; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ + contributors_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments + */ + deployments_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ + events_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + git_url?: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages + */ + languages_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + ssh_url?: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + clone_url?: string; + mirror_url?: string | null; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + svn_url?: string; + homepage?: string | null; + language?: string | null; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at?: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at?: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at?: string | null; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + /** @example admin */ + role_name?: string; + template_repository?: components["schemas"]["nullable-repository"]; + temp_clone_token?: string; + delete_branch_on_merge?: boolean; + subscribers_count?: number; + network_count?: number; + code_of_conduct?: components["schemas"]["code-of-conduct"]; + license?: { + key?: string; + name?: string; + spdx_id?: string; + url?: string; + node_id?: string; + } | null; + /** @example 0 */ + forks?: number; + /** @example 0 */ + open_issues?: number; + /** @example 0 */ + watchers?: number; + allow_forking?: boolean; + } | null; + /** + * Package + * @description A software package + */ + package: { + /** + * @description Unique identifier of the package. + * @example 1 + */ + id: number; + /** + * @description The name of the package. + * @example super-linter + */ + name: string; + /** + * @example docker + * @enum {string} + */ + package_type: + | "npm" + | "maven" + | "rubygems" + | "docker" + | "nuget" + | "container"; + /** @example https://api.github.com/orgs/github/packages/container/super-linter */ + url: string; + /** @example https://github.com/orgs/github/packages/container/package/super-linter */ + html_url: string; + /** + * @description The number of versions of the package. + * @example 1 + */ + version_count: number; + /** + * @example private + * @enum {string} + */ + visibility: "private" | "public"; + owner?: components["schemas"]["nullable-simple-user"]; + repository?: components["schemas"]["nullable-minimal-repository"]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Package Version + * @description A version of a software package + */ + "package-version": { + /** + * @description Unique identifier of the package version. + * @example 1 + */ + id: number; + /** + * @description The name of the package version. + * @example latest + */ + name: string; + /** @example https://api.github.com/orgs/github/packages/container/super-linter/versions/786068 */ + url: string; + /** @example https://github.com/orgs/github/packages/container/package/super-linter */ + package_html_url: string; + /** @example https://github.com/orgs/github/packages/container/super-linter/786068 */ + html_url?: string; + /** @example MIT */ + license?: string; + description?: string; + /** + * Format: date-time + * @example 2011-04-10T20:09:31Z + */ + created_at: string; + /** + * Format: date-time + * @example 2014-03-03T18:58:10Z + */ + updated_at: string; + /** + * Format: date-time + * @example 2014-03-03T18:58:10Z + */ + deleted_at?: string; + /** Package Version Metadata */ + metadata?: { + /** + * @example docker + * @enum {string} + */ + package_type: + | "npm" + | "maven" + | "rubygems" + | "docker" + | "nuget" + | "container"; + /** Container Metadata */ + container?: { + tags: string[]; + }; + /** Docker Metadata */ + docker?: { + tag?: string[]; + } & { + tags: unknown; + }; + }; + }; + /** + * Project + * @description Projects are a way to organize columns and cards of work. + */ + project: { + /** + * Format: uri + * @example https://api.github.com/repos/api-playground/projects-test + */ + owner_url: string; + /** + * Format: uri + * @example https://api.github.com/projects/1002604 + */ + url: string; + /** + * Format: uri + * @example https://github.com/api-playground/projects-test/projects/12 + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/projects/1002604/columns + */ + columns_url: string; + /** @example 1002604 */ + id: number; + /** @example MDc6UHJvamVjdDEwMDI2MDQ= */ + node_id: string; + /** + * @description Name of the project + * @example Week One Sprint + */ + name: string; + /** + * @description Body of the project + * @example This project represents the sprint of the first week in January + */ + body: string | null; + /** @example 1 */ + number: number; + /** + * @description State of the project; either 'open' or 'closed' + * @example open + */ + state: string; + creator: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @example 2011-04-10T20:09:31Z + */ + created_at: string; + /** + * Format: date-time + * @example 2014-03-03T18:58:10Z + */ + updated_at: string; + /** + * @description The baseline permission that all organization members have on this project. Only present if owner is an organization. + * @enum {string} + */ + organization_permission?: "read" | "write" | "admin" | "none"; + /** @description Whether or not this project can be seen by everyone. Only present if owner is an organization. */ + private?: boolean; + }; + /** + * GroupMapping + * @description External Groups to be mapped to a team for membership + */ + "group-mapping": { + /** + * @description Array of groups to be mapped to this team + * @example [ + * { + * "group_id": "111a1a11-aaa1-1aaa-11a1-a1a1a1a1a1aa", + * "group_name": "saml-azuread-test", + * "group_description": "A group of Developers working on AzureAD SAML SSO" + * }, + * { + * "group_id": "2bb2bb2b-bb22-22bb-2bb2-bb2bbb2bb2b2", + * "group_name": "saml-azuread-test2", + * "group_description": "Another group of Developers working on AzureAD SAML SSO" + * } + * ] + */ + groups?: { + /** + * @description The ID of the group + * @example 111a1a11-aaa1-1aaa-11a1-a1a1a1a1a1aa + */ + group_id: string; + /** + * @description The name of the group + * @example saml-azuread-test + */ + group_name: string; + /** + * @description a description of the group + * @example A group of Developers working on AzureAD SAML SSO + */ + group_description: string; + /** + * @description synchronization status for this group mapping + * @example unsynced + */ + status?: string; + /** + * @description the time of the last sync for this group-mapping + * @example 2019-06-03 22:27:15:000 -700 + */ + synced_at?: string | null; + }[]; + }; + /** + * Full Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + "team-full": { + /** + * @description Unique identifier of the team + * @example 42 + */ + id: number; + /** @example MDQ6VGVhbTE= */ + node_id: string; + /** + * Format: uri + * @description URL for the team + * @example https://api.github.com/organizations/1/team/1 + */ + url: string; + /** + * Format: uri + * @example https://github.com/orgs/rails/teams/core + */ + html_url: string; + /** + * @description Name of the team + * @example Developers + */ + name: string; + /** @example justice-league */ + slug: string; + /** @example A great team. */ + description: string | null; + /** + * @description The level of privacy this team should have + * @example closed + * @enum {string} + */ + privacy?: "closed" | "secret"; + /** + * @description Permission that the team will have for its repositories + * @example push + */ + permission: string; + /** @example https://api.github.com/organizations/1/team/1/members{/member} */ + members_url: string; + /** + * Format: uri + * @example https://api.github.com/organizations/1/team/1/repos + */ + repositories_url: string; + parent?: components["schemas"]["nullable-team-simple"]; + /** @example 3 */ + members_count: number; + /** @example 10 */ + repos_count: number; + /** + * Format: date-time + * @example 2017-07-14T16:53:42Z + */ + created_at: string; + /** + * Format: date-time + * @example 2017-08-17T12:37:15Z + */ + updated_at: string; + organization: components["schemas"]["organization-full"]; + /** + * @description Distinguished Name (DN) that team maps to within LDAP environment + * @example uid=example,ou=users,dc=github,dc=com + */ + ldap_dn?: string; + }; + /** + * Team Discussion + * @description A team discussion is a persistent record of a free-form conversation within a team. + */ + "team-discussion": { + author: components["schemas"]["nullable-simple-user"]; + /** + * @description The main text of the discussion. + * @example Please suggest improvements to our workflow in comments. + */ + body: string; + /** @example

Hi! This is an area for us to collaborate as a team

*/ + body_html: string; + /** + * @description The current version of the body content. If provided, this update operation will be rejected if the given version does not match the latest version on the server. + * @example 0307116bbf7ced493b8d8a346c650b71 + */ + body_version: string; + /** @example 0 */ + comments_count: number; + /** + * Format: uri + * @example https://api.github.com/organizations/1/team/2343027/discussions/1/comments + */ + comments_url: string; + /** + * Format: date-time + * @example 2018-01-25T18:56:31Z + */ + created_at: string; + /** Format: date-time */ + last_edited_at: string | null; + /** + * Format: uri + * @example https://github.com/orgs/github/teams/justice-league/discussions/1 + */ + html_url: string; + /** @example MDE0OlRlYW1EaXNjdXNzaW9uMQ== */ + node_id: string; + /** + * @description The unique sequence number of a team discussion. + * @example 42 + */ + number: number; + /** + * @description Whether or not this discussion should be pinned for easy retrieval. + * @example true + */ + pinned: boolean; + /** + * @description Whether or not this discussion should be restricted to team members and organization administrators. + * @example true + */ + private: boolean; + /** + * Format: uri + * @example https://api.github.com/organizations/1/team/2343027 + */ + team_url: string; + /** + * @description The title of the discussion. + * @example How can we improve our workflow? + */ + title: string; + /** + * Format: date-time + * @example 2018-01-25T18:56:31Z + */ + updated_at: string; + /** + * Format: uri + * @example https://api.github.com/organizations/1/team/2343027/discussions/1 + */ + url: string; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Team Discussion Comment + * @description A reply to a discussion within a team. + */ + "team-discussion-comment": { + author: components["schemas"]["nullable-simple-user"]; + /** + * @description The main text of the comment. + * @example I agree with this suggestion. + */ + body: string; + /** @example

Do you like apples?

*/ + body_html: string; + /** + * @description The current version of the body content. If provided, this update operation will be rejected if the given version does not match the latest version on the server. + * @example 0307116bbf7ced493b8d8a346c650b71 + */ + body_version: string; + /** + * Format: date-time + * @example 2018-01-15T23:53:58Z + */ + created_at: string; + /** Format: date-time */ + last_edited_at: string | null; + /** + * Format: uri + * @example https://api.github.com/organizations/1/team/2403582/discussions/1 + */ + discussion_url: string; + /** + * Format: uri + * @example https://github.com/orgs/github/teams/justice-league/discussions/1/comments/1 + */ + html_url: string; + /** @example MDIxOlRlYW1EaXNjdXNzaW9uQ29tbWVudDE= */ + node_id: string; + /** + * @description The unique sequence number of a team discussion comment. + * @example 42 + */ + number: number; + /** + * Format: date-time + * @example 2018-01-15T23:53:58Z + */ + updated_at: string; + /** + * Format: uri + * @example https://api.github.com/organizations/1/team/2403582/discussions/1/comments/1 + */ + url: string; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Reaction + * @description Reactions to conversations provide a way to help people express their feelings more simply and effectively. + */ + reaction: { + /** @example 1 */ + id: number; + /** @example MDg6UmVhY3Rpb24x */ + node_id: string; + user: components["schemas"]["nullable-simple-user"]; + /** + * @description The reaction to use + * @example heart + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** + * Format: date-time + * @example 2016-05-20T20:09:31Z + */ + created_at: string; + }; + /** + * Team Membership + * @description Team Membership + */ + "team-membership": { + /** Format: uri */ + url: string; + /** + * @description The role of the user in the team. + * @default member + * @example member + * @enum {string} + */ + role: "member" | "maintainer"; + /** + * @description The state of the user's membership in the team. + * @enum {string} + */ + state: "active" | "pending"; + }; + /** + * Team Project + * @description A team's access to a project. + */ + "team-project": { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string | null; + number: number; + state: string; + creator: components["schemas"]["simple-user"]; + created_at: string; + updated_at: string; + /** @description The organization permission for this project. Only present when owner is an organization. */ + organization_permission?: string; + /** @description Whether the project is private or not. Only present when owner is an organization. */ + private?: boolean; + permissions: { + read: boolean; + write: boolean; + admin: boolean; + }; + }; + /** + * Team Repository + * @description A team's access to a repository. + */ + "team-repository": { + /** + * @description Unique identifier of the repository + * @example 42 + */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** + * @description The name of the repository. + * @example Team Environment + */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + license: components["schemas"]["nullable-license-simple"]; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + /** @example admin */ + role_name?: string; + owner: components["schemas"]["nullable-simple-user"]; + /** + * @description Whether the repository is private or public. + * @default false + */ + private: boolean; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ + contributors_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments + */ + deployments_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ + events_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages + */ + languages_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** + * Format: uri + * @example git:git.example.com/octocat/Hello-World + */ + mirror_url: string | null; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + /** + * Format: uri + * @example https://svn.github.com/octocat/Hello-World + */ + svn_url: string; + /** + * Format: uri + * @example https://github.com + */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** @example 108 */ + size: number; + /** + * @description The default branch of the repository. + * @example master + */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** + * @description Whether this repository acts as a template that can be used to generate new repositories. + * @default false + * @example true + */ + is_template?: boolean; + topics?: string[]; + /** + * @description Whether issues are enabled. + * @default true + * @example true + */ + has_issues: boolean; + /** + * @description Whether projects are enabled. + * @default true + * @example true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + * @example true + */ + has_wiki: boolean; + has_pages: boolean; + /** + * @description Whether downloads are enabled. + * @default true + * @example true + */ + has_downloads: boolean; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** + * @description The repository visibility: public, private, or internal. + * @default public + */ + visibility?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at: string | null; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + * @example true + */ + allow_rebase_merge?: boolean; + template_repository?: components["schemas"]["nullable-repository"]; + temp_clone_token?: string; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + * @example true + */ + allow_squash_merge?: boolean; + /** + * @description Whether to allow Auto-merge to be used on pull requests. + * @default false + * @example false + */ + allow_auto_merge?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + * @example false + */ + delete_branch_on_merge?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + * @example true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow forking this repo + * @default false + * @example false + */ + allow_forking?: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + }; + /** + * Project Card + * @description Project cards represent a scope of work. + */ + "project-card": { + /** + * Format: uri + * @example https://api.github.com/projects/columns/cards/1478 + */ + url: string; + /** + * @description The project card's ID + * @example 42 + */ + id: number; + /** @example MDExOlByb2plY3RDYXJkMTQ3OA== */ + node_id: string; + /** @example Add payload for delete Project column */ + note: string | null; + creator: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @example 2016-09-05T14:21:06Z + */ + created_at: string; + /** + * Format: date-time + * @example 2016-09-05T14:20:22Z + */ + updated_at: string; + /** + * @description Whether or not the card is archived + * @example false + */ + archived?: boolean; + column_name?: string; + project_id?: string; + /** + * Format: uri + * @example https://api.github.com/projects/columns/367 + */ + column_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/api-playground/projects-test/issues/3 + */ + content_url?: string; + /** + * Format: uri + * @example https://api.github.com/projects/120 + */ + project_url: string; + }; + /** + * Project Column + * @description Project columns contain cards of work. + */ + "project-column": { + /** + * Format: uri + * @example https://api.github.com/projects/columns/367 + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/projects/120 + */ + project_url: string; + /** + * Format: uri + * @example https://api.github.com/projects/columns/367/cards + */ + cards_url: string; + /** + * @description The unique identifier of the project column + * @example 42 + */ + id: number; + /** @example MDEzOlByb2plY3RDb2x1bW4zNjc= */ + node_id: string; + /** + * @description Name of the project column + * @example Remaining tasks + */ + name: string; + /** + * Format: date-time + * @example 2016-09-05T14:18:44Z + */ + created_at: string; + /** + * Format: date-time + * @example 2016-09-05T14:22:28Z + */ + updated_at: string; + }; + /** + * Project Collaborator Permission + * @description Project Collaborator Permission + */ + "project-collaborator-permission": { + permission: string; + user: components["schemas"]["nullable-simple-user"]; + }; + /** Rate Limit */ + "rate-limit": { + limit: number; + remaining: number; + reset: number; + used: number; + }; + /** + * Rate Limit Overview + * @description Rate Limit Overview + */ + "rate-limit-overview": { + resources: { + core: components["schemas"]["rate-limit"]; + graphql?: components["schemas"]["rate-limit"]; + search: components["schemas"]["rate-limit"]; + source_import?: components["schemas"]["rate-limit"]; + integration_manifest?: components["schemas"]["rate-limit"]; + code_scanning_upload?: components["schemas"]["rate-limit"]; + actions_runner_registration?: components["schemas"]["rate-limit"]; + scim?: components["schemas"]["rate-limit"]; + dependency_snapshots?: components["schemas"]["rate-limit"]; + }; + rate: components["schemas"]["rate-limit"]; + }; + /** + * Code Of Conduct Simple + * @description Code of Conduct Simple + */ + "code-of-conduct-simple": { + /** + * Format: uri + * @example https://api.github.com/repos/github/docs/community/code_of_conduct + */ + url: string; + /** @example citizen_code_of_conduct */ + key: string; + /** @example Citizen Code of Conduct */ + name: string; + /** + * Format: uri + * @example https://github.com/github/docs/blob/main/CODE_OF_CONDUCT.md + */ + html_url: string | null; + }; + "security-and-analysis": { + advanced_security?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + secret_scanning?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + secret_scanning_push_protection?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + } | null; + /** + * Full Repository + * @description Full Repository + */ + "full-repository": { + /** @example 1296269 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @example Hello-World */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + owner: components["schemas"]["simple-user"]; + private: boolean; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ + contributors_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments + */ + deployments_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ + events_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages + */ + languages_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** + * Format: uri + * @example git:git.example.com/octocat/Hello-World + */ + mirror_url: string | null; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + /** + * Format: uri + * @example https://svn.github.com/octocat/Hello-World + */ + svn_url: string; + /** + * Format: uri + * @example https://github.com + */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** @example 108 */ + size: number; + /** @example master */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** @example true */ + is_template?: boolean; + /** + * @example [ + * "octocat", + * "atom", + * "electron", + * "API" + * ] + */ + topics?: string[]; + /** @example true */ + has_issues: boolean; + /** @example true */ + has_projects: boolean; + /** @example true */ + has_wiki: boolean; + has_pages: boolean; + /** @example true */ + has_downloads: boolean; + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** + * @description The repository visibility: public, private, or internal. + * @example public + */ + visibility?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at: string; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at: string; + permissions?: { + admin: boolean; + maintain?: boolean; + push: boolean; + triage?: boolean; + pull: boolean; + }; + /** @example true */ + allow_rebase_merge?: boolean; + template_repository?: components["schemas"]["nullable-repository"]; + temp_clone_token?: string | null; + /** @example true */ + allow_squash_merge?: boolean; + /** @example false */ + allow_auto_merge?: boolean; + /** @example false */ + delete_branch_on_merge?: boolean; + /** @example true */ + allow_merge_commit?: boolean; + /** @example true */ + allow_update_branch?: boolean; + /** @example false */ + use_squash_pr_title_as_default?: boolean; + /** @example true */ + allow_forking?: boolean; + /** @example 42 */ + subscribers_count: number; + /** @example 0 */ + network_count: number; + license: components["schemas"]["nullable-license-simple"]; + organization?: components["schemas"]["nullable-simple-user"]; + parent?: components["schemas"]["repository"]; + source?: components["schemas"]["repository"]; + forks: number; + master_branch?: string; + open_issues: number; + watchers: number; + /** + * @description Whether anonymous git access is allowed. + * @default true + */ + anonymous_access_enabled?: boolean; + code_of_conduct?: components["schemas"]["code-of-conduct-simple"]; + security_and_analysis?: components["schemas"]["security-and-analysis"]; + }; + /** + * Artifact + * @description An artifact + */ + artifact: { + /** @example 5 */ + id: number; + /** @example MDEwOkNoZWNrU3VpdGU1 */ + node_id: string; + /** + * @description The name of the artifact. + * @example AdventureWorks.Framework + */ + name: string; + /** + * @description The size in bytes of the artifact. + * @example 12345 + */ + size_in_bytes: number; + /** @example https://api.github.com/repos/github/hello-world/actions/artifacts/5 */ + url: string; + /** @example https://api.github.com/repos/github/hello-world/actions/artifacts/5/zip */ + archive_download_url: string; + /** @description Whether or not the artifact has expired. */ + expired: boolean; + /** Format: date-time */ + created_at: string | null; + /** Format: date-time */ + expires_at: string | null; + /** Format: date-time */ + updated_at: string | null; + workflow_run?: { + /** @example 10 */ + id?: number; + /** @example 42 */ + repository_id?: number; + /** @example 42 */ + head_repository_id?: number; + /** @example main */ + head_branch?: string; + /** @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d */ + head_sha?: string; + } | null; + }; + /** + * Repository actions caches + * @description Repository actions caches + */ + "actions-cache-list": { + /** + * @description Total number of caches + * @example 2 + */ + total_count: number; + /** @description Array of caches */ + actions_caches: { + /** @example 2 */ + id?: number; + /** @example refs/heads/main */ + ref?: string; + /** @example Linux-node-958aff96db2d75d67787d1e634ae70b659de937b */ + key?: string; + /** @example 73885106f58cc52a7df9ec4d4a5622a5614813162cb516c759a30af6bf56e6f0 */ + version?: string; + /** + * Format: date-time + * @example 2019-01-24T22:45:36.000Z + */ + last_accessed_at?: string; + /** + * Format: date-time + * @example 2019-01-24T22:45:36.000Z + */ + created_at?: string; + /** @example 1024 */ + size_in_bytes?: number; + }[]; + }; + /** + * Job + * @description Information of a job execution in a workflow run + */ + job: { + /** + * @description The id of the job. + * @example 21 + */ + id: number; + /** + * @description The id of the associated workflow run. + * @example 5 + */ + run_id: number; + /** @example https://api.github.com/repos/github/hello-world/actions/runs/5 */ + run_url: string; + /** + * @description Attempt number of the associated workflow run, 1 for first attempt and higher if the workflow was re-run. + * @example 1 + */ + run_attempt?: number; + /** @example MDg6Q2hlY2tSdW40 */ + node_id: string; + /** + * @description The SHA of the commit that is being run. + * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d + */ + head_sha: string; + /** @example https://api.github.com/repos/github/hello-world/actions/jobs/21 */ + url: string; + /** @example https://github.com/github/hello-world/runs/4 */ + html_url: string | null; + /** + * @description The phase of the lifecycle that the job is currently in. + * @example queued + * @enum {string} + */ + status: "queued" | "in_progress" | "completed"; + /** + * @description The outcome of the job. + * @example success + */ + conclusion: string | null; + /** + * Format: date-time + * @description The time that the job started, in ISO 8601 format. + * @example 2019-08-08T08:00:00-07:00 + */ + started_at: string; + /** + * Format: date-time + * @description The time that the job finished, in ISO 8601 format. + * @example 2019-08-08T08:00:00-07:00 + */ + completed_at: string | null; + /** + * @description The name of the job. + * @example test-coverage + */ + name: string; + /** @description Steps in this job. */ + steps?: { + /** + * @description The phase of the lifecycle that the job is currently in. + * @example queued + * @enum {string} + */ + status: "queued" | "in_progress" | "completed"; + /** + * @description The outcome of the job. + * @example success + */ + conclusion: string | null; + /** + * @description The name of the job. + * @example test-coverage + */ + name: string; + /** @example 1 */ + number: number; + /** + * Format: date-time + * @description The time that the step started, in ISO 8601 format. + * @example 2019-08-08T08:00:00-07:00 + */ + started_at?: string | null; + /** + * Format: date-time + * @description The time that the job finished, in ISO 8601 format. + * @example 2019-08-08T08:00:00-07:00 + */ + completed_at?: string | null; + }[]; + /** @example https://api.github.com/repos/github/hello-world/check-runs/4 */ + check_run_url: string; + /** + * @description Labels for the workflow job. Specified by the "runs_on" attribute in the action's workflow file. + * @example [ + * "self-hosted", + * "foo", + * "bar" + * ] + */ + labels: string[]; + /** + * @description The ID of the runner to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) + * @example 1 + */ + runner_id: number | null; + /** + * @description The name of the runner to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) + * @example my runner + */ + runner_name: string | null; + /** + * @description The ID of the runner group to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) + * @example 2 + */ + runner_group_id: number | null; + /** + * @description The name of the runner group to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) + * @example my runner group + */ + runner_group_name: string | null; + }; + /** + * The json payload enables/disables the use of sub claim customization + * @description OIDC Customer Subject + */ + "opt-out-oidc-custom-sub": { + use_default: boolean; + }; + /** @description Whether GitHub Actions is enabled on the repository. */ + "actions-enabled": boolean; + "actions-repository-permissions": { + enabled: components["schemas"]["actions-enabled"]; + allowed_actions?: components["schemas"]["allowed-actions"]; + selected_actions_url?: components["schemas"]["selected-actions-url"]; + }; + "actions-workflow-access-to-repository": { + /** + * @description Defines the level of access that workflows outside of the repository have to actions and reusable workflows within the + * repository. `none` means access is only possible from workflows in this repository. + * @enum {string} + */ + access_level: "none" | "organization" | "enterprise"; + }; + /** + * Referenced workflow + * @description A workflow referenced/reused by the initial caller workflow + */ + "referenced-workflow": { + path: string; + sha: string; + ref?: string; + }; + /** Pull Request Minimal */ + "pull-request-minimal": { + id: number; + number: number; + url: string; + head: { + ref: string; + sha: string; + repo: { + id: number; + url: string; + name: string; + }; + }; + base: { + ref: string; + sha: string; + repo: { + id: number; + url: string; + name: string; + }; + }; + }; + /** + * Simple Commit + * @description Simple Commit + */ + "nullable-simple-commit": { + id: string; + tree_id: string; + message: string; + /** Format: date-time */ + timestamp: string; + author: { + name: string; + email: string; + } | null; + committer: { + name: string; + email: string; + } | null; + } | null; + /** + * Workflow Run + * @description An invocation of a workflow + */ + "workflow-run": { + /** + * @description The ID of the workflow run. + * @example 5 + */ + id: number; + /** + * @description The name of the workflow run. + * @example Build + */ + name?: string | null; + /** @example MDEwOkNoZWNrU3VpdGU1 */ + node_id: string; + /** + * @description The ID of the associated check suite. + * @example 42 + */ + check_suite_id?: number; + /** + * @description The node ID of the associated check suite. + * @example MDEwOkNoZWNrU3VpdGU0Mg== + */ + check_suite_node_id?: string; + /** @example master */ + head_branch: string | null; + /** + * @description The SHA of the head commit that points to the version of the workflow being run. + * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d + */ + head_sha: string; + /** + * @description The full path of the workflow + * @example octocat/octo-repo/.github/workflows/ci.yml@main + */ + path: string; + /** + * @description The auto incrementing run number for the workflow run. + * @example 106 + */ + run_number: number; + /** + * @description Attempt number of the run, 1 for first attempt and higher if the workflow was re-run. + * @example 1 + */ + run_attempt?: number; + referenced_workflows?: + | components["schemas"]["referenced-workflow"][] + | null; + /** @example push */ + event: string; + /** @example completed */ + status: string | null; + /** @example neutral */ + conclusion: string | null; + /** + * @description The ID of the parent workflow. + * @example 5 + */ + workflow_id: number; + /** + * @description The URL to the workflow run. + * @example https://api.github.com/repos/github/hello-world/actions/runs/5 + */ + url: string; + /** @example https://github.com/github/hello-world/suites/4 */ + html_url: string; + pull_requests: components["schemas"]["pull-request-minimal"][] | null; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + actor?: components["schemas"]["simple-user"]; + triggering_actor?: components["schemas"]["simple-user"]; + /** + * Format: date-time + * @description The start time of the latest run. Resets on re-run. + */ + run_started_at?: string; + /** + * @description The URL to the jobs for the workflow run. + * @example https://api.github.com/repos/github/hello-world/actions/runs/5/jobs + */ + jobs_url: string; + /** + * @description The URL to download the logs for the workflow run. + * @example https://api.github.com/repos/github/hello-world/actions/runs/5/logs + */ + logs_url: string; + /** + * @description The URL to the associated check suite. + * @example https://api.github.com/repos/github/hello-world/check-suites/12 + */ + check_suite_url: string; + /** + * @description The URL to the artifacts for the workflow run. + * @example https://api.github.com/repos/github/hello-world/actions/runs/5/rerun/artifacts + */ + artifacts_url: string; + /** + * @description The URL to cancel the workflow run. + * @example https://api.github.com/repos/github/hello-world/actions/runs/5/cancel + */ + cancel_url: string; + /** + * @description The URL to rerun the workflow run. + * @example https://api.github.com/repos/github/hello-world/actions/runs/5/rerun + */ + rerun_url: string; + /** + * @description The URL to the previous attempted run of this workflow, if one exists. + * @example https://api.github.com/repos/github/hello-world/actions/runs/5/attempts/3 + */ + previous_attempt_url?: string | null; + /** + * @description The URL to the workflow. + * @example https://api.github.com/repos/github/hello-world/actions/workflows/main.yaml + */ + workflow_url: string; + head_commit: components["schemas"]["nullable-simple-commit"]; + repository: components["schemas"]["minimal-repository"]; + head_repository: components["schemas"]["minimal-repository"]; + /** @example 5 */ + head_repository_id?: number; + }; + /** + * Environment Approval + * @description An entry in the reviews log for environment deployments + */ + "environment-approvals": { + /** @description The list of environments that were approved or rejected */ + environments: { + /** + * @description The id of the environment. + * @example 56780428 + */ + id?: number; + /** @example MDExOkVudmlyb25tZW50NTY3ODA0Mjg= */ + node_id?: string; + /** + * @description The name of the environment. + * @example staging + */ + name?: string; + /** @example https://api.github.com/repos/github/hello-world/environments/staging */ + url?: string; + /** @example https://github.com/github/hello-world/deployments/activity_log?environments_filter=staging */ + html_url?: string; + /** + * Format: date-time + * @description The time that the environment was created, in ISO 8601 format. + * @example 2020-11-23T22:00:40Z + */ + created_at?: string; + /** + * Format: date-time + * @description The time that the environment was last updated, in ISO 8601 format. + * @example 2020-11-23T22:00:40Z + */ + updated_at?: string; + }[]; + /** + * @description Whether deployment to the environment(s) was approved or rejected + * @example approved + * @enum {string} + */ + state: "approved" | "rejected"; + user: components["schemas"]["simple-user"]; + /** + * @description The comment submitted with the deployment review + * @example Ship it! + */ + comment: string; + }; + /** + * @description The type of reviewer. + * @example User + * @enum {string} + */ + "deployment-reviewer-type": "User" | "Team"; + /** + * Pending Deployment + * @description Details of a deployment that is waiting for protection rules to pass + */ + "pending-deployment": { + environment: { + /** + * @description The id of the environment. + * @example 56780428 + */ + id?: number; + /** @example MDExOkVudmlyb25tZW50NTY3ODA0Mjg= */ + node_id?: string; + /** + * @description The name of the environment. + * @example staging + */ + name?: string; + /** @example https://api.github.com/repos/github/hello-world/environments/staging */ + url?: string; + /** @example https://github.com/github/hello-world/deployments/activity_log?environments_filter=staging */ + html_url?: string; + }; + /** + * @description The set duration of the wait timer + * @example 30 + */ + wait_timer: number; + /** + * Format: date-time + * @description The time that the wait timer began. + * @example 2020-11-23T22:00:40Z + */ + wait_timer_started_at: string | null; + /** + * @description Whether the currently authenticated user can approve the deployment + * @example true + */ + current_user_can_approve: boolean; + /** @description The people or teams that may approve jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. */ + reviewers: { + type?: components["schemas"]["deployment-reviewer-type"]; + reviewer?: Partial & + Partial; + }[]; + }; + /** + * Deployment + * @description A request for a specific ref(branch,sha,tag) to be deployed + */ + deployment: { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/example/deployments/1 + */ + url: string; + /** + * @description Unique identifier of the deployment + * @example 42 + */ + id: number; + /** @example MDEwOkRlcGxveW1lbnQx */ + node_id: string; + /** @example a84d88e7554fc1fa21bcbc4efae3c782a70d2b9d */ + sha: string; + /** + * @description The ref to deploy. This can be a branch, tag, or sha. + * @example topic-branch + */ + ref: string; + /** + * @description Parameter to specify a task to execute + * @example deploy + */ + task: string; + payload: { [key: string]: unknown } | string; + /** @example staging */ + original_environment?: string; + /** + * @description Name for the target deployment environment. + * @example production + */ + environment: string; + /** @example Deploy request from hubot */ + description: string | null; + creator: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @example 2012-07-20T01:19:13Z + */ + created_at: string; + /** + * Format: date-time + * @example 2012-07-20T01:19:13Z + */ + updated_at: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/example/deployments/1/statuses + */ + statuses_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/example + */ + repository_url: string; + /** + * @description Specifies if the given environment is will no longer exist at some point in the future. Default: false. + * @example true + */ + transient_environment?: boolean; + /** + * @description Specifies if the given environment is one that end-users directly interact with. Default: false. + * @example true + */ + production_environment?: boolean; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + }; + /** + * Workflow Run Usage + * @description Workflow Run Usage + */ + "workflow-run-usage": { + billable: { + UBUNTU?: { + total_ms: number; + jobs: number; + job_runs?: { + job_id: number; + duration_ms: number; + }[]; + }; + MACOS?: { + total_ms: number; + jobs: number; + job_runs?: { + job_id: number; + duration_ms: number; + }[]; + }; + WINDOWS?: { + total_ms: number; + jobs: number; + job_runs?: { + job_id: number; + duration_ms: number; + }[]; + }; + }; + run_duration_ms?: number; + }; + /** + * Actions Secret + * @description Set secrets for GitHub Actions. + */ + "actions-secret": { + /** + * @description The name of the secret. + * @example SECRET_TOKEN + */ + name: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Workflow + * @description A GitHub Actions workflow + */ + workflow: { + /** @example 5 */ + id: number; + /** @example MDg6V29ya2Zsb3cxMg== */ + node_id: string; + /** @example CI */ + name: string; + /** @example ruby.yaml */ + path: string; + /** + * @example active + * @enum {string} + */ + state: + | "active" + | "deleted" + | "disabled_fork" + | "disabled_inactivity" + | "disabled_manually"; + /** + * Format: date-time + * @example 2019-12-06T14:20:20.000Z + */ + created_at: string; + /** + * Format: date-time + * @example 2019-12-06T14:20:20.000Z + */ + updated_at: string; + /** @example https://api.github.com/repos/actions/setup-ruby/workflows/5 */ + url: string; + /** @example https://github.com/actions/setup-ruby/blob/master/.github/workflows/ruby.yaml */ + html_url: string; + /** @example https://github.com/actions/setup-ruby/workflows/CI/badge.svg */ + badge_url: string; + /** + * Format: date-time + * @example 2019-12-06T14:20:20.000Z + */ + deleted_at?: string; + }; + /** + * Workflow Usage + * @description Workflow Usage + */ + "workflow-usage": { + billable: { + UBUNTU?: { + total_ms?: number; + }; + MACOS?: { + total_ms?: number; + }; + WINDOWS?: { + total_ms?: number; + }; + }; + }; + /** + * Autolink reference + * @description An autolink reference. + */ + autolink: { + /** @example 3 */ + id: number; + /** + * @description The prefix of a key that is linkified. + * @example TICKET- + */ + key_prefix: string; + /** + * @description A template for the target URL that is generated if a key was found. + * @example https://example.com/TICKET?query= + */ + url_template: string; + /** @description Whether this autolink reference matches alphanumeric characters. If false, this autolink reference is a legacy autolink that only matches numeric characters. */ + is_alphanumeric?: boolean; + }; + /** + * Protected Branch Required Status Check + * @description Protected Branch Required Status Check + */ + "protected-branch-required-status-check": { + url?: string; + enforcement_level?: string; + contexts: string[]; + checks: { + context: string; + app_id: number | null; + }[]; + contexts_url?: string; + strict?: boolean; + }; + /** + * Protected Branch Admin Enforced + * @description Protected Branch Admin Enforced + */ + "protected-branch-admin-enforced": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/enforce_admins + */ + url: string; + /** @example true */ + enabled: boolean; + }; + /** + * Protected Branch Pull Request Review + * @description Protected Branch Pull Request Review + */ + "protected-branch-pull-request-review": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/dismissal_restrictions + */ + url?: string; + dismissal_restrictions?: { + /** @description The list of users with review dismissal access. */ + users?: components["schemas"]["simple-user"][]; + /** @description The list of teams with review dismissal access. */ + teams?: components["schemas"]["team"][]; + /** @description The list of apps with review dismissal access. */ + apps?: components["schemas"]["integration"][]; + /** @example "https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions" */ + url?: string; + /** @example "https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions/users" */ + users_url?: string; + /** @example "https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions/teams" */ + teams_url?: string; + }; + /** @description Allow specific users, teams, or apps to bypass pull request requirements. */ + bypass_pull_request_allowances?: { + /** @description The list of users allowed to bypass pull request requirements. */ + users?: components["schemas"]["simple-user"][]; + /** @description The list of teams allowed to bypass pull request requirements. */ + teams?: components["schemas"]["team"][]; + /** @description The list of apps allowed to bypass pull request requirements. */ + apps?: components["schemas"]["integration"][]; + }; + /** @example true */ + dismiss_stale_reviews: boolean; + /** @example true */ + require_code_owner_reviews: boolean; + /** @example 2 */ + required_approving_review_count?: number; + }; + /** + * Branch Restriction Policy + * @description Branch Restriction Policy + */ + "branch-restriction-policy": { + /** Format: uri */ + url: string; + /** Format: uri */ + users_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri */ + apps_url: string; + users: { + 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; + }[]; + teams: { + id?: number; + node_id?: string; + url?: string; + html_url?: string; + name?: string; + slug?: string; + description?: string | null; + privacy?: string; + permission?: string; + members_url?: string; + repositories_url?: string; + parent?: string | null; + }[]; + apps: { + id?: number; + slug?: string; + node_id?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + url?: string; + repos_url?: string; + events_url?: string; + hooks_url?: string; + issues_url?: string; + members_url?: string; + public_members_url?: string; + avatar_url?: string; + description?: string; + /** @example "" */ + gravatar_id?: string; + /** @example "https://github.com/testorg-ea8ec76d71c3af4b" */ + html_url?: string; + /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/followers" */ + followers_url?: string; + /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/following{/other_user}" */ + following_url?: string; + /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/gists{/gist_id}" */ + gists_url?: string; + /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/starred{/owner}{/repo}" */ + starred_url?: string; + /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/subscriptions" */ + subscriptions_url?: string; + /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/orgs" */ + organizations_url?: string; + /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/received_events" */ + received_events_url?: string; + /** @example "Organization" */ + type?: string; + /** @example false */ + site_admin?: boolean; + }; + name?: string; + description?: string; + external_url?: string; + html_url?: string; + created_at?: string; + updated_at?: string; + permissions?: { + metadata?: string; + contents?: string; + issues?: string; + single_file?: string; + }; + events?: string[]; + }[]; + }; + /** + * Branch Protection + * @description Branch Protection + */ + "branch-protection": { + url?: string; + enabled?: boolean; + required_status_checks?: components["schemas"]["protected-branch-required-status-check"]; + enforce_admins?: components["schemas"]["protected-branch-admin-enforced"]; + required_pull_request_reviews?: components["schemas"]["protected-branch-pull-request-review"]; + restrictions?: components["schemas"]["branch-restriction-policy"]; + required_linear_history?: { + enabled?: boolean; + }; + allow_force_pushes?: { + enabled?: boolean; + }; + allow_deletions?: { + enabled?: boolean; + }; + block_creations?: { + enabled?: boolean; + }; + required_conversation_resolution?: { + enabled?: boolean; + }; + /** @example "branch/with/protection" */ + name?: string; + /** @example "https://api.github.com/repos/owner-79e94e2d36b3fd06a32bb213/AAA_Public_Repo/branches/branch/with/protection/protection" */ + protection_url?: string; + required_signatures?: { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_signatures + */ + url: string; + /** @example true */ + enabled: boolean; + }; + }; + /** + * Short Branch + * @description Short Branch + */ + "short-branch": { + name: string; + commit: { + sha: string; + /** Format: uri */ + url: string; + }; + protected: boolean; + protection?: components["schemas"]["branch-protection"]; + /** Format: uri */ + protection_url?: string; + }; + /** + * Git User + * @description Metaproperties for Git author/committer information. + */ + "nullable-git-user": { + /** @example "Chris Wanstrath" */ + name?: string; + /** @example "chris@ozmm.org" */ + email?: string; + /** @example "2007-10-29T02:42:39.000-07:00" */ + date?: string; + } | null; + /** Verification */ + verification: { + verified: boolean; + reason: string; + payload: string | null; + signature: string | null; + }; + /** + * Diff Entry + * @description Diff Entry + */ + "diff-entry": { + /** @example bbcd538c8e72b8c175046e27cc8f907076331401 */ + sha: string; + /** @example file1.txt */ + filename: string; + /** + * @example added + * @enum {string} + */ + status: + | "added" + | "removed" + | "modified" + | "renamed" + | "copied" + | "changed" + | "unchanged"; + /** @example 103 */ + additions: number; + /** @example 21 */ + deletions: number; + /** @example 124 */ + changes: number; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/blob/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt + */ + blob_url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/raw/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt + */ + raw_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/contents/file1.txt?ref=6dcb09b5b57875f334f61aebed695e2e4193db5e + */ + contents_url: string; + /** @example @@ -132,7 +132,7 @@ module Test @@ -1000,7 +1000,7 @@ module Test */ + patch?: string; + /** @example file.txt */ + previous_filename?: string; + }; + /** + * Commit + * @description Commit + */ + commit: { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e + */ + url: string; + /** @example 6dcb09b5b57875f334f61aebed695e2e4193db5e */ + sha: string; + /** @example MDY6Q29tbWl0NmRjYjA5YjViNTc4NzVmMzM0ZjYxYWViZWQ2OTVlMmU0MTkzZGI1ZQ== */ + node_id: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e/comments + */ + comments_url: string; + commit: { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e + */ + url: string; + author: components["schemas"]["nullable-git-user"]; + committer: components["schemas"]["nullable-git-user"]; + /** @example Fix all the bugs */ + message: string; + /** @example 0 */ + comment_count: number; + tree: { + /** @example 827efc6d56897b048c772eb4087f854f46256132 */ + sha: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/tree/827efc6d56897b048c772eb4087f854f46256132 + */ + url: string; + }; + verification?: components["schemas"]["verification"]; + }; + author: components["schemas"]["nullable-simple-user"]; + committer: components["schemas"]["nullable-simple-user"]; + parents: { + /** @example 7638417db6d59f3c431d3e1f261cc637155684cd */ + sha: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/commits/7638417db6d59f3c431d3e1f261cc637155684cd + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/commit/7638417db6d59f3c431d3e1f261cc637155684cd + */ + html_url?: string; + }[]; + stats?: { + additions?: number; + deletions?: number; + total?: number; + }; + files?: components["schemas"]["diff-entry"][]; + }; + /** + * Branch With Protection + * @description Branch With Protection + */ + "branch-with-protection": { + name: string; + commit: components["schemas"]["commit"]; + _links: { + html: string; + /** Format: uri */ + self: string; + }; + protected: boolean; + protection: components["schemas"]["branch-protection"]; + /** Format: uri */ + protection_url: string; + /** @example "mas*" */ + pattern?: string; + /** @example 1 */ + required_approving_review_count?: number; + }; + /** + * Status Check Policy + * @description Status Check Policy + */ + "status-check-policy": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks + */ + url: string; + /** @example true */ + strict: boolean; + /** + * @example [ + * "continuous-integration/travis-ci" + * ] + */ + contexts: string[]; + checks: { + /** @example continuous-integration/travis-ci */ + context: string; + app_id: number | null; + }[]; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks/contexts + */ + contexts_url: string; + }; + /** + * Protected Branch + * @description Branch protections protect branches + */ + "protected-branch": { + /** Format: uri */ + url: string; + required_status_checks?: components["schemas"]["status-check-policy"]; + required_pull_request_reviews?: { + /** Format: uri */ + url: string; + dismiss_stale_reviews?: boolean; + require_code_owner_reviews?: boolean; + required_approving_review_count?: number; + dismissal_restrictions?: { + /** Format: uri */ + url: string; + /** Format: uri */ + users_url: string; + /** Format: uri */ + teams_url: string; + users: components["schemas"]["simple-user"][]; + teams: components["schemas"]["team"][]; + apps?: components["schemas"]["integration"][]; + }; + bypass_pull_request_allowances?: { + users: components["schemas"]["simple-user"][]; + teams: components["schemas"]["team"][]; + apps?: components["schemas"]["integration"][]; + }; + }; + required_signatures?: { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_signatures + */ + url: string; + /** @example true */ + enabled: boolean; + }; + enforce_admins?: { + /** Format: uri */ + url: string; + enabled: boolean; + }; + required_linear_history?: { + enabled: boolean; + }; + allow_force_pushes?: { + enabled: boolean; + }; + allow_deletions?: { + enabled: boolean; + }; + restrictions?: components["schemas"]["branch-restriction-policy"]; + required_conversation_resolution?: { + enabled?: boolean; + }; + block_creations?: { + enabled: boolean; + }; + }; + /** + * Deployment + * @description A deployment created as the result of an Actions check run from a workflow that references an environment + */ + "deployment-simple": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/example/deployments/1 + */ + url: string; + /** + * @description Unique identifier of the deployment + * @example 42 + */ + id: number; + /** @example MDEwOkRlcGxveW1lbnQx */ + node_id: string; + /** + * @description Parameter to specify a task to execute + * @example deploy + */ + task: string; + /** @example staging */ + original_environment?: string; + /** + * @description Name for the target deployment environment. + * @example production + */ + environment: string; + /** @example Deploy request from hubot */ + description: string | null; + /** + * Format: date-time + * @example 2012-07-20T01:19:13Z + */ + created_at: string; + /** + * Format: date-time + * @example 2012-07-20T01:19:13Z + */ + updated_at: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/example/deployments/1/statuses + */ + statuses_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/example + */ + repository_url: string; + /** + * @description Specifies if the given environment is will no longer exist at some point in the future. Default: false. + * @example true + */ + transient_environment?: boolean; + /** + * @description Specifies if the given environment is one that end-users directly interact with. Default: false. + * @example true + */ + production_environment?: boolean; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + }; + /** + * CheckRun + * @description A check performed on the code of a given code change + */ + "check-run": { + /** + * @description The id of the check. + * @example 21 + */ + id: number; + /** + * @description The SHA of the commit that is being checked. + * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d + */ + head_sha: string; + /** @example MDg6Q2hlY2tSdW40 */ + node_id: string; + /** @example 42 */ + external_id: string | null; + /** @example https://api.github.com/repos/github/hello-world/check-runs/4 */ + url: string; + /** @example https://github.com/github/hello-world/runs/4 */ + html_url: string | null; + /** @example https://example.com */ + details_url: string | null; + /** + * @description The phase of the lifecycle that the check is currently in. + * @example queued + * @enum {string} + */ + status: "queued" | "in_progress" | "completed"; + /** + * @example neutral + * @enum {string|null} + */ + conclusion: + | ( + | "success" + | "failure" + | "neutral" + | "cancelled" + | "skipped" + | "timed_out" + | "action_required" + ) + | null; + /** + * Format: date-time + * @example 2018-05-04T01:14:52Z + */ + started_at: string | null; + /** + * Format: date-time + * @example 2018-05-04T01:14:52Z + */ + completed_at: string | null; + output: { + title: string | null; + summary: string | null; + text: string | null; + annotations_count: number; + /** Format: uri */ + annotations_url: string; + }; + /** + * @description The name of the check. + * @example test-coverage + */ + name: string; + check_suite: { + id: number; + } | null; + app: components["schemas"]["nullable-integration"]; + pull_requests: components["schemas"]["pull-request-minimal"][]; + deployment?: components["schemas"]["deployment-simple"]; + }; + /** + * Check Annotation + * @description Check Annotation + */ + "check-annotation": { + /** @example README.md */ + path: string; + /** @example 2 */ + start_line: number; + /** @example 2 */ + end_line: number; + /** @example 5 */ + start_column: number | null; + /** @example 10 */ + end_column: number | null; + /** @example warning */ + annotation_level: string | null; + /** @example Spell Checker */ + title: string | null; + /** @example Check your spelling for 'banaas'. */ + message: string | null; + /** @example Do you mean 'bananas' or 'banana'? */ + raw_details: string | null; + blob_href: string; + }; + /** + * Simple Commit + * @description Simple Commit + */ + "simple-commit": { + id: string; + tree_id: string; + message: string; + /** Format: date-time */ + timestamp: string; + author: { + name: string; + email: string; + } | null; + committer: { + name: string; + email: string; + } | null; + }; + /** + * CheckSuite + * @description A suite of checks performed on the code of a given code change + */ + "check-suite": { + /** @example 5 */ + id: number; + /** @example MDEwOkNoZWNrU3VpdGU1 */ + node_id: string; + /** @example master */ + head_branch: string | null; + /** + * @description The SHA of the head commit that is being checked. + * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d + */ + head_sha: string; + /** + * @example completed + * @enum {string|null} + */ + status: ("queued" | "in_progress" | "completed") | null; + /** + * @example neutral + * @enum {string|null} + */ + conclusion: + | ( + | "success" + | "failure" + | "neutral" + | "cancelled" + | "skipped" + | "timed_out" + | "action_required" + ) + | null; + /** @example https://api.github.com/repos/github/hello-world/check-suites/5 */ + url: string | null; + /** @example 146e867f55c26428e5f9fade55a9bbf5e95a7912 */ + before: string | null; + /** @example d6fde92930d4715a2b49857d24b940956b26d2d3 */ + after: string | null; + pull_requests: components["schemas"]["pull-request-minimal"][] | null; + app: components["schemas"]["nullable-integration"]; + repository: components["schemas"]["minimal-repository"]; + /** Format: date-time */ + created_at: string | null; + /** Format: date-time */ + updated_at: string | null; + head_commit: components["schemas"]["simple-commit"]; + latest_check_runs_count: number; + check_runs_url: string; + rerequestable?: boolean; + runs_rerequestable?: boolean; + }; + /** + * Check Suite Preference + * @description Check suite configuration preferences for a repository. + */ + "check-suite-preference": { + preferences: { + auto_trigger_checks?: { + app_id: number; + setting: boolean; + }[]; + }; + repository: components["schemas"]["minimal-repository"]; + }; + "code-scanning-alert-rule-summary": { + /** @description A unique identifier for the rule used to detect the alert. */ + id?: string | null; + /** @description The name of the rule used to detect the alert. */ + name?: string; + /** @description A set of tags applicable for the rule. */ + tags?: string[] | null; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity?: ("none" | "note" | "warning" | "error") | null; + /** @description A short description of the rule used to detect the alert. */ + description?: string; + }; + "code-scanning-alert-items": { + number: components["schemas"]["alert-number"]; + created_at: components["schemas"]["alert-created-at"]; + updated_at?: components["schemas"]["alert-updated-at"]; + url: components["schemas"]["alert-url"]; + html_url: components["schemas"]["alert-html-url"]; + instances_url: components["schemas"]["alert-instances-url"]; + state: components["schemas"]["code-scanning-alert-state"]; + fixed_at?: components["schemas"]["code-scanning-alert-fixed-at"]; + dismissed_by: components["schemas"]["nullable-simple-user"]; + dismissed_at: components["schemas"]["code-scanning-alert-dismissed-at"]; + dismissed_reason: components["schemas"]["code-scanning-alert-dismissed-reason"]; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + rule: components["schemas"]["code-scanning-alert-rule-summary"]; + tool: components["schemas"]["code-scanning-analysis-tool"]; + most_recent_instance: components["schemas"]["code-scanning-alert-instance"]; + }; + "code-scanning-alert": { + number: components["schemas"]["alert-number"]; + created_at: components["schemas"]["alert-created-at"]; + updated_at?: components["schemas"]["alert-updated-at"]; + url: components["schemas"]["alert-url"]; + html_url: components["schemas"]["alert-html-url"]; + instances_url: components["schemas"]["alert-instances-url"]; + state: components["schemas"]["code-scanning-alert-state"]; + fixed_at?: components["schemas"]["code-scanning-alert-fixed-at"]; + dismissed_by: components["schemas"]["nullable-simple-user"]; + dismissed_at: components["schemas"]["code-scanning-alert-dismissed-at"]; + dismissed_reason: components["schemas"]["code-scanning-alert-dismissed-reason"]; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + rule: components["schemas"]["code-scanning-alert-rule"]; + tool: components["schemas"]["code-scanning-analysis-tool"]; + most_recent_instance: components["schemas"]["code-scanning-alert-instance"]; + }; + /** + * @description Sets the state of the code scanning alert. You must provide `dismissed_reason` when you set the state to `dismissed`. + * @enum {string} + */ + "code-scanning-alert-set-state": "open" | "dismissed"; + /** + * @description An identifier for the upload. + * @example 6c81cd8e-b078-4ac3-a3be-1dad7dbd0b53 + */ + "code-scanning-analysis-sarif-id": string; + /** @description The SHA of the commit to which the analysis you are uploading relates. */ + "code-scanning-analysis-commit-sha": string; + /** @description Identifies the variable values associated with the environment in which this analysis was performed. */ + "code-scanning-analysis-environment": string; + /** + * Format: date-time + * @description The time that the analysis was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + "code-scanning-analysis-created-at": string; + /** + * Format: uri + * @description The REST API URL of the analysis resource. + */ + "code-scanning-analysis-url": string; + "code-scanning-analysis": { + ref: components["schemas"]["code-scanning-ref"]; + commit_sha: components["schemas"]["code-scanning-analysis-commit-sha"]; + analysis_key: components["schemas"]["code-scanning-analysis-analysis-key"]; + environment: components["schemas"]["code-scanning-analysis-environment"]; + category?: components["schemas"]["code-scanning-analysis-category"]; + /** @example error reading field xyz */ + error: string; + created_at: components["schemas"]["code-scanning-analysis-created-at"]; + /** @description The total number of results in the analysis. */ + results_count: number; + /** @description The total number of rules used in the analysis. */ + rules_count: number; + /** @description Unique identifier for this analysis. */ + id: number; + url: components["schemas"]["code-scanning-analysis-url"]; + sarif_id: components["schemas"]["code-scanning-analysis-sarif-id"]; + tool: components["schemas"]["code-scanning-analysis-tool"]; + deletable: boolean; + /** + * @description Warning generated when processing the analysis + * @example 123 results were ignored + */ + warning: string; + }; + /** + * Analysis deletion + * @description Successful deletion of a code scanning analysis + */ + "code-scanning-analysis-deletion": { + /** + * Format: uri + * @description Next deletable analysis in chain, without last analysis deletion confirmation + */ + next_analysis_url: string | null; + /** + * Format: uri + * @description Next deletable analysis in chain, with last analysis deletion confirmation + */ + confirm_delete_url: string | null; + }; + /** @description A Base64 string representing the SARIF file to upload. You must first compress your SARIF file using [`gzip`](http://www.gnu.org/software/gzip/manual/gzip.html) and then translate the contents of the file into a Base64 encoding string. For more information, see "[SARIF support for code scanning](https://docs.github.com/code-security/secure-coding/sarif-support-for-code-scanning)." */ + "code-scanning-analysis-sarif-file": string; + "code-scanning-sarifs-receipt": { + id?: components["schemas"]["code-scanning-analysis-sarif-id"]; + /** + * Format: uri + * @description The REST API URL for checking the status of the upload. + */ + url?: string; + }; + "code-scanning-sarifs-status": { + /** + * @description `pending` files have not yet been processed, while `complete` means results from the SARIF have been stored. `failed` files have either not been processed at all, or could only be partially processed. + * @enum {string} + */ + processing_status?: "pending" | "complete" | "failed"; + /** + * Format: uri + * @description The REST API URL for getting the analyses associated with the upload. + */ + analyses_url?: string | null; + /** @description Any errors that ocurred during processing of the delivery. */ + errors?: string[] | null; + }; + /** + * CODEOWNERS errors + * @description A list of errors found in a repo's CODEOWNERS file + */ + "codeowners-errors": { + errors: { + /** + * @description The line number where this errors occurs. + * @example 7 + */ + line: number; + /** + * @description The column number where this errors occurs. + * @example 3 + */ + column: number; + /** + * @description The contents of the line where the error occurs. + * @example * user + */ + source?: string; + /** + * @description The type of error. + * @example Invalid owner + */ + kind: string; + /** + * @description Suggested action to fix the error. This will usually be `null`, but is provided for some common errors. + * @example The pattern `/` will never match anything, did you mean `*` instead? + */ + suggestion?: string | null; + /** + * @description A human-readable description of the error, combining information from multiple fields, laid out for display in a monospaced typeface (for example, a command-line setting). + * @example Invalid owner on line 7: + * + * * user + * ^ + */ + message: string; + /** + * @description The path of the file where the error occured. + * @example .github/CODEOWNERS + */ + path: string; + }[]; + }; + /** + * Codespace machine + * @description A description of the machine powering a codespace. + */ + "codespace-machine": { + /** + * @description The name of the machine. + * @example standardLinux + */ + name: string; + /** + * @description The display name of the machine includes cores, memory, and storage. + * @example 4 cores, 8 GB RAM, 64 GB storage + */ + display_name: string; + /** + * @description The operating system of the machine. + * @example linux + */ + operating_system: string; + /** + * @description How much storage is available to the codespace. + * @example 68719476736 + */ + storage_in_bytes: number; + /** + * @description How much memory is available to the codespace. + * @example 8589934592 + */ + memory_in_bytes: number; + /** + * @description How many cores are available to the codespace. + * @example 4 + */ + cpus: number; + /** + * @description Whether a prebuild is currently available when creating a codespace for this machine and repository. If a branch was not specified as a ref, the default branch will be assumed. Value will be "null" if prebuilds are not supported or prebuild availability could not be determined. Value will be "none" if no prebuild is available. Latest values "ready" and "in_progress" indicate the prebuild availability status. + * @example ready + * @enum {string|null} + */ + prebuild_availability: ("none" | "ready" | "in_progress") | null; + }; + /** + * Codespaces Secret + * @description Set repository secrets for GitHub Codespaces. + */ + "repo-codespaces-secret": { + /** + * @description The name of the secret. + * @example SECRET_TOKEN + */ + name: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * CodespacesPublicKey + * @description The public key used for setting Codespaces secrets. + */ + "codespaces-public-key": { + /** + * @description The identifier for the key. + * @example 1234567 + */ + key_id: string; + /** + * @description The Base64 encoded public key. + * @example hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs= + */ + key: string; + /** @example 2 */ + id?: number; + /** @example https://api.github.com/user/keys/2 */ + url?: string; + /** @example ssh-rsa AAAAB3NzaC1yc2EAAA */ + title?: string; + /** @example 2011-01-26T19:01:12Z */ + created_at?: string; + }; + /** + * Collaborator + * @description Collaborator + */ + collaborator: { + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + email?: string | null; + name?: string | null; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + permissions?: { + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + admin: boolean; + }; + /** @example admin */ + role_name: string; + }; + /** + * Repository Invitation + * @description Repository invitations let you manage who you collaborate with. + */ + "repository-invitation": { + /** + * @description Unique identifier of the repository invitation. + * @example 42 + */ + id: number; + repository: components["schemas"]["minimal-repository"]; + invitee: components["schemas"]["nullable-simple-user"]; + inviter: components["schemas"]["nullable-simple-user"]; + /** + * @description The permission associated with the invitation. + * @example read + * @enum {string} + */ + permissions: "read" | "write" | "admin" | "triage" | "maintain"; + /** + * Format: date-time + * @example 2016-06-13T14:52:50-05:00 + */ + created_at: string; + /** @description Whether or not the invitation has expired */ + expired?: boolean; + /** + * @description URL for the repository invitation + * @example https://api.github.com/user/repository-invitations/1 + */ + url: string; + /** @example https://github.com/octocat/Hello-World/invitations */ + html_url: string; + node_id: string; + }; + /** + * Collaborator + * @description Collaborator + */ + "nullable-collaborator": { + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + email?: string | null; + name?: string | null; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + permissions?: { + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + admin: boolean; + }; + /** @example admin */ + role_name: string; + } | null; + /** + * Repository Collaborator Permission + * @description Repository Collaborator Permission + */ + "repository-collaborator-permission": { + permission: string; + /** @example admin */ + role_name: string; + user: components["schemas"]["nullable-collaborator"]; + }; + /** + * Commit Comment + * @description Commit Comment + */ + "commit-comment": { + /** Format: uri */ + html_url: string; + /** Format: uri */ + url: string; + id: number; + node_id: string; + body: string; + path: string | null; + position: number | null; + line: number | null; + commit_id: string; + user: components["schemas"]["nullable-simple-user"]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + author_association: components["schemas"]["author-association"]; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Branch Short + * @description Branch Short + */ + "branch-short": { + name: string; + commit: { + sha: string; + url: string; + }; + protected: boolean; + }; + /** + * Link + * @description Hypermedia Link + */ + link: { + href: string; + }; + /** + * Auto merge + * @description The status of auto merging a pull request. + */ + "auto-merge": { + enabled_by: components["schemas"]["simple-user"]; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + /** @description Title for the merge commit message. */ + commit_title: string; + /** @description Commit message for the merge commit. */ + commit_message: string; + } | null; + /** + * Pull Request Simple + * @description Pull Request Simple + */ + "pull-request-simple": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347 + */ + url: string; + /** @example 1 */ + id: number; + /** @example MDExOlB1bGxSZXF1ZXN0MQ== */ + node_id: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1347 + */ + html_url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1347.diff + */ + diff_url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1347.patch + */ + patch_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/issues/1347 + */ + issue_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits + */ + commits_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments + */ + review_comments_url: string; + /** @example https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number} */ + review_comment_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/issues/1347/comments + */ + comments_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e + */ + statuses_url: string; + /** @example 1347 */ + number: number; + /** @example open */ + state: string; + /** @example true */ + locked: boolean; + /** @example new-feature */ + title: string; + user: components["schemas"]["nullable-simple-user"]; + /** @example Please pull these awesome changes */ + body: string | null; + labels: { + /** Format: int64 */ + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; + }[]; + milestone: components["schemas"]["nullable-milestone"]; + /** @example too heated */ + active_lock_reason?: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + updated_at: string; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + closed_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + merged_at: string | null; + /** @example e5bd3914e2e596debea16f433f57875b5b90bcd6 */ + merge_commit_sha: string | null; + assignee: components["schemas"]["nullable-simple-user"]; + assignees?: components["schemas"]["simple-user"][] | null; + requested_reviewers?: components["schemas"]["simple-user"][] | null; + requested_teams?: components["schemas"]["team"][] | null; + head: { + label: string; + ref: string; + repo: components["schemas"]["repository"]; + sha: string; + user: components["schemas"]["nullable-simple-user"]; + }; + base: { + label: string; + ref: string; + repo: components["schemas"]["repository"]; + sha: string; + user: components["schemas"]["nullable-simple-user"]; + }; + _links: { + comments: components["schemas"]["link"]; + commits: components["schemas"]["link"]; + statuses: components["schemas"]["link"]; + html: components["schemas"]["link"]; + issue: components["schemas"]["link"]; + review_comments: components["schemas"]["link"]; + review_comment: components["schemas"]["link"]; + self: components["schemas"]["link"]; + }; + author_association: components["schemas"]["author-association"]; + auto_merge: components["schemas"]["auto-merge"]; + /** + * @description Indicates whether or not the pull request is a draft. + * @example false + */ + draft?: boolean; + }; + /** Simple Commit Status */ + "simple-commit-status": { + description: string | null; + id: number; + node_id: string; + state: string; + context: string; + /** Format: uri */ + target_url: string; + required?: boolean | null; + /** Format: uri */ + avatar_url: string | null; + /** Format: uri */ + url: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Combined Commit Status + * @description Combined Commit Status + */ + "combined-commit-status": { + state: string; + statuses: components["schemas"]["simple-commit-status"][]; + sha: string; + total_count: number; + repository: components["schemas"]["minimal-repository"]; + /** Format: uri */ + commit_url: string; + /** Format: uri */ + url: string; + }; + /** + * Status + * @description The status of a commit. + */ + status: { + url: string; + avatar_url: string | null; + id: number; + node_id: string; + state: string; + description: string; + target_url: string; + context: string; + created_at: string; + updated_at: string; + creator: components["schemas"]["nullable-simple-user"]; + }; + /** + * Code Of Conduct Simple + * @description Code of Conduct Simple + */ + "nullable-code-of-conduct-simple": { + /** + * Format: uri + * @example https://api.github.com/repos/github/docs/community/code_of_conduct + */ + url: string; + /** @example citizen_code_of_conduct */ + key: string; + /** @example Citizen Code of Conduct */ + name: string; + /** + * Format: uri + * @example https://github.com/github/docs/blob/main/CODE_OF_CONDUCT.md + */ + html_url: string | null; + } | null; + /** Community Health File */ + "nullable-community-health-file": { + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + } | null; + /** + * Community Profile + * @description Community Profile + */ + "community-profile": { + /** @example 100 */ + health_percentage: number; + /** @example My first repository on GitHub! */ + description: string | null; + /** @example example.com */ + documentation: string | null; + files: { + code_of_conduct: components["schemas"]["nullable-code-of-conduct-simple"]; + code_of_conduct_file: components["schemas"]["nullable-community-health-file"]; + license: components["schemas"]["nullable-license-simple"]; + contributing: components["schemas"]["nullable-community-health-file"]; + readme: components["schemas"]["nullable-community-health-file"]; + issue_template: components["schemas"]["nullable-community-health-file"]; + pull_request_template: components["schemas"]["nullable-community-health-file"]; + }; + /** + * Format: date-time + * @example 2017-02-28T19:09:29Z + */ + updated_at: string | null; + /** @example true */ + content_reports_enabled?: boolean; + }; + /** + * Commit Comparison + * @description Commit Comparison + */ + "commit-comparison": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/compare/master...topic + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/compare/master...topic + */ + html_url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/compare/octocat:bbcd538c8e72b8c175046e27cc8f907076331401...octocat:0328041d1152db8ae77652d1618a02e57f745f17 + */ + permalink_url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/compare/master...topic.diff + */ + diff_url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/compare/master...topic.patch + */ + patch_url: string; + base_commit: components["schemas"]["commit"]; + merge_base_commit: components["schemas"]["commit"]; + /** + * @example ahead + * @enum {string} + */ + status: "diverged" | "ahead" | "behind" | "identical"; + /** @example 4 */ + ahead_by: number; + /** @example 5 */ + behind_by: number; + /** @example 6 */ + total_commits: number; + commits: components["schemas"]["commit"][]; + files?: components["schemas"]["diff-entry"][]; + }; + /** + * Content Tree + * @description Content Tree + */ + "content-tree": { + type: string; + size: number; + name: string; + path: string; + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + git_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + download_url: string | null; + entries?: { + type: string; + size: number; + name: string; + path: string; + content?: string; + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + git_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + download_url: string | null; + _links: { + /** Format: uri */ + git: string | null; + /** Format: uri */ + html: string | null; + /** Format: uri */ + self: string; + }; + }[]; + _links: { + /** Format: uri */ + git: string | null; + /** Format: uri */ + html: string | null; + /** Format: uri */ + self: string; + }; + } & { + content: unknown; + encoding: unknown; + }; + /** + * Content Directory + * @description A list of directory items + */ + "content-directory": { + type: string; + size: number; + name: string; + path: string; + content?: string; + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + git_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + download_url: string | null; + _links: { + /** Format: uri */ + git: string | null; + /** Format: uri */ + html: string | null; + /** Format: uri */ + self: string; + }; + }[]; + /** + * Content File + * @description Content File + */ + "content-file": { + type: string; + encoding: string; + size: number; + name: string; + path: string; + content: string; + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + git_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + download_url: string | null; + _links: { + /** Format: uri */ + git: string | null; + /** Format: uri */ + html: string | null; + /** Format: uri */ + self: string; + }; + /** @example "actual/actual.md" */ + target?: string; + /** @example "git://example.com/defunkt/dotjs.git" */ + submodule_git_url?: string; + }; + /** + * Symlink Content + * @description An object describing a symlink + */ + "content-symlink": { + type: string; + target: string; + size: number; + name: string; + path: string; + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + git_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + download_url: string | null; + _links: { + /** Format: uri */ + git: string | null; + /** Format: uri */ + html: string | null; + /** Format: uri */ + self: string; + }; + }; + /** + * Symlink Content + * @description An object describing a symlink + */ + "content-submodule": { + type: string; + /** Format: uri */ + submodule_git_url: string; + size: number; + name: string; + path: string; + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + git_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + download_url: string | null; + _links: { + /** Format: uri */ + git: string | null; + /** Format: uri */ + html: string | null; + /** Format: uri */ + self: string; + }; + }; + /** + * File Commit + * @description File Commit + */ + "file-commit": { + content: { + name?: string; + path?: string; + sha?: string; + size?: number; + url?: string; + html_url?: string; + git_url?: string; + download_url?: string; + type?: string; + _links?: { + self?: string; + git?: string; + html?: string; + }; + } | null; + commit: { + sha?: string; + node_id?: string; + url?: string; + html_url?: string; + author?: { + date?: string; + name?: string; + email?: string; + }; + committer?: { + date?: string; + name?: string; + email?: string; + }; + message?: string; + tree?: { + url?: string; + sha?: string; + }; + parents?: { + url?: string; + html_url?: string; + sha?: string; + }[]; + verification?: { + verified?: boolean; + reason?: string; + signature?: string | null; + payload?: string | null; + }; + }; + }; + /** + * Contributor + * @description Contributor + */ + contributor: { + login?: string; + id?: number; + node_id?: string; + /** Format: uri */ + avatar_url?: string; + gravatar_id?: string | null; + /** Format: uri */ + url?: string; + /** Format: uri */ + html_url?: string; + /** Format: uri */ + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + repos_url?: string; + events_url?: string; + /** Format: uri */ + received_events_url?: string; + type: string; + site_admin?: boolean; + contributions: number; + email?: string; + name?: string; + }; + /** + * Dependabot Secret + * @description Set secrets for Dependabot. + */ + "dependabot-secret": { + /** + * @description The name of the secret. + * @example MY_ARTIFACTORY_PASSWORD + */ + name: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Dependency Graph Diff + * @description A diff of the dependencies between two commits. + */ + "dependency-graph-diff": { + /** @enum {string} */ + change_type: "added" | "removed"; + /** @example path/to/package-lock.json */ + manifest: string; + /** @example npm */ + ecosystem: string; + /** @example @actions/core */ + name: string; + /** @example 1.0.0 */ + version: string; + /** @example pkg:/npm/%40actions/core@1.1.0 */ + package_url: string | null; + /** @example MIT */ + license: string | null; + /** @example https://github.com/github/actions */ + source_repository_url: string | null; + vulnerabilities: { + /** @example critical */ + severity: string; + /** @example GHSA-rf4j-j272-fj86 */ + advisory_ghsa_id: string; + /** @example A summary of the advisory. */ + advisory_summary: string; + /** @example https://github.com/advisories/GHSA-rf4j-j272-fj86 */ + advisory_url: string; + }[]; + }[]; + /** + * metadata + * @description User-defined metadata to store domain-specific information limited to 8 keys with scalar values. + */ + metadata: { + [key: string]: Partial & Partial & Partial; + }; + /** + * Dependency + * @description A single package dependency. + */ + dependency: { + /** + * @description Package-url (PURL) of dependency. See https://github.com/package-url/purl-spec for more details. + * @example pkg:/npm/%40actions/http-client@1.0.11 + */ + package_url?: string; + metadata?: components["schemas"]["metadata"]; + /** + * @description A notation of whether a dependency is requested directly by this manifest or is a dependency of another dependency. + * @example direct + * @enum {string} + */ + relationship?: "direct" | "indirect"; + /** + * @description A notation of whether the dependency is required for the primary build artifact (runtime) or is only used for development. Future versions of this specification may allow for more granular scopes. + * @example runtime + * @enum {string} + */ + scope?: "runtime" | "development"; + /** + * @description Array of package-url (PURLs) of direct child dependencies. + * @example @actions/http-client + */ + dependencies?: string[]; + }; + /** + * manifest + * @description A collection of related dependencies declared in a file or representing a logical group of dependencies. + */ + manifest: { + /** + * @description The name of the manifest. + * @example package-lock.json + */ + name: string; + file?: { + /** + * @description The path of the manifest file relative to the root of the Git repository. + * @example /src/build/package-lock.json + */ + source_location?: string; + }; + metadata?: components["schemas"]["metadata"]; + resolved?: { [key: string]: components["schemas"]["dependency"] }; + }; + /** + * snapshot + * @description Create a new snapshot of a repository's dependencies. + */ + snapshot: { + /** @description The version of the repository snapshot submission. */ + version: number; + job: { + /** + * @description The external ID of the job. + * @example 5622a2b0-63f6-4732-8c34-a1ab27e102a11 + */ + id: string; + /** + * @description Correlator provides a key that is used to group snapshots submitted over time. Only the "latest" submitted snapshot for a given combination of `job.correlator` and `detector.name` will be considered when calculating a repository's current dependencies. Correlator should be as unique as it takes to distinguish all detection runs for a given "wave" of CI workflow you run. If you're using GitHub Actions, a good default value for this could be the environment variables GITHUB_WORKFLOW and GITHUB_JOB concatenated together. If you're using a build matrix, then you'll also need to add additional key(s) to distinguish between each submission inside a matrix variation. + * @example yourworkflowname_yourjobname + */ + correlator: string; + /** + * @description The url for the job. + * @example http://example.com/build + */ + html_url?: string; + }; + /** + * @description The commit SHA associated with this dependency snapshot. + * @example ddc951f4b1293222421f2c8df679786153acf689 + */ + sha: string; + /** + * @description The repository branch that triggered this snapshot. + * @example refs/heads/main + */ + ref: string; + /** @description A description of the detector used. */ + detector: { + /** + * @description The name of the detector used. + * @example docker buildtime detector + */ + name: string; + /** + * @description The version of the detector used. + * @example 1.0.0 + */ + version: string; + /** + * @description The url of the detector used. + * @example http://example.com/docker-buildtimer-detector + */ + url: string; + }; + metadata?: components["schemas"]["metadata"]; + /** @description A collection of package manifests */ + manifests?: { [key: string]: components["schemas"]["manifest"] }; + /** + * Format: date-time + * @description The time at which the snapshot was scanned. + * @example 2020-06-13T14:52:50-05:00 + */ + scanned: string; + }; + /** + * Deployment Status + * @description The status of a deployment. + */ + "deployment-status": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/example/deployments/42/statuses/1 + */ + url: string; + /** @example 1 */ + id: number; + /** @example MDE2OkRlcGxveW1lbnRTdGF0dXMx */ + node_id: string; + /** + * @description The state of the status. + * @example success + * @enum {string} + */ + state: + | "error" + | "failure" + | "inactive" + | "pending" + | "success" + | "queued" + | "in_progress"; + creator: components["schemas"]["nullable-simple-user"]; + /** + * @description A short description of the status. + * @default + * @example Deployment finished successfully. + */ + description: string; + /** + * @description The environment of the deployment that the status is for. + * @default + * @example production + */ + environment?: string; + /** + * Format: uri + * @description Deprecated: the URL to associate with this status. + * @default + * @example https://example.com/deployment/42/output + */ + target_url: string; + /** + * Format: date-time + * @example 2012-07-20T01:19:13Z + */ + created_at: string; + /** + * Format: date-time + * @example 2012-07-20T01:19:13Z + */ + updated_at: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/example/deployments/42 + */ + deployment_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/example + */ + repository_url: string; + /** + * Format: uri + * @description The URL for accessing your environment. + * @default + * @example https://staging.example.com/ + */ + environment_url?: string; + /** + * Format: uri + * @description The URL to associate with this status. + * @default + * @example https://example.com/deployment/42/output + */ + log_url?: string; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + }; + /** + * @description The amount of time to delay a job after the job is initially triggered. The time (in minutes) must be an integer between 0 and 43,200 (30 days). + * @example 30 + */ + "wait-timer": number; + /** @description The type of deployment branch policy for this environment. To allow all branches to deploy, set to `null`. */ + "deployment-branch-policy": { + /** @description Whether only branches with branch protection rules can deploy to this environment. If `protected_branches` is `true`, `custom_branch_policies` must be `false`; if `protected_branches` is `false`, `custom_branch_policies` must be `true`. */ + protected_branches: boolean; + /** @description Whether only branches that match the specified name patterns can deploy to this environment. If `custom_branch_policies` is `true`, `protected_branches` must be `false`; if `custom_branch_policies` is `false`, `protected_branches` must be `true`. */ + custom_branch_policies: boolean; + } | null; + /** + * Environment + * @description Details of a deployment environment + */ + environment: { + /** + * @description The id of the environment. + * @example 56780428 + */ + id: number; + /** @example MDExOkVudmlyb25tZW50NTY3ODA0Mjg= */ + node_id: string; + /** + * @description The name of the environment. + * @example staging + */ + name: string; + /** @example https://api.github.com/repos/github/hello-world/environments/staging */ + url: string; + /** @example https://github.com/github/hello-world/deployments/activity_log?environments_filter=staging */ + html_url: string; + /** + * Format: date-time + * @description The time that the environment was created, in ISO 8601 format. + * @example 2020-11-23T22:00:40Z + */ + created_at: string; + /** + * Format: date-time + * @description The time that the environment was last updated, in ISO 8601 format. + * @example 2020-11-23T22:00:40Z + */ + updated_at: string; + protection_rules?: (Partial<{ + /** @example 3515 */ + id: number; + /** @example MDQ6R2F0ZTM1MTU= */ + node_id: string; + /** @example wait_timer */ + type: string; + wait_timer?: components["schemas"]["wait-timer"]; + }> & + Partial<{ + /** @example 3755 */ + id: number; + /** @example MDQ6R2F0ZTM3NTU= */ + node_id: string; + /** @example required_reviewers */ + type: string; + /** @description The people or teams that may approve jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. */ + reviewers?: { + type?: components["schemas"]["deployment-reviewer-type"]; + reviewer?: Partial & + Partial; + }[]; + }> & + Partial<{ + /** @example 3515 */ + id: number; + /** @example MDQ6R2F0ZTM1MTU= */ + node_id: string; + /** @example branch_policy */ + type: string; + }>)[]; + deployment_branch_policy?: components["schemas"]["deployment-branch-policy"]; + }; + /** + * Short Blob + * @description Short Blob + */ + "short-blob": { + url: string; + sha: string; + }; + /** + * Blob + * @description Blob + */ + blob: { + content: string; + encoding: string; + /** Format: uri */ + url: string; + sha: string; + size: number | null; + node_id: string; + highlighted_content?: string; + }; + /** + * Git Commit + * @description Low-level Git commit operations within a repository + */ + "git-commit": { + /** + * @description SHA for the commit + * @example 7638417db6d59f3c431d3e1f261cc637155684cd + */ + sha: string; + node_id: string; + /** Format: uri */ + url: string; + /** @description Identifying information for the git-user */ + author: { + /** + * Format: date-time + * @description Timestamp of the commit + * @example 2014-08-09T08:02:04+12:00 + */ + date: string; + /** + * @description Git email address of the user + * @example monalisa.octocat@example.com + */ + email: string; + /** + * @description Name of the git user + * @example Monalisa Octocat + */ + name: string; + }; + /** @description Identifying information for the git-user */ + committer: { + /** + * Format: date-time + * @description Timestamp of the commit + * @example 2014-08-09T08:02:04+12:00 + */ + date: string; + /** + * @description Git email address of the user + * @example monalisa.octocat@example.com + */ + email: string; + /** + * @description Name of the git user + * @example Monalisa Octocat + */ + name: string; + }; + /** + * @description Message describing the purpose of the commit + * @example Fix #42 + */ + message: string; + tree: { + /** + * @description SHA for the commit + * @example 7638417db6d59f3c431d3e1f261cc637155684cd + */ + sha: string; + /** Format: uri */ + url: string; + }; + parents: { + /** + * @description SHA for the commit + * @example 7638417db6d59f3c431d3e1f261cc637155684cd + */ + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + }[]; + verification: { + verified: boolean; + reason: string; + signature: string | null; + payload: string | null; + }; + /** Format: uri */ + html_url: string; + }; + /** + * Git Reference + * @description Git references within a repository + */ + "git-ref": { + ref: string; + node_id: string; + /** Format: uri */ + url: string; + object: { + type: string; + /** + * @description SHA for the reference + * @example 7638417db6d59f3c431d3e1f261cc637155684cd + */ + sha: string; + /** Format: uri */ + url: string; + }; + }; + /** + * Git Tag + * @description Metadata for a Git tag + */ + "git-tag": { + /** @example MDM6VGFnOTQwYmQzMzYyNDhlZmFlMGY5ZWU1YmM3YjJkNWM5ODU4ODdiMTZhYw== */ + node_id: string; + /** + * @description Name of the tag + * @example v0.0.1 + */ + tag: string; + /** @example 940bd336248efae0f9ee5bc7b2d5c985887b16ac */ + sha: string; + /** + * Format: uri + * @description URL for the tag + * @example https://api.github.com/repositories/42/git/tags/940bd336248efae0f9ee5bc7b2d5c985887b16ac + */ + url: string; + /** + * @description Message describing the purpose of the tag + * @example Initial public release + */ + message: string; + tagger: { + date: string; + email: string; + name: string; + }; + object: { + sha: string; + type: string; + /** Format: uri */ + url: string; + }; + verification?: components["schemas"]["verification"]; + }; + /** + * Git Tree + * @description The hierarchy between files in a Git repository. + */ + "git-tree": { + sha: string; + /** Format: uri */ + url: string; + truncated: boolean; + /** + * @description Objects specifying a tree structure + * @example [ + * { + * "path": "file.rb", + * "mode": "100644", + * "type": "blob", + * "size": 30, + * "sha": "44b4fc6d56897b048c772eb4087f854f46256132", + * "url": "https://api.github.com/repos/octocat/Hello-World/git/blobs/44b4fc6d56897b048c772eb4087f854f46256132", + * "properties": { + * "path": { + * "type": "string" + * }, + * "mode": { + * "type": "string" + * }, + * "type": { + * "type": "string" + * }, + * "size": { + * "type": "integer" + * }, + * "sha": { + * "type": "string" + * }, + * "url": { + * "type": "string" + * } + * }, + * "required": [ + * "path", + * "mode", + * "type", + * "sha", + * "url", + * "size" + * ] + * } + * ] + */ + tree: { + /** @example test/file.rb */ + path?: string; + /** @example 040000 */ + mode?: string; + /** @example tree */ + type?: string; + /** @example 23f6827669e43831def8a7ad935069c8bd418261 */ + sha?: string; + /** @example 12 */ + size?: number; + /** @example https://api.github.com/repos/owner-482f3203ecf01f67e9deb18e/BBB_Private_Repo/git/blobs/23f6827669e43831def8a7ad935069c8bd418261 */ + url?: string; + }[]; + }; + /** Hook Response */ + "hook-response": { + code: number | null; + status: string | null; + message: string | null; + }; + /** + * Webhook + * @description Webhooks for repositories. + */ + hook: { + type: string; + /** + * @description Unique identifier of the webhook. + * @example 42 + */ + id: number; + /** + * @description The name of a valid service, use 'web' for a webhook. + * @example web + */ + name: string; + /** + * @description Determines whether the hook is actually triggered on pushes. + * @example true + */ + active: boolean; + /** + * @description Determines what events the hook is triggered for. Default: ['push']. + * @example [ + * "push", + * "pull_request" + * ] + */ + events: string[]; + config: { + /** @example "foo@bar.com" */ + email?: string; + /** @example "foo" */ + password?: string; + /** @example "roomer" */ + room?: string; + /** @example "foo" */ + subdomain?: string; + url?: components["schemas"]["webhook-config-url"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + /** @example "sha256" */ + digest?: string; + secret?: components["schemas"]["webhook-config-secret"]; + /** @example "abc" */ + token?: string; + }; + /** + * Format: date-time + * @example 2011-09-06T20:39:23Z + */ + updated_at: string; + /** + * Format: date-time + * @example 2011-09-06T17:26:27Z + */ + created_at: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/hooks/1 + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/hooks/1/test + */ + test_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/hooks/1/pings + */ + ping_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/hooks/1/deliveries + */ + deliveries_url?: string; + last_response: components["schemas"]["hook-response"]; + }; + /** + * Import + * @description A repository import from an external source. + */ + import: { + vcs: string | null; + use_lfs?: boolean; + /** @description The URL of the originating repository. */ + vcs_url: string; + svc_root?: string; + tfvc_project?: string; + /** @enum {string} */ + status: + | "auth" + | "error" + | "none" + | "detecting" + | "choose" + | "auth_failed" + | "importing" + | "mapping" + | "waiting_to_push" + | "pushing" + | "complete" + | "setup" + | "unknown" + | "detection_found_multiple" + | "detection_found_nothing" + | "detection_needs_auth"; + status_text?: string | null; + failed_step?: string | null; + error_message?: string | null; + import_percent?: number | null; + commit_count?: number | null; + push_percent?: number | null; + has_large_files?: boolean; + large_files_size?: number; + large_files_count?: number; + project_choices?: { + vcs?: string; + tfvc_project?: string; + human_name?: string; + }[]; + message?: string; + authors_count?: number | null; + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + authors_url: string; + /** Format: uri */ + repository_url: string; + svn_root?: string; + }; + /** + * Porter Author + * @description Porter Author + */ + "porter-author": { + id: number; + remote_id: string; + remote_name: string; + email: string; + name: string; + /** Format: uri */ + url: string; + /** Format: uri */ + import_url: string; + }; + /** + * Porter Large File + * @description Porter Large File + */ + "porter-large-file": { + ref_name: string; + path: string; + oid: string; + size: number; + }; + /** + * Issue + * @description Issues are a great way to keep track of tasks, enhancements, and bugs for your projects. + */ + "nullable-issue": { + id: number; + node_id: string; + /** + * Format: uri + * @description URL for the issue + * @example https://api.github.com/repositories/42/issues/1 + */ + url: string; + /** Format: uri */ + repository_url: string; + labels_url: string; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** + * @description Number uniquely identifying the issue within its repository + * @example 42 + */ + number: number; + /** + * @description State of the issue; either 'open' or 'closed' + * @example open + */ + state: string; + /** + * @description The reason for the current state + * @example not_planned + */ + state_reason?: string | null; + /** + * @description Title of the issue + * @example Widget creation fails in Safari on OS X 10.8 + */ + title: string; + /** + * @description Contents of the issue + * @example It looks like the new widget form is broken on Safari. When I try and create the widget, Safari crashes. This is reproducible on 10.8, but not 10.9. Maybe a browser bug? + */ + body?: string | null; + user: components["schemas"]["nullable-simple-user"]; + /** + * @description Labels to associate with this issue; pass one or more label names to replace the set of labels on this issue; send an empty array to clear all labels from the issue; note that the labels are silently dropped for users without push access to the repository + * @example [ + * "bug", + * "registration" + * ] + */ + labels: ( + | string + | { + /** Format: int64 */ + id?: number; + node_id?: string; + /** Format: uri */ + url?: string; + name?: string; + description?: string | null; + color?: string | null; + default?: boolean; + } + )[]; + assignee: components["schemas"]["nullable-simple-user"]; + assignees?: components["schemas"]["simple-user"][] | null; + milestone: components["schemas"]["nullable-milestone"]; + locked: boolean; + active_lock_reason?: string | null; + comments: number; + pull_request?: { + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + diff_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + patch_url: string | null; + /** Format: uri */ + url: string | null; + }; + /** Format: date-time */ + closed_at: string | null; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + draft?: boolean; + closed_by?: components["schemas"]["nullable-simple-user"]; + body_html?: string; + body_text?: string; + /** Format: uri */ + timeline_url?: string; + repository?: components["schemas"]["repository"]; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + author_association: components["schemas"]["author-association"]; + reactions?: components["schemas"]["reaction-rollup"]; + } | null; + /** + * Issue Event Label + * @description Issue Event Label + */ + "issue-event-label": { + name: string | null; + color: string | null; + }; + /** Issue Event Dismissed Review */ + "issue-event-dismissed-review": { + state: string; + review_id: number; + dismissal_message: string | null; + dismissal_commit_id?: string | null; + }; + /** + * Issue Event Milestone + * @description Issue Event Milestone + */ + "issue-event-milestone": { + title: string; + }; + /** + * Issue Event Project Card + * @description Issue Event Project Card + */ + "issue-event-project-card": { + /** Format: uri */ + url: string; + id: number; + /** Format: uri */ + project_url: string; + project_id: number; + column_name: string; + previous_column_name?: string; + }; + /** + * Issue Event Rename + * @description Issue Event Rename + */ + "issue-event-rename": { + from: string; + to: string; + }; + /** + * Issue Event + * @description Issue Event + */ + "issue-event": { + /** @example 1 */ + id: number; + /** @example MDEwOklzc3VlRXZlbnQx */ + node_id: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/issues/events/1 + */ + url: string; + actor: components["schemas"]["nullable-simple-user"]; + /** @example closed */ + event: string; + /** @example 6dcb09b5b57875f334f61aebed695e2e4193db5e */ + commit_id: string | null; + /** @example https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e */ + commit_url: string | null; + /** + * Format: date-time + * @example 2011-04-14T16:00:49Z + */ + created_at: string; + issue?: components["schemas"]["nullable-issue"]; + label?: components["schemas"]["issue-event-label"]; + assignee?: components["schemas"]["nullable-simple-user"]; + assigner?: components["schemas"]["nullable-simple-user"]; + review_requester?: components["schemas"]["nullable-simple-user"]; + requested_reviewer?: components["schemas"]["nullable-simple-user"]; + requested_team?: components["schemas"]["team"]; + dismissed_review?: components["schemas"]["issue-event-dismissed-review"]; + milestone?: components["schemas"]["issue-event-milestone"]; + project_card?: components["schemas"]["issue-event-project-card"]; + rename?: components["schemas"]["issue-event-rename"]; + author_association?: components["schemas"]["author-association"]; + lock_reason?: string | null; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + }; + /** + * Labeled Issue Event + * @description Labeled Issue Event + */ + "labeled-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + label: { + name: string; + color: string; + }; + }; + /** + * Unlabeled Issue Event + * @description Unlabeled Issue Event + */ + "unlabeled-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + label: { + name: string; + color: string; + }; + }; + /** + * Assigned Issue Event + * @description Assigned Issue Event + */ + "assigned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["integration"]; + assignee: components["schemas"]["simple-user"]; + assigner: components["schemas"]["simple-user"]; + }; + /** + * Unassigned Issue Event + * @description Unassigned Issue Event + */ + "unassigned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + assignee: components["schemas"]["simple-user"]; + assigner: components["schemas"]["simple-user"]; + }; + /** + * Milestoned Issue Event + * @description Milestoned Issue Event + */ + "milestoned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + milestone: { + title: string; + }; + }; + /** + * Demilestoned Issue Event + * @description Demilestoned Issue Event + */ + "demilestoned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + milestone: { + title: string; + }; + }; + /** + * Renamed Issue Event + * @description Renamed Issue Event + */ + "renamed-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + rename: { + from: string; + to: string; + }; + }; + /** + * Review Requested Issue Event + * @description Review Requested Issue Event + */ + "review-requested-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + review_requester: components["schemas"]["simple-user"]; + requested_team?: components["schemas"]["team"]; + requested_reviewer?: components["schemas"]["simple-user"]; + }; + /** + * Review Request Removed Issue Event + * @description Review Request Removed Issue Event + */ + "review-request-removed-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + review_requester: components["schemas"]["simple-user"]; + requested_team?: components["schemas"]["team"]; + requested_reviewer?: components["schemas"]["simple-user"]; + }; + /** + * Review Dismissed Issue Event + * @description Review Dismissed Issue Event + */ + "review-dismissed-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + dismissed_review: { + state: string; + review_id: number; + dismissal_message: string | null; + dismissal_commit_id?: string; + }; + }; + /** + * Locked Issue Event + * @description Locked Issue Event + */ + "locked-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + /** @example "off-topic" */ + lock_reason: string | null; + }; + /** + * Added to Project Issue Event + * @description Added to Project Issue Event + */ + "added-to-project-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + project_card?: { + id: number; + /** Format: uri */ + url: string; + project_id: number; + /** Format: uri */ + project_url: string; + column_name: string; + previous_column_name?: string; + }; + }; + /** + * Moved Column in Project Issue Event + * @description Moved Column in Project Issue Event + */ + "moved-column-in-project-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + project_card?: { + id: number; + /** Format: uri */ + url: string; + project_id: number; + /** Format: uri */ + project_url: string; + column_name: string; + previous_column_name?: string; + }; + }; + /** + * Removed from Project Issue Event + * @description Removed from Project Issue Event + */ + "removed-from-project-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + project_card?: { + id: number; + /** Format: uri */ + url: string; + project_id: number; + /** Format: uri */ + project_url: string; + column_name: string; + previous_column_name?: string; + }; + }; + /** + * Converted Note to Issue Issue Event + * @description Converted Note to Issue Issue Event + */ + "converted-note-to-issue-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["integration"]; + project_card?: { + id: number; + /** Format: uri */ + url: string; + project_id: number; + /** Format: uri */ + project_url: string; + column_name: string; + previous_column_name?: string; + }; + }; + /** + * Issue Event for Issue + * @description Issue Event for Issue + */ + "issue-event-for-issue": Partial< + components["schemas"]["labeled-issue-event"] + > & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial; + /** + * Label + * @description Color-coded labels help you categorize and filter your issues (just like labels in Gmail). + */ + label: { + /** + * Format: int64 + * @example 208045946 + */ + id: number; + /** @example MDU6TGFiZWwyMDgwNDU5NDY= */ + node_id: string; + /** + * Format: uri + * @description URL for the label + * @example https://api.github.com/repositories/42/labels/bug + */ + url: string; + /** + * @description The name of the label. + * @example bug + */ + name: string; + /** @example Something isn't working */ + description: string | null; + /** + * @description 6-character hex code, without the leading #, identifying the color + * @example FFFFFF + */ + color: string; + /** @example true */ + default: boolean; + }; + /** + * Timeline Comment Event + * @description Timeline Comment Event + */ + "timeline-comment-event": { + event: string; + actor: components["schemas"]["simple-user"]; + /** + * @description Unique identifier of the issue comment + * @example 42 + */ + id: number; + node_id: string; + /** + * Format: uri + * @description URL for the issue comment + * @example https://api.github.com/repositories/42/issues/comments/1 + */ + url: string; + /** + * @description Contents of the issue comment + * @example What version of Safari were you using when you observed this bug? + */ + body?: string; + body_text?: string; + body_html?: string; + /** Format: uri */ + html_url: string; + user: components["schemas"]["simple-user"]; + /** + * Format: date-time + * @example 2011-04-14T16:00:49Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-04-14T16:00:49Z + */ + updated_at: string; + /** Format: uri */ + issue_url: string; + author_association: components["schemas"]["author-association"]; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Timeline Cross Referenced Event + * @description Timeline Cross Referenced Event + */ + "timeline-cross-referenced-event": { + event: string; + actor?: components["schemas"]["simple-user"]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + source: { + type?: string; + issue?: components["schemas"]["issue"]; + }; + }; + /** + * Timeline Committed Event + * @description Timeline Committed Event + */ + "timeline-committed-event": { + event?: string; + /** + * @description SHA for the commit + * @example 7638417db6d59f3c431d3e1f261cc637155684cd + */ + sha: string; + node_id: string; + /** Format: uri */ + url: string; + /** @description Identifying information for the git-user */ + author: { + /** + * Format: date-time + * @description Timestamp of the commit + * @example 2014-08-09T08:02:04+12:00 + */ + date: string; + /** + * @description Git email address of the user + * @example monalisa.octocat@example.com + */ + email: string; + /** + * @description Name of the git user + * @example Monalisa Octocat + */ + name: string; + }; + /** @description Identifying information for the git-user */ + committer: { + /** + * Format: date-time + * @description Timestamp of the commit + * @example 2014-08-09T08:02:04+12:00 + */ + date: string; + /** + * @description Git email address of the user + * @example monalisa.octocat@example.com + */ + email: string; + /** + * @description Name of the git user + * @example Monalisa Octocat + */ + name: string; + }; + /** + * @description Message describing the purpose of the commit + * @example Fix #42 + */ + message: string; + tree: { + /** + * @description SHA for the commit + * @example 7638417db6d59f3c431d3e1f261cc637155684cd + */ + sha: string; + /** Format: uri */ + url: string; + }; + parents: { + /** + * @description SHA for the commit + * @example 7638417db6d59f3c431d3e1f261cc637155684cd + */ + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + }[]; + verification: { + verified: boolean; + reason: string; + signature: string | null; + payload: string | null; + }; + /** Format: uri */ + html_url: string; + }; + /** + * Timeline Reviewed Event + * @description Timeline Reviewed Event + */ + "timeline-reviewed-event": { + event: string; + /** + * @description Unique identifier of the review + * @example 42 + */ + id: number; + /** @example MDE3OlB1bGxSZXF1ZXN0UmV2aWV3ODA= */ + node_id: string; + user: components["schemas"]["simple-user"]; + /** + * @description The text of the review. + * @example This looks great. + */ + body: string | null; + /** @example CHANGES_REQUESTED */ + state: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80 + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/12 + */ + pull_request_url: string; + _links: { + html: { + href: string; + }; + pull_request: { + href: string; + }; + }; + /** Format: date-time */ + submitted_at?: string; + /** + * @description A commit SHA for the review. + * @example 54bb654c9e6025347f57900a4a5c2313a96b8035 + */ + commit_id: string; + body_html?: string; + body_text?: string; + author_association: components["schemas"]["author-association"]; + }; + /** + * Pull Request Review Comment + * @description Pull Request Review Comments are comments on a portion of the Pull Request's diff. + */ + "pull-request-review-comment": { + /** + * @description URL for the pull request review comment + * @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 + */ + url: string; + /** + * @description The ID of the pull request review to which the comment belongs. + * @example 42 + */ + pull_request_review_id: number | null; + /** + * @description The ID of the pull request review comment. + * @example 1 + */ + id: number; + /** + * @description The node ID of the pull request review comment. + * @example MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDEw + */ + node_id: string; + /** + * @description The diff of the line that the comment refers to. + * @example @@ -16,33 +16,40 @@ public class Connection : IConnection... + */ + diff_hunk: string; + /** + * @description The relative path of the file to which the comment applies. + * @example config/database.yaml + */ + path: string; + /** + * @description The line index in the diff to which the comment applies. This field is deprecated; use `line` instead. + * @example 1 + */ + position: number; + /** + * @description The index of the original line in the diff to which the comment applies. This field is deprecated; use `original_line` instead. + * @example 4 + */ + original_position: number; + /** + * @description The SHA of the commit to which the comment applies. + * @example 6dcb09b5b57875f334f61aebed695e2e4193db5e + */ + commit_id: string; + /** + * @description The SHA of the original commit to which the comment applies. + * @example 9c48853fa3dc5c1c3d6f1f1cd1f2743e72652840 + */ + original_commit_id: string; + /** + * @description The comment ID to reply to. + * @example 8 + */ + in_reply_to_id?: number; + user: components["schemas"]["simple-user"]; + /** + * @description The text of the comment. + * @example We should probably include a check for null values here. + */ + body: string; + /** + * Format: date-time + * @example 2011-04-14T16:00:49Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-04-14T16:00:49Z + */ + updated_at: string; + /** + * Format: uri + * @description HTML URL for the pull request review comment. + * @example https://github.com/octocat/Hello-World/pull/1#discussion-diff-1 + */ + html_url: string; + /** + * Format: uri + * @description URL for the pull request that the review comment belongs to. + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1 + */ + pull_request_url: string; + author_association: components["schemas"]["author-association"]; + _links: { + self: { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 + */ + href: string; + }; + html: { + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1#discussion-diff-1 + */ + href: string; + }; + pull_request: { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1 + */ + href: string; + }; + }; + /** + * @description The first line of the range for a multi-line comment. + * @example 2 + */ + start_line?: number | null; + /** + * @description The first line of the range for a multi-line comment. + * @example 2 + */ + original_start_line?: number | null; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string|null} + */ + start_side?: ("LEFT" | "RIGHT") | null; + /** + * @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment + * @example 2 + */ + line?: number; + /** + * @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment + * @example 2 + */ + original_line?: number; + /** + * @description The side of the diff to which the comment applies. The side of the last line of the range for a multi-line comment + * @default RIGHT + * @enum {string} + */ + side?: "LEFT" | "RIGHT"; + reactions?: components["schemas"]["reaction-rollup"]; + /** @example "

comment body

" */ + body_html?: string; + /** @example "comment body" */ + body_text?: string; + }; + /** + * Timeline Line Commented Event + * @description Timeline Line Commented Event + */ + "timeline-line-commented-event": { + event?: string; + node_id?: string; + comments?: components["schemas"]["pull-request-review-comment"][]; + }; + /** + * Timeline Commit Commented Event + * @description Timeline Commit Commented Event + */ + "timeline-commit-commented-event": { + event?: string; + node_id?: string; + commit_id?: string; + comments?: components["schemas"]["commit-comment"][]; + }; + /** + * Timeline Assigned Issue Event + * @description Timeline Assigned Issue Event + */ + "timeline-assigned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + assignee: components["schemas"]["simple-user"]; + }; + /** + * Timeline Unassigned Issue Event + * @description Timeline Unassigned Issue Event + */ + "timeline-unassigned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + assignee: components["schemas"]["simple-user"]; + }; + /** + * State Change Issue Event + * @description State Change Issue Event + */ + "state-change-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + state_reason?: string | null; + }; + /** + * Timeline Event + * @description Timeline Event + */ + "timeline-issue-events": Partial< + components["schemas"]["labeled-issue-event"] + > & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial; + /** + * Deploy Key + * @description An SSH key granting access to a single repository. + */ + "deploy-key": { + id: number; + key: string; + url: string; + title: string; + verified: boolean; + created_at: string; + read_only: boolean; + }; + /** + * Language + * @description Language + */ + language: { [key: string]: number }; + /** + * License Content + * @description License Content + */ + "license-content": { + name: string; + path: string; + sha: string; + size: number; + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + git_url: string | null; + /** Format: uri */ + download_url: string | null; + type: string; + content: string; + encoding: string; + _links: { + /** Format: uri */ + git: string | null; + /** Format: uri */ + html: string | null; + /** Format: uri */ + self: string; + }; + license: components["schemas"]["nullable-license-simple"]; + }; + /** + * Merged upstream + * @description Results of a successful merge upstream request + */ + "merged-upstream": { + message?: string; + /** @enum {string} */ + merge_type?: "merge" | "fast-forward" | "none"; + base_branch?: string; + }; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/milestones/1 + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/milestones/v1.0 + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/milestones/1/labels + */ + labels_url: string; + /** @example 1002604 */ + id: number; + /** @example MDk6TWlsZXN0b25lMTAwMjYwNA== */ + node_id: string; + /** + * @description The number of the milestone. + * @example 42 + */ + number: number; + /** + * @description The state of the milestone. + * @default open + * @example open + * @enum {string} + */ + state: "open" | "closed"; + /** + * @description The title of the milestone. + * @example v1.0 + */ + title: string; + /** @example Tracking milestone for version 1.0 */ + description: string | null; + creator: components["schemas"]["nullable-simple-user"]; + /** @example 4 */ + open_issues: number; + /** @example 8 */ + closed_issues: number; + /** + * Format: date-time + * @example 2011-04-10T20:09:31Z + */ + created_at: string; + /** + * Format: date-time + * @example 2014-03-03T18:58:10Z + */ + updated_at: string; + /** + * Format: date-time + * @example 2013-02-12T13:22:01Z + */ + closed_at: string | null; + /** + * Format: date-time + * @example 2012-10-09T23:39:01Z + */ + due_on: string | null; + }; + /** Pages Source Hash */ + "pages-source-hash": { + branch: string; + path: string; + }; + /** Pages Https Certificate */ + "pages-https-certificate": { + /** + * @example approved + * @enum {string} + */ + state: + | "new" + | "authorization_created" + | "authorization_pending" + | "authorized" + | "authorization_revoked" + | "issued" + | "uploaded" + | "approved" + | "errored" + | "bad_authz" + | "destroy_pending" + | "dns_changed"; + /** @example Certificate is approved */ + description: string; + /** + * @description Array of the domain set and its alternate name (if it is configured) + * @example [ + * "example.com", + * "www.example.com" + * ] + */ + domains: string[]; + /** Format: date */ + expires_at?: string; + }; + /** + * GitHub Pages + * @description The configuration for GitHub Pages for a repository. + */ + page: { + /** + * Format: uri + * @description The API address for accessing this Page resource. + * @example https://api.github.com/repos/github/hello-world/pages + */ + url: string; + /** + * @description The status of the most recent build of the Page. + * @example built + * @enum {string|null} + */ + status: ("built" | "building" | "errored") | null; + /** + * @description The Pages site's custom domain + * @example example.com + */ + cname: string | null; + /** + * @description The state if the domain is verified + * @example pending + * @enum {string|null} + */ + protected_domain_state?: ("pending" | "verified" | "unverified") | null; + /** + * Format: date-time + * @description The timestamp when a pending domain becomes unverified. + */ + pending_domain_unverified_at?: string | null; + /** + * @description Whether the Page has a custom 404 page. + * @default false + * @example false + */ + custom_404: boolean; + /** + * Format: uri + * @description The web address the Page can be accessed from. + * @example https://example.com + */ + html_url?: string; + /** + * @description The process in which the Page will be built. + * @example legacy + * @enum {string|null} + */ + build_type?: ("legacy" | "workflow") | null; + source?: components["schemas"]["pages-source-hash"]; + /** + * @description Whether the GitHub Pages site is publicly visible. If set to `true`, the site is accessible to anyone on the internet. If set to `false`, the site will only be accessible to users who have at least `read` access to the repository that published the site. + * @example true + */ + public: boolean; + https_certificate?: components["schemas"]["pages-https-certificate"]; + /** + * @description Whether https is enabled on the domain + * @example true + */ + https_enforced?: boolean; + }; + /** + * Page Build + * @description Page Build + */ + "page-build": { + /** Format: uri */ + url: string; + status: string; + error: { + message: string | null; + }; + pusher: components["schemas"]["nullable-simple-user"]; + commit: string; + duration: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Page Build Status + * @description Page Build Status + */ + "page-build-status": { + /** + * Format: uri + * @example https://api.github.com/repos/github/hello-world/pages/builds/latest + */ + url: string; + /** @example queued */ + status: string; + }; + /** + * Pages Health Check Status + * @description Pages Health Check Status + */ + "pages-health-check": { + domain?: { + host?: string; + uri?: string; + nameservers?: string; + dns_resolves?: boolean; + is_proxied?: boolean | null; + is_cloudflare_ip?: boolean | null; + is_fastly_ip?: boolean | null; + is_old_ip_address?: boolean | null; + is_a_record?: boolean | null; + has_cname_record?: boolean | null; + has_mx_records_present?: boolean | null; + is_valid_domain?: boolean; + is_apex_domain?: boolean; + should_be_a_record?: boolean | null; + is_cname_to_github_user_domain?: boolean | null; + is_cname_to_pages_dot_github_dot_com?: boolean | null; + is_cname_to_fastly?: boolean | null; + is_pointed_to_github_pages_ip?: boolean | null; + is_non_github_pages_ip_present?: boolean | null; + is_pages_domain?: boolean; + is_served_by_pages?: boolean | null; + is_valid?: boolean; + reason?: string | null; + responds_to_https?: boolean; + enforces_https?: boolean; + https_error?: string | null; + is_https_eligible?: boolean | null; + caa_error?: string | null; + }; + alt_domain?: { + host?: string; + uri?: string; + nameservers?: string; + dns_resolves?: boolean; + is_proxied?: boolean | null; + is_cloudflare_ip?: boolean | null; + is_fastly_ip?: boolean | null; + is_old_ip_address?: boolean | null; + is_a_record?: boolean | null; + has_cname_record?: boolean | null; + has_mx_records_present?: boolean | null; + is_valid_domain?: boolean; + is_apex_domain?: boolean; + should_be_a_record?: boolean | null; + is_cname_to_github_user_domain?: boolean | null; + is_cname_to_pages_dot_github_dot_com?: boolean | null; + is_cname_to_fastly?: boolean | null; + is_pointed_to_github_pages_ip?: boolean | null; + is_non_github_pages_ip_present?: boolean | null; + is_pages_domain?: boolean; + is_served_by_pages?: boolean | null; + is_valid?: boolean; + reason?: string | null; + responds_to_https?: boolean; + enforces_https?: boolean; + https_error?: string | null; + is_https_eligible?: boolean | null; + caa_error?: string | null; + } | null; + }; + /** + * Team Simple + * @description Groups of organization members that gives permissions on specified repositories. + */ + "team-simple": { + /** + * @description Unique identifier of the team + * @example 1 + */ + id: number; + /** @example MDQ6VGVhbTE= */ + node_id: string; + /** + * Format: uri + * @description URL for the team + * @example https://api.github.com/organizations/1/team/1 + */ + url: string; + /** @example https://api.github.com/organizations/1/team/1/members{/member} */ + members_url: string; + /** + * @description Name of the team + * @example Justice League + */ + name: string; + /** + * @description Description of the team + * @example A great team. + */ + description: string | null; + /** + * @description Permission that the team will have for its repositories + * @example admin + */ + permission: string; + /** + * @description The level of privacy this team should have + * @example closed + */ + privacy?: string; + /** + * Format: uri + * @example https://github.com/orgs/rails/teams/core + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/organizations/1/team/1/repos + */ + repositories_url: string; + /** @example justice-league */ + slug: string; + /** + * @description Distinguished Name (DN) that team maps to within LDAP environment + * @example uid=example,ou=users,dc=github,dc=com + */ + ldap_dn?: string; + }; + /** + * Pull Request + * @description Pull requests let you tell others about changes you've pushed to a repository on GitHub. Once a pull request is sent, interested parties can review the set of changes, discuss potential modifications, and even push follow-up commits if necessary. + */ + "pull-request": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347 + */ + url: string; + /** @example 1 */ + id: number; + /** @example MDExOlB1bGxSZXF1ZXN0MQ== */ + node_id: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1347 + */ + html_url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1347.diff + */ + diff_url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1347.patch + */ + patch_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/issues/1347 + */ + issue_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits + */ + commits_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments + */ + review_comments_url: string; + /** @example https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number} */ + review_comment_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/issues/1347/comments + */ + comments_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e + */ + statuses_url: string; + /** + * @description Number uniquely identifying the pull request within its repository. + * @example 42 + */ + number: number; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @example open + * @enum {string} + */ + state: "open" | "closed"; + /** @example true */ + locked: boolean; + /** + * @description The title of the pull request. + * @example Amazing new feature + */ + title: string; + user: components["schemas"]["nullable-simple-user"]; + /** @example Please pull these awesome changes */ + body: string | null; + labels: { + /** Format: int64 */ + id: number; + node_id: string; + url: string; + name: string; + description: string | null; + color: string; + default: boolean; + }[]; + milestone: components["schemas"]["nullable-milestone"]; + /** @example too heated */ + active_lock_reason?: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + updated_at: string; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + closed_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + merged_at: string | null; + /** @example e5bd3914e2e596debea16f433f57875b5b90bcd6 */ + merge_commit_sha: string | null; + assignee: components["schemas"]["nullable-simple-user"]; + assignees?: components["schemas"]["simple-user"][] | null; + requested_reviewers?: components["schemas"]["simple-user"][] | null; + requested_teams?: components["schemas"]["team-simple"][] | null; + head: { + label: string; + ref: string; + repo: { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + id: number; + node_id: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + milestones_url: string; + name: string; + notifications_url: string; + owner: { + /** Format: uri */ + avatar_url: string; + events_url: string; + /** Format: uri */ + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string | null; + /** Format: uri */ + html_url: string; + id: number; + node_id: string; + login: string; + /** Format: uri */ + organizations_url: string; + /** Format: uri */ + received_events_url: string; + /** Format: uri */ + repos_url: string; + site_admin: boolean; + starred_url: string; + /** Format: uri */ + subscriptions_url: string; + type: string; + /** Format: uri */ + url: string; + }; + private: boolean; + pulls_url: string; + releases_url: string; + /** Format: uri */ + stargazers_url: string; + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + trees_url: string; + /** Format: uri */ + url: string; + clone_url: string; + default_branch: string; + forks: number; + forks_count: number; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + /** Format: uri */ + homepage: string | null; + language: string | null; + master_branch?: string; + archived: boolean; + disabled: boolean; + /** @description The repository visibility: public, private, or internal. */ + visibility?: string; + /** Format: uri */ + mirror_url: string | null; + open_issues: number; + open_issues_count: number; + permissions?: { + admin: boolean; + maintain?: boolean; + push: boolean; + triage?: boolean; + pull: boolean; + }; + temp_clone_token?: string; + allow_merge_commit?: boolean; + allow_squash_merge?: boolean; + allow_rebase_merge?: boolean; + license: { + key: string; + name: string; + /** Format: uri */ + url: string | null; + spdx_id: string | null; + node_id: string; + } | null; + /** Format: date-time */ + pushed_at: string; + size: number; + ssh_url: string; + stargazers_count: number; + /** Format: uri */ + svn_url: string; + topics?: string[]; + watchers: number; + watchers_count: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + allow_forking?: boolean; + is_template?: boolean; + } | null; + sha: string; + user: { + /** Format: uri */ + avatar_url: string; + events_url: string; + /** Format: uri */ + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string | null; + /** Format: uri */ + html_url: string; + id: number; + node_id: string; + login: string; + /** Format: uri */ + organizations_url: string; + /** Format: uri */ + received_events_url: string; + /** Format: uri */ + repos_url: string; + site_admin: boolean; + starred_url: string; + /** Format: uri */ + subscriptions_url: string; + type: string; + /** Format: uri */ + url: string; + }; + }; + base: { + label: string; + ref: string; + repo: { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + id: number; + is_template?: boolean; + node_id: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + milestones_url: string; + name: string; + notifications_url: string; + owner: { + /** Format: uri */ + avatar_url: string; + events_url: string; + /** Format: uri */ + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string | null; + /** Format: uri */ + html_url: string; + id: number; + node_id: string; + login: string; + /** Format: uri */ + organizations_url: string; + /** Format: uri */ + received_events_url: string; + /** Format: uri */ + repos_url: string; + site_admin: boolean; + starred_url: string; + /** Format: uri */ + subscriptions_url: string; + type: string; + /** Format: uri */ + url: string; + }; + private: boolean; + pulls_url: string; + releases_url: string; + /** Format: uri */ + stargazers_url: string; + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + trees_url: string; + /** Format: uri */ + url: string; + clone_url: string; + default_branch: string; + forks: number; + forks_count: number; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + /** Format: uri */ + homepage: string | null; + language: string | null; + master_branch?: string; + archived: boolean; + disabled: boolean; + /** @description The repository visibility: public, private, or internal. */ + visibility?: string; + /** Format: uri */ + mirror_url: string | null; + open_issues: number; + open_issues_count: number; + permissions?: { + admin: boolean; + maintain?: boolean; + push: boolean; + triage?: boolean; + pull: boolean; + }; + temp_clone_token?: string; + allow_merge_commit?: boolean; + allow_squash_merge?: boolean; + allow_rebase_merge?: boolean; + license: components["schemas"]["nullable-license-simple"]; + /** Format: date-time */ + pushed_at: string; + size: number; + ssh_url: string; + stargazers_count: number; + /** Format: uri */ + svn_url: string; + topics?: string[]; + watchers: number; + watchers_count: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + allow_forking?: boolean; + }; + sha: string; + user: { + /** Format: uri */ + avatar_url: string; + events_url: string; + /** Format: uri */ + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string | null; + /** Format: uri */ + html_url: string; + id: number; + node_id: string; + login: string; + /** Format: uri */ + organizations_url: string; + /** Format: uri */ + received_events_url: string; + /** Format: uri */ + repos_url: string; + site_admin: boolean; + starred_url: string; + /** Format: uri */ + subscriptions_url: string; + type: string; + /** Format: uri */ + url: string; + }; + }; + _links: { + comments: components["schemas"]["link"]; + commits: components["schemas"]["link"]; + statuses: components["schemas"]["link"]; + html: components["schemas"]["link"]; + issue: components["schemas"]["link"]; + review_comments: components["schemas"]["link"]; + review_comment: components["schemas"]["link"]; + self: components["schemas"]["link"]; + }; + author_association: components["schemas"]["author-association"]; + auto_merge: components["schemas"]["auto-merge"]; + /** + * @description Indicates whether or not the pull request is a draft. + * @example false + */ + draft?: boolean; + merged: boolean; + /** @example true */ + mergeable: boolean | null; + /** @example true */ + rebaseable?: boolean | null; + /** @example clean */ + mergeable_state: string; + merged_by: components["schemas"]["nullable-simple-user"]; + /** @example 10 */ + comments: number; + /** @example 0 */ + review_comments: number; + /** + * @description Indicates whether maintainers can modify the pull request. + * @example true + */ + maintainer_can_modify: boolean; + /** @example 3 */ + commits: number; + /** @example 100 */ + additions: number; + /** @example 3 */ + deletions: number; + /** @example 5 */ + changed_files: number; + }; + /** + * Pull Request Merge Result + * @description Pull Request Merge Result + */ + "pull-request-merge-result": { + sha: string; + merged: boolean; + message: string; + }; + /** + * Pull Request Review Request + * @description Pull Request Review Request + */ + "pull-request-review-request": { + users: components["schemas"]["simple-user"][]; + teams: components["schemas"]["team"][]; + }; + /** + * Pull Request Review + * @description Pull Request Reviews are reviews on pull requests. + */ + "pull-request-review": { + /** + * @description Unique identifier of the review + * @example 42 + */ + id: number; + /** @example MDE3OlB1bGxSZXF1ZXN0UmV2aWV3ODA= */ + node_id: string; + user: components["schemas"]["nullable-simple-user"]; + /** + * @description The text of the review. + * @example This looks great. + */ + body: string; + /** @example CHANGES_REQUESTED */ + state: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80 + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/12 + */ + pull_request_url: string; + _links: { + html: { + href: string; + }; + pull_request: { + href: string; + }; + }; + /** Format: date-time */ + submitted_at?: string; + /** + * @description A commit SHA for the review. + * @example 54bb654c9e6025347f57900a4a5c2313a96b8035 + */ + commit_id: string; + body_html?: string; + body_text?: string; + author_association: components["schemas"]["author-association"]; + }; + /** + * Legacy Review Comment + * @description Legacy Review Comment + */ + "review-comment": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 + */ + url: string; + /** @example 42 */ + pull_request_review_id: number | null; + /** @example 10 */ + id: number; + /** @example MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDEw */ + node_id: string; + /** @example @@ -16,33 +16,40 @@ public class Connection : IConnection... */ + diff_hunk: string; + /** @example file1.txt */ + path: string; + /** @example 1 */ + position: number | null; + /** @example 4 */ + original_position: number; + /** @example 6dcb09b5b57875f334f61aebed695e2e4193db5e */ + commit_id: string; + /** @example 9c48853fa3dc5c1c3d6f1f1cd1f2743e72652840 */ + original_commit_id: string; + /** @example 8 */ + in_reply_to_id?: number; + user: components["schemas"]["nullable-simple-user"]; + /** @example Great stuff */ + body: string; + /** + * Format: date-time + * @example 2011-04-14T16:00:49Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-04-14T16:00:49Z + */ + updated_at: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1#discussion-diff-1 + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1 + */ + pull_request_url: string; + author_association: components["schemas"]["author-association"]; + _links: { + self: components["schemas"]["link"]; + html: components["schemas"]["link"]; + pull_request: components["schemas"]["link"]; + }; + body_text?: string; + body_html?: string; + reactions?: components["schemas"]["reaction-rollup"]; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string} + */ + side?: "LEFT" | "RIGHT"; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string|null} + */ + start_side?: ("LEFT" | "RIGHT") | null; + /** + * @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment + * @example 2 + */ + line?: number; + /** + * @description The original line of the blob to which the comment applies. The last line of the range for a multi-line comment + * @example 2 + */ + original_line?: number; + /** + * @description The first line of the range for a multi-line comment. + * @example 2 + */ + start_line?: number | null; + /** + * @description The original first line of the range for a multi-line comment. + * @example 2 + */ + original_start_line?: number | null; + }; + /** + * Release Asset + * @description Data related to a release. + */ + "release-asset": { + /** Format: uri */ + url: string; + /** Format: uri */ + browser_download_url: string; + id: number; + node_id: string; + /** + * @description The file name of the asset. + * @example Team Environment + */ + name: string; + label: string | null; + /** + * @description State of the release asset. + * @enum {string} + */ + state: "uploaded" | "open"; + content_type: string; + size: number; + download_count: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + uploader: components["schemas"]["nullable-simple-user"]; + }; + /** + * Release + * @description A release. + */ + release: { + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + assets_url: string; + upload_url: string; + /** Format: uri */ + tarball_url: string | null; + /** Format: uri */ + zipball_url: string | null; + id: number; + node_id: string; + /** + * @description The name of the tag. + * @example v1.0.0 + */ + tag_name: string; + /** + * @description Specifies the commitish value that determines where the Git tag is created from. + * @example master + */ + target_commitish: string; + name: string | null; + body?: string | null; + /** + * @description true to create a draft (unpublished) release, false to create a published one. + * @example false + */ + draft: boolean; + /** + * @description Whether to identify the release as a prerelease or a full release. + * @example false + */ + prerelease: boolean; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + published_at: string | null; + author: components["schemas"]["simple-user"]; + assets: components["schemas"]["release-asset"][]; + body_html?: string; + body_text?: string; + mentions_count?: number; + /** + * Format: uri + * @description The URL of the release discussion. + */ + discussion_url?: string; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Generated Release Notes Content + * @description Generated name and body describing a release + */ + "release-notes-content": { + /** + * @description The generated name of the release + * @example Release v1.0.0 is now available! + */ + name: string; + /** @description The generated body describing the contents of the release supporting markdown formatting */ + body: string; + }; + "secret-scanning-alert": { + number?: components["schemas"]["alert-number"]; + created_at?: components["schemas"]["alert-created-at"]; + updated_at?: components["schemas"]["alert-updated-at"]; + url?: components["schemas"]["alert-url"]; + html_url?: components["schemas"]["alert-html-url"]; + /** + * Format: uri + * @description The REST API URL of the code locations for this alert. + */ + locations_url?: string; + state?: components["schemas"]["secret-scanning-alert-state"]; + resolution?: components["schemas"]["secret-scanning-alert-resolution"]; + /** + * Format: date-time + * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + resolved_at?: string | null; + resolved_by?: components["schemas"]["nullable-simple-user"]; + /** @description The type of secret that secret scanning detected. */ + secret_type?: string; + /** + * @description User-friendly name for the detected secret, matching the `secret_type`. + * For a list of built-in patterns, see "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)." + */ + secret_type_display_name?: string; + /** @description The secret that was detected. */ + secret?: string; + /** @description Whether push protection was bypassed for the detected secret. */ + push_protection_bypassed?: boolean | null; + push_protection_bypassed_by?: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + push_protection_bypassed_at?: string | null; + }; + /** @description Represents a 'commit' secret scanning location type. This location type shows that a secret was detected inside a commit to a repository. */ + "secret-scanning-location-commit": { + /** + * @description The file path in the repository + * @example /example/secrets.txt + */ + path: string; + /** @description Line number at which the secret starts in the file */ + start_line: number; + /** @description Line number at which the secret ends in the file */ + end_line: number; + /** @description The column at which the secret starts within the start line when the file is interpreted as 8BIT ASCII */ + start_column: number; + /** @description The column at which the secret ends within the end line when the file is interpreted as 8BIT ASCII */ + end_column: number; + /** + * @description SHA-1 hash ID of the associated blob + * @example af5626b4a114abcb82d63db7c8082c3c4756e51b + */ + blob_sha: string; + /** @description The API URL to get the associated blob resource */ + blob_url: string; + /** + * @description SHA-1 hash ID of the associated commit + * @example af5626b4a114abcb82d63db7c8082c3c4756e51b + */ + commit_sha: string; + /** @description The API URL to get the associated commit resource */ + commit_url: string; + }; + "secret-scanning-location": { + /** + * @description The location type. Because secrets may be found in different types of resources (ie. code, comments, issues), this field identifies the type of resource where the secret was found. + * @example commit + * @enum {string} + */ + type: "commit"; + details: components["schemas"]["secret-scanning-location-commit"]; + }; + /** + * Stargazer + * @description Stargazer + */ + stargazer: { + /** Format: date-time */ + starred_at: string; + user: components["schemas"]["nullable-simple-user"]; + }; + /** + * Code Frequency Stat + * @description Code Frequency Stat + */ + "code-frequency-stat": number[]; + /** + * Commit Activity + * @description Commit Activity + */ + "commit-activity": { + /** + * @example [ + * 0, + * 3, + * 26, + * 20, + * 39, + * 1, + * 0 + * ] + */ + days: number[]; + /** @example 89 */ + total: number; + /** @example 1336280400 */ + week: number; + }; + /** + * Contributor Activity + * @description Contributor Activity + */ + "contributor-activity": { + author: components["schemas"]["nullable-simple-user"]; + /** @example 135 */ + total: number; + /** + * @example [ + * { + * "w": "1367712000", + * "a": 6898, + * "d": 77, + * "c": 10 + * } + * ] + */ + weeks: { + w?: number; + a?: number; + d?: number; + c?: number; + }[]; + }; + /** Participation Stats */ + "participation-stats": { + all: number[]; + owner: number[]; + }; + /** + * Repository Invitation + * @description Repository invitations let you manage who you collaborate with. + */ + "repository-subscription": { + /** + * @description Determines if notifications should be received from this repository. + * @example true + */ + subscribed: boolean; + /** @description Determines if all notifications should be blocked from this repository. */ + ignored: boolean; + reason: string | null; + /** + * Format: date-time + * @example 2012-10-06T21:34:12Z + */ + created_at: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/example/subscription + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/example + */ + repository_url: string; + }; + /** + * Tag + * @description Tag + */ + tag: { + /** @example v0.1 */ + name: string; + commit: { + sha: string; + /** Format: uri */ + url: string; + }; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/zipball/v0.1 + */ + zipball_url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/tarball/v0.1 + */ + tarball_url: string; + node_id: string; + }; + /** + * Tag protection + * @description Tag protection + */ + "tag-protection": { + /** @example 2 */ + id?: number; + /** @example 2011-01-26T19:01:12Z */ + created_at?: string; + /** @example 2011-01-26T19:01:12Z */ + updated_at?: string; + /** @example true */ + enabled?: boolean; + /** @example v1.* */ + pattern: string; + }; + /** + * Topic + * @description A topic aggregates entities that are related to a subject. + */ + topic: { + names: string[]; + }; + /** Traffic */ + traffic: { + /** Format: date-time */ + timestamp: string; + uniques: number; + count: number; + }; + /** + * Clone Traffic + * @description Clone Traffic + */ + "clone-traffic": { + /** @example 173 */ + count: number; + /** @example 128 */ + uniques: number; + clones: components["schemas"]["traffic"][]; + }; + /** + * Content Traffic + * @description Content Traffic + */ + "content-traffic": { + /** @example /github/hubot */ + path: string; + /** @example github/hubot: A customizable life embetterment robot. */ + title: string; + /** @example 3542 */ + count: number; + /** @example 2225 */ + uniques: number; + }; + /** + * Referrer Traffic + * @description Referrer Traffic + */ + "referrer-traffic": { + /** @example Google */ + referrer: string; + /** @example 4 */ + count: number; + /** @example 3 */ + uniques: number; + }; + /** + * View Traffic + * @description View Traffic + */ + "view-traffic": { + /** @example 14850 */ + count: number; + /** @example 3782 */ + uniques: number; + views: components["schemas"]["traffic"][]; + }; + "scim-group-list-enterprise": { + schemas: string[]; + totalResults: number; + itemsPerPage: number; + startIndex: number; + Resources: { + schemas: string[]; + id: string; + externalId?: string | null; + displayName?: string; + members?: { + value?: string; + $ref?: string; + display?: string; + }[]; + meta?: { + resourceType?: string; + created?: string; + lastModified?: string; + location?: string; + }; + }[]; + }; + "scim-enterprise-group": { + schemas: string[]; + id: string; + externalId?: string | null; + displayName?: string; + members?: { + value?: string; + $ref?: string; + display?: string; + }[]; + meta?: { + resourceType?: string; + created?: string; + lastModified?: string; + location?: string; + }; + }; + "scim-user-list-enterprise": { + schemas: string[]; + totalResults: number; + itemsPerPage: number; + startIndex: number; + Resources: { + schemas: string[]; + id: string; + externalId?: string; + userName?: string; + name?: { + givenName?: string; + familyName?: string; + }; + emails?: { + value?: string; + primary?: boolean; + type?: string; + }[]; + groups?: { + value?: string; + }[]; + active?: boolean; + meta?: { + resourceType?: string; + created?: string; + lastModified?: string; + location?: string; + }; + }[]; + }; + "scim-enterprise-user": { + schemas: string[]; + id: string; + externalId?: string; + userName?: string; + name?: { + givenName?: string; + familyName?: string; + }; + emails?: { + value?: string; + type?: string; + primary?: boolean; + }[]; + groups?: { + value?: string; + }[]; + active?: boolean; + meta?: { + resourceType?: string; + created?: string; + lastModified?: string; + location?: string; + }; + }; + /** + * SCIM /Users + * @description SCIM /Users provisioning endpoints + */ + "scim-user": { + /** @description SCIM schema used. */ + schemas: string[]; + /** + * @description Unique identifier of an external identity + * @example 1b78eada-9baa-11e6-9eb6-a431576d590e + */ + id: string; + /** + * @description The ID of the User. + * @example a7b0f98395 + */ + externalId: string | null; + /** + * @description Configured by the admin. Could be an email, login, or username + * @example someone@example.com + */ + userName: string | null; + /** + * @description The name of the user, suitable for display to end-users + * @example Jon Doe + */ + displayName?: string | null; + /** + * @example { + * "givenName": "Jane", + * "familyName": "User" + * } + */ + name: { + givenName: string | null; + familyName: string | null; + formatted?: string | null; + }; + /** + * @description user emails + * @example [ + * { + * "value": "someone@example.com", + * "primary": true + * }, + * { + * "value": "another@example.com", + * "primary": false + * } + * ] + */ + emails: { + value: string; + primary?: boolean; + }[]; + /** + * @description The active status of the User. + * @example true + */ + active: boolean; + meta: { + /** @example User */ + resourceType?: string; + /** + * Format: date-time + * @example 2019-01-24T22:45:36.000Z + */ + created?: string; + /** + * Format: date-time + * @example 2019-01-24T22:45:36.000Z + */ + lastModified?: string; + /** + * Format: uri + * @example https://api.github.com/scim/v2/organizations/myorg-123abc55141bfd8f/Users/c42772b5-2029-11e9-8543-9264a97dec8d + */ + location?: string; + }; + /** @description The ID of the organization. */ + organization_id?: number; + /** + * @description Set of operations to be performed + * @example [ + * { + * "op": "replace", + * "value": { + * "active": false + * } + * } + * ] + */ + operations?: { + /** @enum {string} */ + op: "add" | "remove" | "replace"; + path?: string; + value?: string | { [key: string]: unknown } | unknown[]; + }[]; + /** @description associated groups */ + groups?: { + value?: string; + display?: string; + }[]; + }; + /** + * SCIM User List + * @description SCIM User List + */ + "scim-user-list": { + /** @description SCIM schema used. */ + schemas: string[]; + /** @example 3 */ + totalResults: number; + /** @example 10 */ + itemsPerPage: number; + /** @example 1 */ + startIndex: number; + Resources: components["schemas"]["scim-user"][]; + }; + /** Search Result Text Matches */ + "search-result-text-matches": { + object_url?: string; + object_type?: string | null; + property?: string; + fragment?: string; + matches?: { + text?: string; + indices?: number[]; + }[]; + }[]; + /** + * Code Search Result Item + * @description Code Search Result Item + */ + "code-search-result-item": { + name: string; + path: string; + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + git_url: string; + /** Format: uri */ + html_url: string; + repository: components["schemas"]["minimal-repository"]; + score: number; + file_size?: number; + language?: string | null; + /** Format: date-time */ + last_modified_at?: string; + /** + * @example [ + * "73..77", + * "77..78" + * ] + */ + line_numbers?: string[]; + text_matches?: components["schemas"]["search-result-text-matches"]; + }; + /** + * Commit Search Result Item + * @description Commit Search Result Item + */ + "commit-search-result-item": { + /** Format: uri */ + url: string; + sha: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + comments_url: string; + commit: { + author: { + name: string; + email: string; + /** Format: date-time */ + date: string; + }; + committer: components["schemas"]["nullable-git-user"]; + comment_count: number; + message: string; + tree: { + sha: string; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + url: string; + verification?: components["schemas"]["verification"]; + }; + author: components["schemas"]["nullable-simple-user"]; + committer: components["schemas"]["nullable-git-user"]; + parents: { + url?: string; + html_url?: string; + sha?: string; + }[]; + repository: components["schemas"]["minimal-repository"]; + score: number; + node_id: string; + text_matches?: components["schemas"]["search-result-text-matches"]; + }; + /** + * Issue Search Result Item + * @description Issue Search Result Item + */ + "issue-search-result-item": { + /** Format: uri */ + url: string; + /** Format: uri */ + repository_url: string; + labels_url: string; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + id: number; + node_id: string; + number: number; + title: string; + locked: boolean; + active_lock_reason?: string | null; + assignees?: components["schemas"]["simple-user"][] | null; + user: components["schemas"]["nullable-simple-user"]; + labels: { + /** Format: int64 */ + id?: number; + node_id?: string; + url?: string; + name?: string; + color?: string; + default?: boolean; + description?: string | null; + }[]; + state: string; + state_reason?: string | null; + assignee: components["schemas"]["nullable-simple-user"]; + milestone: components["schemas"]["nullable-milestone"]; + comments: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + closed_at: string | null; + text_matches?: components["schemas"]["search-result-text-matches"]; + pull_request?: { + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + diff_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + patch_url: string | null; + /** Format: uri */ + url: string | null; + }; + body?: string; + score: number; + author_association: components["schemas"]["author-association"]; + draft?: boolean; + repository?: components["schemas"]["repository"]; + body_html?: string; + body_text?: string; + /** Format: uri */ + timeline_url?: string; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Label Search Result Item + * @description Label Search Result Item + */ + "label-search-result-item": { + id: number; + node_id: string; + /** Format: uri */ + url: string; + name: string; + color: string; + default: boolean; + description: string | null; + score: number; + text_matches?: components["schemas"]["search-result-text-matches"]; + }; + /** + * Repo Search Result Item + * @description Repo Search Result Item + */ + "repo-search-result-item": { + id: number; + node_id: string; + name: string; + full_name: string; + owner: components["schemas"]["nullable-simple-user"]; + private: boolean; + /** Format: uri */ + html_url: string; + description: string | null; + fork: boolean; + /** Format: uri */ + url: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + pushed_at: string; + /** Format: uri */ + homepage: string | null; + size: number; + stargazers_count: number; + watchers_count: number; + language: string | null; + forks_count: number; + open_issues_count: number; + master_branch?: string; + default_branch: string; + score: number; + /** Format: uri */ + forks_url: string; + keys_url: string; + collaborators_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri */ + hooks_url: string; + issue_events_url: string; + /** Format: uri */ + events_url: string; + assignees_url: string; + branches_url: string; + /** Format: uri */ + tags_url: string; + blobs_url: string; + git_tags_url: string; + git_refs_url: string; + trees_url: string; + statuses_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + commits_url: string; + git_commits_url: string; + comments_url: string; + issue_comment_url: string; + contents_url: string; + compare_url: string; + /** Format: uri */ + merges_url: string; + archive_url: string; + /** Format: uri */ + downloads_url: string; + issues_url: string; + pulls_url: string; + milestones_url: string; + notifications_url: string; + labels_url: string; + releases_url: string; + /** Format: uri */ + deployments_url: string; + git_url: string; + ssh_url: string; + clone_url: string; + /** Format: uri */ + svn_url: string; + forks: number; + open_issues: number; + watchers: number; + topics?: string[]; + /** Format: uri */ + mirror_url: string | null; + has_issues: boolean; + has_projects: boolean; + has_pages: boolean; + has_wiki: boolean; + has_downloads: boolean; + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** @description The repository visibility: public, private, or internal. */ + visibility?: string; + license: components["schemas"]["nullable-license-simple"]; + permissions?: { + admin: boolean; + maintain?: boolean; + push: boolean; + triage?: boolean; + pull: boolean; + }; + text_matches?: components["schemas"]["search-result-text-matches"]; + temp_clone_token?: string; + allow_merge_commit?: boolean; + allow_squash_merge?: boolean; + allow_rebase_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_forking?: boolean; + is_template?: boolean; + }; + /** + * Topic Search Result Item + * @description Topic Search Result Item + */ + "topic-search-result-item": { + name: string; + display_name: string | null; + short_description: string | null; + description: string | null; + created_by: string | null; + released: string | null; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + featured: boolean; + curated: boolean; + score: number; + repository_count?: number | null; + /** Format: uri */ + logo_url?: string | null; + text_matches?: components["schemas"]["search-result-text-matches"]; + related?: + | { + topic_relation?: { + id?: number; + name?: string; + topic_id?: number; + relation_type?: string; + }; + }[] + | null; + aliases?: + | { + topic_relation?: { + id?: number; + name?: string; + topic_id?: number; + relation_type?: string; + }; + }[] + | null; + }; + /** + * User Search Result Item + * @description User Search Result Item + */ + "user-search-result-item": { + login: string; + id: number; + node_id: string; + /** Format: uri */ + avatar_url: string; + gravatar_id: string | null; + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + followers_url: string; + /** Format: uri */ + subscriptions_url: string; + /** Format: uri */ + organizations_url: string; + /** Format: uri */ + repos_url: string; + /** Format: uri */ + received_events_url: string; + type: string; + score: number; + following_url: string; + gists_url: string; + starred_url: string; + events_url: string; + public_repos?: number; + public_gists?: number; + followers?: number; + following?: number; + /** Format: date-time */ + created_at?: string; + /** Format: date-time */ + updated_at?: string; + name?: string | null; + bio?: string | null; + /** Format: email */ + email?: string | null; + location?: string | null; + site_admin: boolean; + hireable?: boolean | null; + text_matches?: components["schemas"]["search-result-text-matches"]; + blog?: string | null; + company?: string | null; + /** Format: date-time */ + suspended_at?: string | null; + }; + /** + * Private User + * @description Private User + */ + "private-user": { + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ events_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ received_events_url: string; + /** @example User */ type: string; site_admin: boolean; - starred_at?: string; - } | null; - /** GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. */ - integration: { - /** Unique identifier of the GitHub app */ - id: number; - /** The slug name of the GitHub app */ - slug?: string; - node_id: string; - owner: components["schemas"]["simple-user"] | null; - /** The name of the GitHub app */ + /** @example monalisa octocat */ + name: string | null; + /** @example GitHub */ + company: string | null; + /** @example https://github.com/blog */ + blog: string | null; + /** @example San Francisco */ + location: string | null; + /** + * Format: email + * @example octocat@github.com + */ + email: string | null; + hireable: boolean | null; + /** @example There once was... */ + bio: string | null; + /** @example monalisa */ + twitter_username?: string | null; + /** @example 2 */ + public_repos: number; + /** @example 1 */ + public_gists: number; + /** @example 20 */ + followers: number; + /** @example 0 */ + following: number; + /** + * Format: date-time + * @example 2008-01-14T04:33:35Z + */ + created_at: string; + /** + * Format: date-time + * @example 2008-01-14T04:33:35Z + */ + updated_at: string; + /** @example 81 */ + private_gists: number; + /** @example 100 */ + total_private_repos: number; + /** @example 100 */ + owned_private_repos: number; + /** @example 10000 */ + disk_usage: number; + /** @example 8 */ + collaborators: number; + /** @example true */ + two_factor_authentication: boolean; + plan?: { + collaborators: number; + name: string; + space: number; + private_repos: number; + }; + /** Format: date-time */ + suspended_at?: string | null; + business_plus?: boolean; + ldap_dn?: string; + }; + /** + * Codespaces Secret + * @description Secrets for a GitHub Codespace. + */ + "codespaces-secret": { + /** + * @description The name of the secret + * @example SECRET_NAME + */ name: string; - description: string | null; - external_url: string; - html_url: string; + /** + * Format: date-time + * @description Secret created at + */ created_at: string; + /** + * Format: date-time + * @description Secret last updated at + */ updated_at: string; - /** The set of permissions for the GitHub app */ - permissions: { - issues?: string; - checks?: string; - metadata?: string; - contents?: string; - deployments?: string; - } & { [key: string]: string }; - /** The list of events for the GitHub app */ - events: string[]; - /** The number of installations associated with the GitHub app */ - installations_count?: number; - client_id?: string; - client_secret?: string; - webhook_secret?: string; - pem?: string; - } & { [key: string]: any }; - /** Basic Error */ - "basic-error": { - message?: string; - documentation_url?: string; + /** + * @description The type of repositories in the organization that the secret is visible to + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** + * Format: uri + * @description API URL at which the list of repositories this secret is vicible can be retrieved + * @example https://api.github.com/user/secrets/SECRET_NAME/repositories + */ + selected_repositories_url: string; + }; + /** + * CodespacesUserPublicKey + * @description The public key used for setting user Codespaces' Secrets. + */ + "codespaces-user-public-key": { + /** + * @description The identifier for the key. + * @example 1234567 + */ + key_id: string; + /** + * @description The Base64 encoded public key. + * @example hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs= + */ + key: string; + }; + /** + * Fetches information about an export of a codespace. + * @description An export of a codespace. Also, latest export details for a codespace can be fetched with id = latest + */ + "codespace-export-details": { + /** + * @description State of the latest export + * @example succeeded | failed | in_progress + */ + state?: string | null; + /** + * Format: date-time + * @description Completion time of the last export operation + * @example 2021-01-01T19:01:12Z + */ + completed_at?: string | null; + /** + * @description Name of the exported branch + * @example codespace-monalisa-octocat-hello-world-g4wpq6h95q + */ + branch?: string | null; + /** + * @description Git commit SHA of the exported branch + * @example fd95a81ca01e48ede9f39c799ecbcef817b8a3b2 + */ + sha?: string | null; + /** + * @description Id for the export details + * @example latest + */ + id?: string; + /** + * @description Url for fetching export details + * @example https://api.github.com/user/codespaces/:name/exports/latest + */ + export_url?: string; + /** + * @description Web url for the exported branch + * @example https://github.com/octocat/hello-world/tree/:branch + */ + html_url?: string | null; + }; + /** + * Email + * @description Email + */ + email: { + /** + * Format: email + * @example octocat@github.com + */ + email: string; + /** @example true */ + primary: boolean; + /** @example true */ + verified: boolean; + /** @example public */ + visibility: string | null; + }; + /** + * GPG Key + * @description A unique encryption key + */ + "gpg-key": { + /** @example 3 */ + id: number; + /** @example Octocat's GPG Key */ + name?: string | null; + primary_key_id: number | null; + /** @example 3262EFF25BA0D270 */ + key_id: string; + /** @example xsBNBFayYZ... */ + public_key: string; + /** + * @example [ + * { + * "email": "octocat@users.noreply.github.com", + * "verified": true + * } + * ] + */ + emails: { + email?: string; + verified?: boolean; + }[]; + /** + * @example [ + * { + * "id": 4, + * "primary_key_id": 3, + * "key_id": "4A595D4C72EE49C7", + * "public_key": "zsBNBFayYZ...", + * "emails": [], + * "subkeys": [], + * "can_sign": false, + * "can_encrypt_comms": true, + * "can_encrypt_storage": true, + * "can_certify": false, + * "created_at": "2016-03-24T11:31:04-06:00", + * "expires_at": null, + * "revoked": false + * } + * ] + */ + subkeys: { + id?: number; + primary_key_id?: number; + key_id?: string; + public_key?: string; + emails?: unknown[]; + subkeys?: unknown[]; + can_sign?: boolean; + can_encrypt_comms?: boolean; + can_encrypt_storage?: boolean; + can_certify?: boolean; + created_at?: string; + expires_at?: string | null; + raw_key?: string | null; + revoked?: boolean; + }[]; + /** @example true */ + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + /** @example true */ + can_certify: boolean; + /** + * Format: date-time + * @example 2016-03-24T11:31:04-06:00 + */ + created_at: string; + /** Format: date-time */ + expires_at: string | null; + /** @example true */ + revoked: boolean; + raw_key: string | null; + }; + /** + * Key + * @description Key + */ + key: { + key: string; + id: number; + url: string; + title: string; + /** Format: date-time */ + created_at: string; + verified: boolean; + read_only: boolean; + }; + /** Marketplace Account */ + "marketplace-account": { + /** Format: uri */ + url: string; + id: number; + type: string; + node_id?: string; + login: string; + /** Format: email */ + email?: string | null; + /** Format: email */ + organization_billing_email?: string | null; + }; + /** + * User Marketplace Purchase + * @description User Marketplace Purchase + */ + "user-marketplace-purchase": { + /** @example monthly */ + billing_cycle: string; + /** + * Format: date-time + * @example 2017-11-11T00:00:00Z + */ + next_billing_date: string | null; + unit_count: number | null; + /** @example true */ + on_free_trial: boolean; + /** + * Format: date-time + * @example 2017-11-11T00:00:00Z + */ + free_trial_ends_on: string | null; + /** + * Format: date-time + * @example 2017-11-02T01:12:12Z + */ + updated_at: string | null; + account: components["schemas"]["marketplace-account"]; + plan: components["schemas"]["marketplace-listing-plan"]; + }; + /** + * Starred Repository + * @description Starred Repository + */ + "starred-repository": { + /** Format: date-time */ + starred_at: string; + repo: components["schemas"]["repository"]; + }; + /** + * Hovercard + * @description Hovercard + */ + hovercard: { + contexts: { + message: string; + octicon: string; + }[]; + }; + /** + * Key Simple + * @description Key Simple + */ + "key-simple": { + id: number; + key: string; + }; + }; + responses: { + /** Resource not found */ + not_found: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** Validation failed */ + validation_failed_simple: { + content: { + "application/json": components["schemas"]["validation-error-simple"]; + }; + }; + /** Bad Request */ + bad_request: { + content: { + "application/json": components["schemas"]["basic-error"]; + "application/scim+json": components["schemas"]["scim-error"]; + }; + }; + /** Validation failed */ + validation_failed: { + content: { + "application/json": components["schemas"]["validation-error"]; + }; + }; + /** Accepted */ + accepted: { + content: { + "application/json": { [key: string]: unknown }; + }; + }; + /** Forbidden */ + forbidden: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** Requires authentication */ + requires_authentication: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** Not modified */ + not_modified: unknown; + /** Gone */ + gone: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** Response */ + actions_runner_labels: { + content: { + "application/json": { + total_count: number; + labels: components["schemas"]["runner-label"][]; + }; + }; + }; + /** Response */ + actions_runner_labels_readonly: { + content: { + "application/json": { + total_count: number; + labels: components["schemas"]["runner-label"][]; + }; + }; + }; + /** Response if GitHub Advanced Security is not enabled for this repository */ + code_scanning_forbidden_read: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** Service unavailable */ + service_unavailable: { + content: { + "application/json": { + code?: string; + message?: string; + documentation_url?: string; + }; + }; + }; + /** Forbidden Gist */ + forbidden_gist: { + content: { + "application/json": { + block?: { + reason?: string; + created_at?: string; + html_url?: string | null; + }; + message?: string; + documentation_url?: string; + }; + }; + }; + /** Moved permanently */ + moved_permanently: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** Conflict */ + conflict: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** Internal Error */ + internal_error: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** Temporary Redirect */ + temporary_redirect: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** Response if the repository is archived or if github advanced security is not enabled for this repository */ + code_scanning_forbidden_write: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** Found */ + found: unknown; + /** A header with no content is returned. */ + no_content: unknown; + /** Resource not found */ + scim_not_found: { + content: { + "application/json": components["schemas"]["scim-error"]; + "application/scim+json": components["schemas"]["scim-error"]; + }; + }; + /** Forbidden */ + scim_forbidden: { + content: { + "application/json": components["schemas"]["scim-error"]; + "application/scim+json": components["schemas"]["scim-error"]; + }; + }; + /** Bad Request */ + scim_bad_request: { + content: { + "application/json": components["schemas"]["scim-error"]; + "application/scim+json": components["schemas"]["scim-error"]; + }; + }; + /** Too Many Requests */ + scim_too_many_requests: { + content: { + "application/json": components["schemas"]["scim-error"]; + "application/scim+json": components["schemas"]["scim-error"]; + }; + }; + /** Internal Error */ + scim_internal_error: { + content: { + "application/json": components["schemas"]["scim-error"]; + "application/scim+json": components["schemas"]["scim-error"]; + }; + }; + /** Conflict */ + scim_conflict: { + content: { + "application/json": components["schemas"]["scim-error"]; + "application/scim+json": components["schemas"]["scim-error"]; + }; + }; + }; + parameters: { + /** @description The number of results per page (max 100). */ + "per-page": number; + /** @description Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the `link` header for the next and previous page cursors. */ + cursor: string; + "delivery-id": number; + /** @description Page number of the results to fetch. */ + page: number; + /** @description Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since: string; + /** @description The unique identifier of the installation. */ + "installation-id": number; + /** @description The unique identifier of the grant. */ + "grant-id": number; + /** @description The client ID of the GitHub app. */ + "client-id": string; + "app-slug": string; + /** @description The client ID of the OAuth app. */ + "oauth-client-id": string; + /** @description The unique identifier of the authorization. */ + "authorization-id": number; + /** @description The slug version of the enterprise name or the login of an organization. */ + "enterprise-or-org": string; + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: string; + /** @description The unique identifier of the organization. */ + "org-id": number; + /** @description Only return runner groups that are allowed to be used by this organization. */ + "visible-to-organization": string; + /** @description Unique identifier of the self-hosted runner group. */ + "runner-group-id": number; + /** @description Unique identifier of the self-hosted runner. */ + "runner-id": number; + /** @description The name of a self-hosted runner's custom label. */ + "runner-label-name": string; + /** @description A search phrase. For more information, see [Searching the audit log](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization#searching-the-audit-log). */ + "audit-log-phrase": string; + /** + * @description The event types to include: + * + * - `web` - returns web (non-Git) events. + * - `git` - returns Git events. + * - `all` - returns both web and Git events. + * + * The default is `web`. + */ + "audit-log-include": "web" | "git" | "all"; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ + "audit-log-after": string; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ + "audit-log-before": string; + /** + * @description The order of audit log events. To list newest events first, specify `desc`. To list oldest events first, specify `asc`. + * + * The default is `desc`. + */ + "audit-log-order": "desc" | "asc"; + /** @description The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both. */ + "tool-name": components["schemas"]["code-scanning-analysis-tool-name"]; + /** @description The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */ + "tool-guid": components["schemas"]["code-scanning-analysis-tool-guid"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ + "pagination-before": string; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ + "pagination-after": string; + /** @description The direction to sort the results by. */ + direction: "asc" | "desc"; + /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ + "secret-scanning-alert-state": "open" | "resolved"; + /** + * @description A comma-separated list of secret types to return. By default all secret types are returned. + * See "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)" + * for a complete list of secret types. + */ + "secret-scanning-alert-secret-type": string; + /** @description A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`. */ + "secret-scanning-alert-resolution": string; + /** @description The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved. */ + "secret-scanning-alert-sort": "created" | "updated"; + /** @description The unique identifier of the gist. */ + "gist-id": string; + /** @description The unique identifier of the comment. */ + "comment-id": number; + /** @description A list of comma separated label names. Example: `bug,ui,@high` */ + labels: string; + /** @description account_id parameter */ + "account-id": number; + /** @description The unique identifier of the plan. */ + "plan-id": number; + /** @description The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to. */ + sort: "created" | "updated"; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository. The name is not case sensitive. */ + repo: string; + /** @description If `true`, show notifications marked as read. */ + all: boolean; + /** @description If `true`, only shows notifications in which the user is directly participating or mentioned. */ + participating: boolean; + /** @description Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + before: string; + /** @description The unique identifier of the pull request thread. */ + "thread-id": number; + /** @description An organization ID. Only return organizations with an ID greater than this ID. */ + "since-org": number; + /** @description The organization name. The name is not case sensitive. */ + org: string; + /** @description The unique identifier of the repository. */ + "repository-id": number; + /** @description Only return runner groups that are allowed to be used by this repository. */ + "visible-to-repository": string; + /** @description The name of the secret. */ + "secret-name": string; + /** @description The handle for the GitHub user account. */ + username: string; + /** @description The unique identifier of the group. */ + "group-id": number; + /** @description The unique identifier of the hook. */ + "hook-id": number; + /** @description The unique identifier of the invitation. */ + "invitation-id": number; + /** @description The name of the codespace. */ + "codespace-name": string; + /** @description The unique identifier of the migration. */ + "migration-id": number; + /** @description repo_name parameter */ + "repo-name": string; + /** @description The selected visibility of the packages. Only `container` package_types currently support `internal` visibility properly. For other ecosystems `internal` is synonymous with `private`. This parameter is optional and only filters an existing result set. */ + "package-visibility": "public" | "private" | "internal"; + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + "package-type": + | "npm" + | "maven" + | "rubygems" + | "docker" + | "nuget" + | "container"; + /** @description The name of the package. */ + "package-name": string; + /** @description Unique identifier of the package version. */ + "package-version-id": number; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. To receive an initial cursor on your first request, include an empty "before" query string. */ + "secret-scanning-pagination-before-org-repo": string; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. To receive an initial cursor on your first request, include an empty "after" query string. */ + "secret-scanning-pagination-after-org-repo": string; + /** @description The slug of the team name. */ + "team-slug": string; + /** @description The number that identifies the discussion. */ + "discussion-number": number; + /** @description The number that identifies the comment. */ + "comment-number": number; + /** @description The unique identifier of the reaction. */ + "reaction-id": number; + /** @description The unique identifier of the project. */ + "project-id": number; + /** @description The unique identifier of the card. */ + "card-id": number; + /** @description The unique identifier of the column. */ + "column-id": number; + /** @description The unique identifier of the artifact. */ + "artifact-id": number; + /** @description The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ + "git-ref": components["schemas"]["code-scanning-ref"]; + /** @description An explicit key or prefix for identifying the cache */ + "actions-cache-key": string; + /** @description The property to sort the results by. `created_at` means when the cache was created. `last_accessed_at` means when the cache was last accessed. `size_in_bytes` is the size of the cache in bytes. */ + "actions-cache-list-sort": + | "created_at" + | "last_accessed_at" + | "size_in_bytes"; + /** @description A key for identifying the cache. */ + "actions-cache-key-required": string; + /** @description The unique identifier of the GitHub Actions cache. */ + "cache-id": number; + /** @description The unique identifier of the job. */ + "job-id": number; + /** @description Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. */ + actor: string; + /** @description Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */ + "workflow-run-branch": string; + /** @description Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://docs.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */ + event: string; + /** @description Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`. For a list of the possible `status` and `conclusion` options, see "[Create a check run](https://docs.github.com/rest/reference/checks#create-a-check-run)." */ + "workflow-run-status": + | "completed" + | "action_required" + | "cancelled" + | "failure" + | "neutral" + | "skipped" + | "stale" + | "success" + | "timed_out" + | "in_progress" + | "queued" + | "requested" + | "waiting"; + /** @description Returns workflow runs created within the given date-time range. For more information on the syntax, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ + created: string; + /** @description If `true` pull requests are omitted from the response (empty array). */ + "exclude-pull-requests": boolean; + /** @description Returns workflow runs with the `check_suite_id` that you specify. */ + "workflow-run-check-suite-id": number; + /** @description The unique identifier of the workflow run. */ + "run-id": number; + /** @description The attempt number of the workflow run. */ + "attempt-number": number; + /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ + "workflow-id": number | string; + /** @description The unique identifier of the autolink. */ + "autolink-id": number; + /** @description The name of the branch. */ + branch: string; + /** @description The unique identifier of the check run. */ + "check-run-id": number; + /** @description The unique identifier of the check suite. */ + "check-suite-id": number; + /** @description Returns check runs with the specified `name`. */ + "check-name": string; + /** @description Returns check runs with the specified `status`. */ + status: "queued" | "in_progress" | "completed"; + /** @description The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + "alert-number": components["schemas"]["alert-number"]; + /** @description The SHA of the commit. */ + "commit-sha": string; + /** @description The full path, relative to the repository root, of the dependency manifest file. */ + "manifest-path": string; + /** @description deployment_id parameter */ + "deployment-id": number; + /** @description The name of the environment */ + "environment-name": string; + /** @description A user ID. Only return users with an ID greater than this ID. */ + "since-user": number; + /** @description The number that identifies the issue. */ + "issue-number": number; + /** @description The unique identifier of the key. */ + "key-id": number; + /** @description The number that identifies the milestone. */ + "milestone-number": number; + /** @description The number that identifies the pull request. */ + "pull-number": number; + /** @description The unique identifier of the review. */ + "review-id": number; + /** @description The unique identifier of the asset. */ + "asset-id": number; + /** @description The unique identifier of the release. */ + "release-id": number; + /** @description The unique identifier of the tag protection. */ + "tag-protection-id": number; + /** @description The time frame to display results for. */ + per: "" | "day" | "week"; + /** @description A repository ID. Only return repositories with an ID greater than this ID. */ + "since-repo": number; + /** @description Used for pagination: the index of the first result to return. */ + "start-index": number; + /** @description Used for pagination: the number of results to return. */ + count: number; + /** @description Identifier generated by the GitHub SCIM endpoint. */ + "scim-group-id": string; + /** @description The unique identifier of the SCIM user. */ + "scim-user-id": string; + /** @description Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ + order: "desc" | "asc"; + /** @description The unique identifier of the team. */ + "team-id": number; + /** @description ID of the Repository to filter on */ + "repository-id-in-query": number; + /** @description The ID of the export operation, or `latest`. Currently only `latest` is currently supported. */ + "export-id": string; + /** @description The unique identifier of the GPG key. */ + "gpg-key-id": number; + }; + headers: { + link?: string; + "content-type"?: string; + "x-common-marker-version"?: string; + "x-rate-limit-limit"?: number; + "x-rate-limit-remaining"?: number; + "x-rate-limit-reset"?: number; + location?: string; + }; +} + +export interface operations { + /** Get Hypermedia links to resources accessible in GitHub's REST API */ + "meta/root": { + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["root"]; + }; + }; + }; + }; + /** + * Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the `installations_count` in the response. For more details about your app's installations, see the "[List installations for the authenticated app](https://docs.github.com/rest/reference/apps#list-installations-for-the-authenticated-app)" endpoint. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-authenticated": { + parameters: {}; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["integration"]; + }; + }; + }; + }; + /** Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://docs.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/). When you create a GitHub App with the manifest flow, you receive a temporary `code` used to retrieve the GitHub App's `id`, `pem` (private key), and `webhook_secret`. */ + "apps/create-from-manifest": { + parameters: { + path: { + code: string; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["integration"] & + ({ + client_id: string; + client_secret: string; + webhook_secret: string | null; + pem: string; + } & { [key: string]: unknown }); + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Returns the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-webhook-config-for-app": { + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; }; - /** Validation Error Simple */ - "validation-error-simple": { - message: string; - documentation_url: string; - errors?: string[]; + }; + /** + * Updates the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/update-webhook-config-for-app": { + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; }; - /** The URL to which the payloads will be delivered. */ - "webhook-config-url": string; - /** The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`. */ - "webhook-config-content-type": string; - /** If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/webhooks/event-payloads/#delivery-headers). */ - "webhook-config-secret": string; - /** Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.** */ - "webhook-config-insecure-ssl": string; - /** Configuration object of the webhook */ - "webhook-config": { - url?: components["schemas"]["webhook-config-url"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - secret?: components["schemas"]["webhook-config-secret"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + requestBody: { + content: { + "application/json": { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + }; }; - /** An enterprise account */ - enterprise: { - /** A short description of the enterprise. */ - description?: string | null; - html_url: string; - /** The enterprise's website URL. */ - website_url?: string | null; - /** Unique identifier of the enterprise */ - id: number; - node_id: string; - /** The name of the enterprise. */ - name: string; - /** The slug url identifier for the enterprise. */ - slug: string; - created_at: string | null; - updated_at: string | null; - avatar_url: string; + }; + /** + * Returns a list of webhook deliveries for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/list-webhook-deliveries": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the `link` header for the next and previous page cursors. */ + cursor?: components["parameters"]["cursor"]; + }; }; - /** Installation */ - installation: { - /** The ID of the installation. */ - id: number; - account: - | (Partial & - Partial) - | null; - /** Describe whether all repositories have been selected or there's a selection involved */ - repository_selection: "all" | "selected"; - access_tokens_url: string; - repositories_url: string; - html_url: string; - app_id: number; - /** The ID of the user or organization this token is being scoped to. */ - target_id: number; - target_type: string; - permissions: { - deployments?: string; - checks?: string; - metadata?: string; - contents?: string; - pull_requests?: string; - statuses?: string; - issues?: string; - organization_administration?: string; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["hook-delivery-item"][]; + }; }; - events: string[]; - created_at: string; - updated_at: string; - single_file_name: string | null; - has_multiple_single_files?: boolean; - single_file_paths?: string[]; - app_slug: string; - suspended_by?: components["schemas"]["simple-user"] | null; - suspended_at?: string | null; - contact_email?: string | null; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; }; - /** The permissions granted to the user-to-server access token. */ - "app-permissions": { - /** The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. Can be one of: `read` or `write`. */ - actions?: "read" | "write"; - /** The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. Can be one of: `read` or `write`. */ - administration?: "read" | "write"; - /** The level of permission to grant the access token for checks on code. Can be one of: `read` or `write`. */ - checks?: "read" | "write"; - /** The level of permission to grant the access token for notification of content references and creation content attachments. Can be one of: `read` or `write`. */ - content_references?: "read" | "write"; - /** The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. Can be one of: `read` or `write`. */ - contents?: "read" | "write"; - /** The level of permission to grant the access token for deployments and deployment statuses. Can be one of: `read` or `write`. */ - deployments?: "read" | "write"; - /** The level of permission to grant the access token for managing repository environments. Can be one of: `read` or `write`. */ - environments?: "read" | "write"; - /** The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. Can be one of: `read` or `write`. */ - issues?: "read" | "write"; - /** The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. Can be one of: `read` or `write`. */ - metadata?: "read" | "write"; - /** The level of permission to grant the access token for packages published to GitHub Packages. Can be one of: `read` or `write`. */ - packages?: "read" | "write"; - /** The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. Can be one of: `read` or `write`. */ - pages?: "read" | "write"; - /** The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. Can be one of: `read` or `write`. */ - pull_requests?: "read" | "write"; - /** The level of permission to grant the access token to manage the post-receive hooks for a repository. Can be one of: `read` or `write`. */ - repository_hooks?: "read" | "write"; - /** The level of permission to grant the access token to manage repository projects, columns, and cards. Can be one of: `read`, `write`, or `admin`. */ - repository_projects?: "read" | "write" | "admin"; - /** The level of permission to grant the access token to view and manage secret scanning alerts. Can be one of: `read` or `write`. */ - secret_scanning_alerts?: "read" | "write"; - /** The level of permission to grant the access token to manage repository secrets. Can be one of: `read` or `write`. */ - secrets?: "read" | "write"; - /** The level of permission to grant the access token to view and manage security events like code scanning alerts. Can be one of: `read` or `write`. */ - security_events?: "read" | "write"; - /** The level of permission to grant the access token to manage just a single file. Can be one of: `read` or `write`. */ - single_file?: "read" | "write"; - /** The level of permission to grant the access token for commit statuses. Can be one of: `read` or `write`. */ - statuses?: "read" | "write"; - /** The level of permission to grant the access token to retrieve Dependabot alerts. Can be one of: `read`. */ - vulnerability_alerts?: "read"; - /** The level of permission to grant the access token to update GitHub Actions workflow files. Can be one of: `write`. */ - workflows?: "write"; - /** The level of permission to grant the access token for organization teams and members. Can be one of: `read` or `write`. */ - members?: "read" | "write"; - /** The level of permission to grant the access token to manage access to an organization. Can be one of: `read` or `write`. */ - organization_administration?: "read" | "write"; - /** The level of permission to grant the access token to manage the post-receive hooks for an organization. Can be one of: `read` or `write`. */ - organization_hooks?: "read" | "write"; - /** The level of permission to grant the access token for viewing an organization's plan. Can be one of: `read`. */ - organization_plan?: "read"; - /** The level of permission to grant the access token to manage organization projects, columns, and cards. Can be one of: `read`, `write`, or `admin`. */ - organization_projects?: "read" | "write" | "admin"; - /** The level of permission to grant the access token to manage organization secrets. Can be one of: `read` or `write`. */ - organization_secrets?: "read" | "write"; - /** The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. Can be one of: `read` or `write`. */ - organization_self_hosted_runners?: "read" | "write"; - /** The level of permission to grant the access token to view and manage users blocked by the organization. Can be one of: `read` or `write`. */ - organization_user_blocking?: "read" | "write"; - /** The level of permission to grant the access token to manage team discussions and related comments. Can be one of: `read` or `write`. */ - team_discussions?: "read" | "write"; + }; + /** + * Returns a delivery for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-webhook-delivery": { + parameters: { + path: { + delivery_id: components["parameters"]["delivery-id"]; + }; }; - /** License Simple */ - "license-simple": { - key: string; - name: string; - url: string | null; - spdx_id: string | null; - node_id: string; - html_url?: string; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["hook-delivery"]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; }; - /** A git repository */ - repository: { - /** Unique identifier of the repository */ - id: number; - node_id: string; - /** The name of the repository. */ - name: string; - full_name: string; - license: components["schemas"]["license-simple"] | null; - forks: number; - permissions?: { - admin: boolean; - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; + }; + /** + * Redeliver a delivery for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/redeliver-webhook-delivery": { + parameters: { + path: { + delivery_id: components["parameters"]["delivery-id"]; }; - owner: components["schemas"]["simple-user"] | null; - /** Whether the repository is private or public. */ - private: boolean; - html_url: string; - description: string | null; - fork: boolean; - url: string; - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - contributors_url: string; - deployments_url: string; - downloads_url: string; - events_url: string; - forks_url: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - git_url: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - languages_url: string; - merges_url: string; - milestones_url: string; - notifications_url: string; - pulls_url: string; - releases_url: string; - ssh_url: string; - stargazers_url: string; - statuses_url: string; - subscribers_url: string; - subscription_url: string; - tags_url: string; - teams_url: string; - trees_url: string; - clone_url: string; - mirror_url: string | null; - hooks_url: string; - svn_url: string; - homepage: string | null; - language: string | null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - /** The default branch of the repository. */ - default_branch: string; - open_issues_count: number; - /** Whether this repository acts as a template that can be used to generate new repositories. */ - is_template?: boolean; - topics?: string[]; - /** Whether issues are enabled. */ - has_issues: boolean; - /** Whether projects are enabled. */ - has_projects: boolean; - /** Whether the wiki is enabled. */ - has_wiki: boolean; - has_pages: boolean; - /** Whether downloads are enabled. */ - has_downloads: boolean; - /** Whether the repository is archived. */ - archived: boolean; - /** Returns whether or not this repository disabled. */ - disabled: boolean; - /** The repository visibility: public, private, or internal. */ - visibility?: string; - pushed_at: string | null; - created_at: string | null; - updated_at: string | null; - /** Whether to allow rebase merges for pull requests. */ - allow_rebase_merge?: boolean; - template_repository?: { - id?: number; - node_id?: string; - name?: string; - full_name?: string; - owner?: { - 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; + }; + responses: { + 202: components["responses"]["accepted"]; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * + * The permissions the installation has are included under the `permissions` key. + */ + "apps/list-installations": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + outdated?: string; + }; + }; + responses: { + /** The permissions the installation has are included under the `permissions` key. */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["installation"][]; }; - private?: boolean; - html_url?: string; - description?: string; - fork?: boolean; - url?: string; - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - downloads_url?: string; - events_url?: string; - forks_url?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - notifications_url?: string; - pulls_url?: string; - releases_url?: string; - ssh_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - clone_url?: string; - mirror_url?: string; - hooks_url?: string; - svn_url?: string; - homepage?: string; - language?: string; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - pushed_at?: string; - created_at?: string; - updated_at?: string; - permissions?: { - admin?: boolean; - push?: boolean; - pull?: boolean; + }; + }; + }; + /** + * Enables an authenticated GitHub App to find an installation's information using the installation id. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-installation": { + parameters: { + path: { + /** The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["installation"]; }; - allow_rebase_merge?: boolean; - temp_clone_token?: string; - allow_squash_merge?: boolean; - delete_branch_on_merge?: boolean; - allow_merge_commit?: boolean; - subscribers_count?: number; - network_count?: number; - } | null; - temp_clone_token?: string; - /** Whether to allow squash merges for pull requests. */ - allow_squash_merge?: boolean; - /** Whether to delete head branches when pull requests are merged */ - delete_branch_on_merge?: boolean; - /** Whether to allow merge commits for pull requests. */ - allow_merge_commit?: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; - starred_at?: string; + }; + 404: components["responses"]["not_found"]; }; - /** Authentication token for a GitHub App installed on a user or org. */ - "installation-token": { - token: string; - expires_at: string; - permissions?: { - issues?: string; - contents?: string; - metadata?: string; - single_file?: string; + }; + /** + * Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/rest/reference/apps/#suspend-an-app-installation)" endpoint. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/delete-installation": { + parameters: { + path: { + /** The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; }; - repository_selection?: "all" | "selected"; - repositories?: components["schemas"]["repository"][]; - single_file?: string; - has_multiple_single_files?: boolean; - single_file_paths?: string[]; }; - /** Validation Error */ - "validation-error": { - message: string; - documentation_url: string; - errors?: { - resource?: string; - field?: string; - message?: string; - code: string; - index?: number; - value?: (string | null) | (number | null) | (string[] | null); - }[]; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; }; - /** The authorization associated with an OAuth Access. */ - "application-grant": { - id: number; - url: string; - app: { - client_id: string; - name: string; - url: string; + }; + /** + * Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/create-installation-access-token": { + parameters: { + path: { + /** The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["installation-token"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description List of repository names that the token should have access to */ + repositories?: string[]; + /** + * @description List of repository IDs that the token should have access to + * @example [ + * 1 + * ] + */ + repository_ids?: number[]; + permissions?: components["schemas"]["app-permissions"]; + }; + }; + }; + }; + /** + * Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/suspend-installation": { + parameters: { + path: { + /** The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Removes a GitHub App installation suspension. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/unsuspend-installation": { + parameters: { + path: { + /** The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * You can use this API to list the set of OAuth applications that have been granted access to your account. Unlike the [list your authorizations](https://docs.github.com/rest/reference/oauth-authorizations#list-your-authorizations) API, this API does not manage individual tokens. This API will return one entry for each OAuth application that has been granted access to your account, regardless of the number of tokens an application has generated for your user. The list of OAuth applications returned matches what is shown on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). The `scopes` returned are the union of scopes authorized for the application. For example, if an application has one token with `repo` scope and another token with `user` scope, the grant will return `["repo", "user"]`. + */ + "oauth-authorizations/list-grants": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The client ID of your GitHub app. */ + client_id?: string; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["application-grant"][]; + }; }; - created_at: string; - updated_at: string; - scopes: string[]; - user?: components["schemas"]["simple-user"] | null; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; - "scoped-installation": { - permissions: components["schemas"]["app-permissions"]; - /** Describe whether all repositories have been selected or there's a selection involved */ - repository_selection: "all" | "selected"; - single_file_name: string | null; - has_multiple_single_files?: boolean; - single_file_paths?: string[]; - repositories_url: string; - account: components["schemas"]["simple-user"]; + }; + /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + "oauth-authorizations/get-grant": { + parameters: { + path: { + /** The unique identifier of the grant. */ + grant_id: components["parameters"]["grant-id"]; + }; }; - /** The authorization for an OAuth app, GitHub App, or a Personal Access Token. */ - authorization: { - id: number; - url: string; - /** A list of scopes that this authorization is in. */ - scopes: string[] | null; - token: string; - token_last_eight: string | null; - hashed_token: string | null; - app: { - client_id: string; - name: string; - url: string; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["application-grant"]; + }; }; - note: string | null; - note_url: string | null; - updated_at: string; - created_at: string; - fingerprint: string | null; - user?: components["schemas"]["simple-user"] | null; - installation?: components["schemas"]["scoped-installation"] | null; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; }; - /** Code Of Conduct */ - "code-of-conduct": { - key: string; - name: string; - url: string; - body?: string; - html_url: string | null; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for your user. Once deleted, the application has no access to your account and is no longer listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). + */ + "oauth-authorizations/delete-grant": { + parameters: { + path: { + /** The unique identifier of the grant. */ + grant_id: components["parameters"]["grant-id"]; + }; }; - /** Content Reference attachments allow you to provide context around URLs posted in comments */ - "content-reference-attachment": { - /** The ID of the attachment */ - id: number; - /** The title of the attachment */ - title: string; - /** The body of the attachment */ - body: string; - /** The node_id of the content attachment */ - node_id?: string; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; }; - /** The policy that controls the organizations in the enterprise that are allowed to run GitHub Actions. Can be one of: `all`, `none`, or `selected`. */ - "enabled-organizations": "all" | "none" | "selected"; - /** The permissions policy that controls the actions that are allowed to run. Can be one of: `all`, `local_only`, or `selected`. */ - "allowed-actions": "all" | "local_only" | "selected"; - /** The API URL to use to get or set the actions that are allowed to run, when `allowed_actions` is set to `selected`. */ - "selected-actions-url": string; - "actions-enterprise-permissions": { - enabled_organizations: components["schemas"]["enabled-organizations"]; - /** The API URL to use to get or set the selected organizations that are allowed to run GitHub Actions, when `enabled_organizations` is set to `selected`. */ - selected_organizations_url?: string; - allowed_actions: components["schemas"]["allowed-actions"]; - selected_actions_url?: components["schemas"]["selected-actions-url"]; + }; + /** + * OAuth application owners can revoke a grant for their OAuth application and a specific user. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted. + * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). + */ + "apps/delete-authorization": { + parameters: { + path: { + /** The client ID of the GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; }; - /** Organization Simple */ - "organization-simple": { - login: string; - id: number; - node_id: string; - url: string; - repos_url: string; - events_url: string; - hooks_url: string; - issues_url: string; - members_url: string; - public_members_url: string; - avatar_url: string; - description: string | null; + responses: { + /** Response */ + 204: never; + 422: components["responses"]["validation_failed"]; }; - "selected-actions": { - /** Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization. */ - github_owned_allowed: boolean; - /** Whether actions in GitHub Marketplace from verified creators are allowed. Set to `true` to allow all GitHub Marketplace actions by verified creators. */ - verified_allowed: boolean; - /** Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`." */ - patterns_allowed: string[]; + requestBody: { + content: { + "application/json": { + /** @description The OAuth access token used to authenticate to the GitHub API. */ + access_token: string; + }; + }; }; - "runner-groups-enterprise": { - id: number; - name: string; - visibility: string; - default: boolean; - selected_organizations_url?: string; - runners_url: string; - allows_public_repositories: boolean; + }; + /** OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) to use this endpoint, where the username is the OAuth application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. */ + "apps/check-token": { + parameters: { + path: { + /** The client ID of the GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; }; - /** A self hosted runner */ - runner: { - /** The id of the runner. */ - id: number; - /** The name of the runner. */ - name: string; - /** The Operating System of the runner. */ - os: string; - /** The status of the runner. */ - status: string; - busy: boolean; - labels: { - /** Unique identifier of the label. */ - id?: number; - /** Name of the label. */ - name?: string; - /** The type of label. Read-only labels are applied automatically when the runner is configured. */ - type?: "read-only" | "custom"; - }[]; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; - /** Runner Application */ - "runner-application": { - os: string; - architecture: string; - download_url: string; - filename: string; + requestBody: { + content: { + "application/json": { + /** @description The access_token of the OAuth application. */ + access_token: string; + }; + }; }; - /** Authentication Token */ - "authentication-token": { - /** The token used for authentication */ - token: string; - /** The time this token expires */ - expires_at: string; - permissions?: { [key: string]: any }; - /** The repositories this token has access to */ - repositories?: components["schemas"]["repository"][]; - single_file?: string | null; - /** Describe whether all repositories have been selected or there's a selection involved */ - repository_selection?: "all" | "selected"; + }; + /** OAuth application owners can revoke a single token for an OAuth application. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. */ + "apps/delete-token": { + parameters: { + path: { + /** The client ID of the GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; }; - "audit-log-event": { - /** The time the audit log event occurred, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). */ - "@timestamp"?: number; - /** The name of the action that was performed, for example `user.login` or `repo.create`. */ - action?: string; - active?: boolean; - active_was?: boolean; - /** The actor who performed the action. */ - actor?: string; - /** The username of the account being blocked. */ - blocked_user?: string; - business?: string; - config?: any[]; - config_was?: any[]; - content_type?: string; - /** The time the audit log event was recorded, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). */ - created_at?: number; - deploy_key_fingerprint?: string; - emoji?: string; - events?: any[]; - events_were?: any[]; - explanation?: string; - fingerprint?: string; - hook_id?: number; - limited_availability?: boolean; - message?: string; - name?: string; - old_user?: string; - openssh_public_key?: string; - org?: string; - previous_visibility?: string; - read_only?: boolean; - /** The name of the repository. */ - repo?: string; - /** The name of the repository. */ - repository?: string; - repository_public?: boolean; - target_login?: string; - team?: string; - /** The type of protocol (for example, HTTP or SSH) used to transfer Git data. */ - transport_protocol?: number; - /** A human readable name for the protocol (for example, HTTP or SSH) used to transfer Git data. */ - transport_protocol_name?: string; - /** The user that was affected by the action performed (if available). */ - user?: string; - /** The repository visibility, for example `public` or `private`. */ - visibility?: string; + responses: { + /** Response */ + 204: never; + 422: components["responses"]["validation_failed"]; }; - "actions-billing-usage": { - /** The sum of the free and paid GitHub Actions minutes used. */ - total_minutes_used: number; - /** The total paid GitHub Actions minutes used. */ - total_paid_minutes_used: number; - /** The amount of free GitHub Actions minutes available. */ - included_minutes: number; - minutes_used_breakdown: { - /** Total minutes used on Ubuntu runner machines. */ - UBUNTU?: number; - /** Total minutes used on macOS runner machines. */ - MACOS?: number; - /** Total minutes used on Windows runner machines. */ - WINDOWS?: number; + requestBody: { + content: { + "application/json": { + /** @description The OAuth access token used to authenticate to the GitHub API. */ + access_token: string; + }; }; }; - "packages-billing-usage": { - /** Sum of the free and paid storage space (GB) for GitHuub Packages. */ - total_gigabytes_bandwidth_used: number; - /** Total paid storage space (GB) for GitHuub Packages. */ - total_paid_gigabytes_bandwidth_used: number; - /** Free storage space (GB) for GitHub Packages. */ - included_gigabytes_bandwidth: number; - }; - "combined-billing-usage": { - /** Numbers of days left in billing cycle. */ - days_left_in_billing_cycle: number; - /** Estimated storage space (GB) used in billing cycle. */ - estimated_paid_storage_for_month: number; - /** Estimated sum of free and paid storage space (GB) used in billing cycle. */ - estimated_storage_for_month: number; + }; + /** OAuth applications can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. */ + "apps/reset-token": { + parameters: { + path: { + /** The client ID of the GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; }; - /** Actor */ - actor: { - id: number; - login: string; - display_login?: string; - gravatar_id: string | null; - url: string; - avatar_url: string; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 422: components["responses"]["validation_failed"]; }; - /** Color-coded labels help you categorize and filter your issues (just like labels in Gmail). */ - label: { - id: number; - node_id: string; - /** URL for the label */ - url: string; - /** The name of the label. */ - name: string; - description: string | null; - /** 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; + requestBody: { + content: { + "application/json": { + /** @description The access_token of the OAuth application. */ + access_token: string; + }; + }; }; - /** A collection of related issues and pull requests. */ - milestone: { - url: string; - html_url: string; - labels_url: string; - id: number; - node_id: string; - /** The number of the milestone. */ - number: number; - /** The state of the milestone. */ - state: "open" | "closed"; - /** The title of the milestone. */ - title: string; - description: string | null; - creator: components["schemas"]["simple-user"] | null; - open_issues: number; - closed_issues: number; - created_at: string; - updated_at: string; - closed_at: string | null; - due_on: string | null; + }; + /** Use a non-scoped user-to-server OAuth access token to create a repository scoped and/or permission scoped user-to-server OAuth access token. You can specify which repositories the token can access and which permissions are granted to the token. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. */ + "apps/scope-token": { + parameters: { + path: { + /** The client ID of the GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; }; - /** How the author is associated with the repository. */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** Issue Simple */ - "issue-simple": { - 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: components["schemas"]["simple-user"] | null; - labels: components["schemas"]["label"][]; - assignee: components["schemas"]["simple-user"] | null; - assignees?: components["schemas"]["simple-user"][] | null; - milestone: components["schemas"]["milestone"] | null; - locked: boolean; - active_lock_reason?: string | null; - comments: number; - pull_request?: { - merged_at?: string | null; - diff_url: string | null; - html_url: string | null; - patch_url: string | null; - url: string | null; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["authorization"]; + }; }; - closed_at: string | null; - created_at: string; - updated_at: string; - author_association: components["schemas"]["author_association"]; - body_html?: string; - body_text?: string; - timeline_url?: string; - repository?: components["schemas"]["repository"]; - performed_via_github_app?: components["schemas"]["integration"] | null; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; - "reaction-rollup": { - url: string; - total_count: number; - "+1": number; - "-1": number; - laugh: number; - confused: number; - heart: number; - hooray: number; - eyes: number; - rocket: number; + requestBody: { + content: { + "application/json": { + /** + * @description The OAuth access token used to authenticate to the GitHub API. + * @example e72e16c7e42f292c6912e7710c838347ae178b4a + */ + access_token: string; + /** + * @description The name of the user or organization to scope the user-to-server access token to. **Required** unless `target_id` is specified. + * @example octocat + */ + target?: string; + /** + * @description The ID of the user or organization to scope the user-to-server access token to. **Required** unless `target` is specified. + * @example 1 + */ + target_id?: number; + /** @description The list of repository names to scope the user-to-server access token to. `repositories` may not be specified if `repository_ids` is specified. */ + repositories?: string[]; + /** + * @description The list of repository IDs to scope the user-to-server access token to. `repository_ids` may not be specified if `repositories` is specified. + * @example [ + * 1 + * ] + */ + repository_ids?: number[]; + permissions?: components["schemas"]["app-permissions"]; + }; + }; }; - /** Comments provide a way for people to collaborate on an issue. */ - "issue-comment": { - /** Unique identifier of the issue comment */ - id: number; - node_id: string; - /** URL for the issue comment */ - url: string; - /** Contents of the issue comment */ - body?: string; - body_text?: string; - body_html?: string; - html_url: string; - user: components["schemas"]["simple-user"] | null; - created_at: string; - updated_at: string; - issue_url: string; - author_association: components["schemas"]["author_association"]; - performed_via_github_app?: components["schemas"]["integration"] | null; - reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * **Note**: The `:app_slug` is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., `https://github.com/settings/apps/:app_slug`). + * + * If the GitHub App you specify is public, you can access this endpoint without authenticating. If the GitHub App you specify is private, you must authenticate with a [personal access token](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + "apps/get-by-slug": { + parameters: { + path: { + app_slug: components["parameters"]["app-slug"]; + }; }; - /** Event */ - event: { - id: string; - type: string | null; - actor: components["schemas"]["actor"]; - repo: { - id: number; - name: string; - url: string; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["integration"]; + }; }; - org?: components["schemas"]["actor"]; - payload: { - action: string; - issue?: components["schemas"]["issue-simple"]; - comment?: components["schemas"]["issue-comment"]; - pages?: { - page_name?: string; - title?: string; - summary?: string | null; - action?: string; - sha?: string; - html_url?: string; - }[]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + "oauth-authorizations/list-authorizations": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The client ID of your GitHub app. */ + client_id?: string; }; - public: boolean; - created_at: string | null; }; - /** Hypermedia Link with Type */ - "link-with-type": { - href: string; - type: string; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["authorization"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; - /** Feed */ - feed: { - timeline_url: string; - user_url: string; - current_user_public_url?: string; - current_user_url?: string; - current_user_actor_url?: string; - current_user_organization_url?: string; - current_user_organization_urls?: string[]; - security_advisories_url?: string; - _links: { - timeline: components["schemas"]["link-with-type"]; - user: components["schemas"]["link-with-type"]; - security_advisories?: components["schemas"]["link-with-type"]; - current_user?: components["schemas"]["link-with-type"]; - current_user_public?: components["schemas"]["link-with-type"]; - current_user_actor?: components["schemas"]["link-with-type"]; - current_user_organization?: components["schemas"]["link-with-type"]; - current_user_organizations?: components["schemas"]["link-with-type"][]; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * **Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * Creates OAuth tokens using [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication). If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + * + * To create tokens for a particular OAuth application using this endpoint, you must authenticate as the user you want to create an authorization for and provide the app's client ID and secret, found on your OAuth application's settings page. If your OAuth application intends to create multiple tokens for one user, use `fingerprint` to differentiate between them. + * + * You can also create tokens on GitHub from the [personal access tokens settings](https://github.com/settings/tokens) page. Read more about these tokens in [the GitHub Help documentation](https://docs.github.com/articles/creating-an-access-token-for-command-line-use). + * + * Organizations that enforce SAML SSO require personal access tokens to be allowed. Read more about allowing tokens in [the GitHub Help documentation](https://docs.github.com/articles/about-identity-and-access-management-with-saml-single-sign-on). + */ + "oauth-authorizations/create-authorization": { + parameters: {}; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["authorization"]; + }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; }; - /** Base Gist */ - "base-gist": { - url: string; - forks_url: string; - commits_url: string; - id: string; - node_id: string; - git_pull_url: string; - git_push_url: string; - html_url: string; - files: { - [key: string]: { - filename?: string; - type?: string; - language?: string; - raw_url?: string; - size?: number; + requestBody: { + content: { + "application/json": { + /** + * @description A list of scopes that this authorization is in. + * @example [ + * "public_repo", + * "user" + * ] + */ + scopes?: string[] | null; + /** + * @description A note to remind you what the OAuth token is for. + * @example Update all gems + */ + note?: string; + /** @description A URL to remind you what app the OAuth token is for. */ + note_url?: string; + /** @description The OAuth app client key for which to create the token. */ + client_id?: string; + /** @description The OAuth app client secret for which to create the token. */ + client_secret?: string; + /** @description A unique string to distinguish an authorization from others created for the same client ID and user. */ + fingerprint?: string; }; }; - public: boolean; - created_at: string; - updated_at: string; - description: string | null; - comments: number; - user: components["schemas"]["simple-user"] | null; - comments_url: string; - owner?: components["schemas"]["simple-user"] | null; - truncated?: boolean; - forks?: { [key: string]: any }[]; - history?: { [key: string]: any }[]; }; - /** Gist Simple */ - "gist-simple": { - url?: string; - forks_url?: string; - commits_url?: string; - id?: string; - node_id?: string; - git_pull_url?: string; - git_push_url?: string; - html_url?: string; - files?: { - [key: string]: { - filename?: string; - type?: string; - language?: string; - raw_url?: string; - size?: number; - truncated?: boolean; - content?: string; - } | null; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * **Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * Creates a new authorization for the specified OAuth application, only if an authorization for that application doesn't already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one. + * + * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + * + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + */ + "oauth-authorizations/get-or-create-authorization-for-app": { + parameters: { + path: { + /** The client ID of the OAuth app. */ + client_id: components["parameters"]["oauth-client-id"]; }; - public?: boolean; - created_at?: string; - updated_at?: string; - description?: string | null; - comments?: number; - user?: string | null; - comments_url?: string; - owner?: components["schemas"]["simple-user"]; - truncated?: boolean; }; - /** A comment made to a gist. */ - "gist-comment": { - id: number; - node_id: string; - url: string; - /** The comment text. */ - body: string; - user: components["schemas"]["simple-user"] | null; - created_at: string; - updated_at: string; - author_association: components["schemas"]["author_association"]; + responses: { + /** if returning an existing token */ + 200: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; }; - /** Gist Commit */ - "gist-commit": { - url: string; - version: string; - user: components["schemas"]["simple-user"] | null; - change_status: { - total?: number; - additions?: number; - deletions?: number; + requestBody: { + content: { + "application/json": { + /** @description The OAuth app client secret for which to create the token. */ + client_secret: string; + /** + * @description A list of scopes that this authorization is in. + * @example [ + * "public_repo", + * "user" + * ] + */ + scopes?: string[] | null; + /** + * @description A note to remind you what the OAuth token is for. + * @example Update all gems + */ + note?: string; + /** @description A URL to remind you what app the OAuth token is for. */ + note_url?: string; + /** @description A unique string to distinguish an authorization from others created for the same client ID and user. */ + fingerprint?: string; + }; }; - committed_at: string; }; - /** Gitignore Template */ - "gitignore-template": { - name: string; - source: string; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * **Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * This method will create a new authorization for the specified OAuth application, only if an authorization for that application and fingerprint do not already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. `fingerprint` is a unique string to distinguish an authorization from others created for the same client ID and user. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one. + * + * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + */ + "oauth-authorizations/get-or-create-authorization-for-app-and-fingerprint": { + parameters: { + path: { + /** The client ID of the OAuth app. */ + client_id: components["parameters"]["oauth-client-id"]; + fingerprint: string; + }; }; - /** Issues are a great way to keep track of tasks, enhancements, and bugs for your projects. */ - issue: { - id: number; - node_id: string; - /** URL for the issue */ - url: string; - repository_url: string; - labels_url: string; - comments_url: string; - events_url: string; - html_url: string; - /** Number uniquely identifying the issue within its repository */ - number: number; - /** State of the issue; either 'open' or 'closed' */ - state: string; - /** Title of the issue */ - title: string; - /** Contents of the issue */ - body?: string; - user: components["schemas"]["simple-user"] | null; - /** Labels to associate with this issue; pass one or more label names to replace the set of labels on this issue; send an empty array to clear all labels from the issue; note that the labels are silently dropped for users without push access to the repository */ - labels: ( - | string - | { - id?: number; - node_id?: string; - url?: string; - name?: string; - description?: string | null; - color?: string | null; - default?: boolean; - } - )[]; - assignee: components["schemas"]["simple-user"] | null; - assignees?: components["schemas"]["simple-user"][] | null; - milestone: components["schemas"]["milestone"] | null; - locked: boolean; - active_lock_reason?: string | null; - comments: number; - pull_request?: { - merged_at?: string | null; - diff_url: string | null; - html_url: string | null; - patch_url: string | null; - url: string | null; + responses: { + /** if returning an existing token */ + 200: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["authorization"]; + }; }; - closed_at: string | null; - created_at: string; - updated_at: string; - closed_by?: components["schemas"]["simple-user"] | null; - body_html?: string; - body_text?: string; - timeline_url?: string; - repository?: components["schemas"]["repository"]; - performed_via_github_app?: components["schemas"]["integration"] | null; - author_association: components["schemas"]["author_association"]; - reactions?: components["schemas"]["reaction-rollup"]; + /** Response if returning a new token */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 422: components["responses"]["validation_failed"]; }; - /** License */ - license: { - key: string; - name: string; - spdx_id: string | null; - url: string | null; - node_id: string; - html_url: string; - description: string; - implementation: string; - permissions: string[]; - conditions: string[]; - limitations: string[]; - body: string; - featured: boolean; + requestBody: { + content: { + "application/json": { + /** @description The OAuth app client secret for which to create the token. */ + client_secret: string; + /** + * @description A list of scopes that this authorization is in. + * @example [ + * "public_repo", + * "user" + * ] + */ + scopes?: string[] | null; + /** + * @description A note to remind you what the OAuth token is for. + * @example Update all gems + */ + note?: string; + /** @description A URL to remind you what app the OAuth token is for. */ + note_url?: string; + }; + }; }; - /** Marketplace Listing Plan */ - "marketplace-listing-plan": { - url: string; - accounts_url: string; - id: number; - number: number; - name: string; - description: string; - monthly_price_in_cents: number; - yearly_price_in_cents: number; - price_model: string; - has_free_trial: boolean; - unit_name: string | null; - state: string; - bullets: string[]; + }; + /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + "oauth-authorizations/get-authorization": { + parameters: { + path: { + /** The unique identifier of the authorization. */ + authorization_id: components["parameters"]["authorization-id"]; + }; }; - /** Marketplace Purchase */ - "marketplace-purchase": { - url: string; - type: string; - id: number; - login: string; - organization_billing_email?: string; - marketplace_pending_change?: { - is_installed?: boolean; - effective_date?: string; - unit_count?: number | null; - id?: number; - plan?: components["schemas"]["marketplace-listing-plan"]; - } | null; - marketplace_purchase: { - billing_cycle?: string; - next_billing_date?: string | null; - is_installed?: boolean; - unit_count?: number | null; - on_free_trial?: boolean; - free_trial_ends_on?: string | null; - updated_at?: string; - plan?: components["schemas"]["marketplace-listing-plan"]; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["authorization"]; + }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; }; - /** Api Overview */ - "api-overview": { - verifiable_password_authentication: boolean; - ssh_key_fingerprints?: { - SHA256_RSA?: string; - SHA256_DSA?: string; + }; + /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + "oauth-authorizations/delete-authorization": { + parameters: { + path: { + /** The unique identifier of the authorization. */ + authorization_id: components["parameters"]["authorization-id"]; }; - hooks?: string[]; - web?: string[]; - api?: string[]; - git?: string[]; - pages?: string[]; - importer?: string[]; - actions?: string[]; }; - /** Minimal Repository */ - "minimal-repository": { - id: number; - node_id: string; - name: string; - full_name: string; - owner: components["schemas"]["simple-user"] | null; - private: boolean; - html_url: string; - description: string | null; - fork: boolean; - url: string; - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - contributors_url: string; - deployments_url: string; - downloads_url: string; - events_url: string; - forks_url: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - git_url?: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - languages_url: string; - merges_url: string; - milestones_url: string; - notifications_url: string; - pulls_url: string; - releases_url: string; - ssh_url?: string; - stargazers_url: string; - statuses_url: string; - subscribers_url: string; - subscription_url: string; - tags_url: string; - teams_url: string; - trees_url: string; - clone_url?: string; - mirror_url?: string | null; - hooks_url: string; - svn_url?: string; - homepage?: string | null; - language?: string | null; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - pushed_at?: string | null; - created_at?: string | null; - updated_at?: string | null; - permissions?: { - admin?: boolean; - push?: boolean; - pull?: boolean; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + * + * You can only send one of these scope keys at a time. + */ + "oauth-authorizations/update-authorization": { + parameters: { + path: { + /** The unique identifier of the authorization. */ + authorization_id: components["parameters"]["authorization-id"]; }; - template_repository?: components["schemas"]["repository"] | null; - temp_clone_token?: string; - delete_branch_on_merge?: boolean; - subscribers_count?: number; - network_count?: number; - license?: { - key?: string; - name?: string; - spdx_id?: string; - url?: string; - node_id?: string; - } | null; - forks?: number; - open_issues?: number; - watchers?: number; }; - /** Thread */ - thread: { - id: string; - repository: components["schemas"]["minimal-repository"]; - subject: { - title: string; - url: string; - latest_comment_url: string; - type: string; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["authorization"]; + }; }; - reason: string; - unread: boolean; - updated_at: string; - last_read_at: string | null; - url: string; - subscription_url: string; + 422: components["responses"]["validation_failed"]; }; - /** Thread Subscription */ - "thread-subscription": { - subscribed: boolean; - ignored: boolean; - reason: string | null; - created_at: string | null; - url: string; - thread_url?: string; - repository_url?: string; + requestBody: { + content: { + "application/json": { + /** + * @description A list of scopes that this authorization is in. + * @example [ + * "public_repo", + * "user" + * ] + */ + scopes?: string[] | null; + /** @description A list of scopes to add to this authorization. */ + add_scopes?: string[]; + /** @description A list of scopes to remove from this authorization. */ + remove_scopes?: string[]; + /** + * @description A note to remind you what the OAuth token is for. + * @example Update all gems + */ + note?: string; + /** @description A URL to remind you what app the OAuth token is for. */ + note_url?: string; + /** @description A unique string to distinguish an authorization from others created for the same client ID and user. */ + fingerprint?: string; + }; + }; }; - /** Organization Full */ - "organization-full": { - login: string; - id: number; - node_id: string; - url: string; - repos_url: string; - events_url: string; - hooks_url: string; - issues_url: string; - members_url: string; - public_members_url: string; - avatar_url: string; - description: string | null; - name?: string; - company?: string; - blog?: string; - location?: string; - email?: string; - twitter_username?: string | null; - is_verified?: boolean; - has_organization_projects: boolean; - has_repository_projects: boolean; - public_repos: number; - public_gists: number; - followers: number; - following: number; - html_url: string; - created_at: string; - type: string; - total_private_repos?: number; - owned_private_repos?: number; - private_gists?: number | null; - disk_usage?: number | null; - collaborators?: number | null; - billing_email?: string | null; - plan?: { - name: string; - space: number; - private_repos: number; - filled_seats?: number; - seats?: number; + }; + "codes-of-conduct/get-all-codes-of-conduct": { + parameters: {}; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["code-of-conduct"][]; + }; }; - default_repository_permission?: string | null; - members_can_create_repositories?: boolean | null; - two_factor_requirement_enabled?: boolean | null; - members_allowed_repository_creation_type?: string; - members_can_create_public_repositories?: boolean; - members_can_create_private_repositories?: boolean; - members_can_create_internal_repositories?: boolean; - members_can_create_pages?: boolean; - updated_at: string; + 304: components["responses"]["not_modified"]; }; - /** The policy that controls the repositories in the organization that are allowed to run GitHub Actions. Can be one of: `all`, `none`, or `selected`. */ - "enabled-repositories": "all" | "none" | "selected"; - "actions-organization-permissions": { - enabled_repositories: components["schemas"]["enabled-repositories"]; - /** The API URL to use to get or set the selected repositories that are allowed to run GitHub Actions, when `enabled_repositories` is set to `selected`. */ - selected_repositories_url?: string; - allowed_actions: components["schemas"]["allowed-actions"]; - selected_actions_url?: components["schemas"]["selected-actions-url"]; + }; + "codes-of-conduct/get-conduct-code": { + parameters: { + path: { + key: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["code-of-conduct"]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; }; - "runner-groups-org": { - id: number; - name: string; - visibility: string; - default: boolean; - /** Link to the selected repositories resource for this runner group. Not present unless visibility was set to `selected` */ - selected_repositories_url?: string; - runners_url: string; - inherited: boolean; - inherited_allows_public_repositories?: boolean; - allows_public_repositories: boolean; + }; + /** Lists all the emojis available to use on GitHub. */ + "emojis/get": { + parameters: {}; + responses: { + /** Response */ + 200: { + content: { + "application/json": { [key: string]: string }; + }; + }; + 304: components["responses"]["not_modified"]; }; - /** Secrets for GitHub Actions for an organization. */ - "organization-actions-secret": { - /** The name of the secret. */ - name: string; - created_at: string; - updated_at: string; - /** Visibility of a secret */ - visibility: "all" | "private" | "selected"; - selected_repositories_url?: string; + }; + /** + * Returns aggregate usage metrics for your GitHub Enterprise Server 3.5+ instance for a specified time period up to 365 days. + * + * To use this endpoint, your GitHub Enterprise Server instance must be connected to GitHub Enterprise Cloud using GitHub Connect. You must enable Server Statistics, and for the API request provide your enterprise account name or organization name connected to the GitHub Enterprise Server. For more information, see "[Enabling Server Statistics for your enterprise](/admin/configuration/configuring-github-connect/enabling-server-statistics-for-your-enterprise)" in the GitHub Enterprise Server documentation. + * + * You'll need to use a personal access token: + * - If you connected your GitHub Enterprise Server to an enterprise account and enabled Server Statistics, you'll need a personal access token with the `read:enterprise` permission. + * - If you connected your GitHub Enterprise Server to an organization account and enabled Server Statistics, you'll need a personal access token with the `read:org` permission. + * + * For more information on creating a personal access token, see "[Creating a personal access token](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." + */ + "enterprise-admin/get-server-statistics": { + parameters: { + path: { + /** The slug version of the enterprise name or the login of an organization. */ + enterprise_or_org: components["parameters"]["enterprise-or-org"]; + }; + query: { + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ + date_start?: string; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ + date_end?: string; + }; }; - /** The public key used for setting Actions Secrets. */ - "actions-public-key": { - /** The identifier for the key. */ - key_id: string; - /** The Base64 encoded public key. */ - key: string; - id?: number; - url?: string; - title?: string; - created_at?: string; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["server-statistics"]; + }; + }; }; - /** Credential Authorization */ - "credential-authorization": { - /** User login that owns the underlying credential. */ - login: string; - /** Unique identifier for the credential. */ - credential_id: number; - /** Human-readable description of the credential type. */ - credential_type: string; - /** Last eight characters of the credential. Only included in responses with credential_type of personal access token. */ - token_last_eight?: string; - /** Date when the credential was authorized for use. */ - credential_authorized_at: string; - /** List of oauth scopes the token has been granted. */ - scopes?: string[]; - /** Unique string to distinguish the credential. Only included in responses with credential_type of SSH Key. */ - fingerprint?: string; - /** Date when the credential was last accessed. May be null if it was never accessed */ - credential_accessed_at?: string | null; - authorized_credential_id?: number | null; - /** The title given to the ssh key. This will only be present when the credential is an ssh key. */ - authorized_credential_title?: string | null; - /** The note given to the token. This will only be present when the credential is a token. */ - authorized_credential_note?: string | null; + }; + /** + * Gets the total GitHub Actions cache usage for an enterprise. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "actions/get-actions-cache-usage-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; }; - /** Organization Invitation */ - "organization-invitation": { - id: number; - login: string | null; - email: string | null; - role: string; - created_at: string; - failed_at?: string; - failed_reason?: string; - inviter: components["schemas"]["simple-user"]; - team_count: number; - invitation_team_url: string; - node_id: string; - invitation_teams_url?: string; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["actions-cache-usage-org-enterprise"]; + }; + }; }; - /** Org Hook */ - "org-hook": { - id: number; - url: string; - ping_url: string; - name: string; - events: string[]; - active: boolean; - config: { - url?: string; - insecure_ssl?: string; - content_type?: string; - secret?: string; + }; + /** + * Sets the GitHub Actions OpenID Connect (OIDC) custom issuer policy for an enterprise. + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * GitHub Apps must have the `enterprise_administration:write` permission to use this endpoint. + */ + "actions/set-actions-oidc-custom-issuer-policy-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; }; - updated_at: string; - created_at: string; - type: string; }; - /** The type of GitHub user that can comment, open issues, or create pull requests while the interaction limit is in effect. Can be one of: `existing_users`, `contributors_only`, `collaborators_only`. */ - "interaction-group": - | "existing_users" - | "contributors_only" - | "collaborators_only"; - /** Interaction limit settings. */ - "interaction-limit-response": { - limit: components["schemas"]["interaction-group"]; - origin: string; - expires_at: string; + responses: { + /** Response */ + 204: never; }; - /** The duration of the interaction restriction. Can be one of: `one_day`, `three_days`, `one_week`, `one_month`, `six_months`. Default: `one_day`. */ - "interaction-expiry": - | "one_day" - | "three_days" - | "one_week" - | "one_month" - | "six_months"; - /** Limit interactions to a specific type of user for a specified duration */ - "interaction-limit": { - limit: components["schemas"]["interaction-group"]; - expiry?: components["schemas"]["interaction-expiry"]; + requestBody: { + content: { + "application/json": components["schemas"]["actions-oidc-custom-issuer-policy-for-enterprise"]; + }; }; - /** Groups of organization members that gives permissions on specified repositories. */ - "team-simple": { - /** Unique identifier of the team */ - id: number; - node_id: string; - /** URL for the team */ - url: string; - members_url: string; - /** Name of the team */ - name: string; - /** Description of the team */ - description: string | null; - /** Permission that the team will have for its repositories */ - permission: string; - /** The level of privacy this team should have */ - privacy?: string; - html_url: string; - repositories_url: string; - slug: string; - /** Distinguished Name (DN) that team maps to within LDAP environment */ - ldap_dn?: string; - } | null; - /** Groups of organization members that gives permissions on specified repositories. */ - team: { - id: number; - node_id: string; - name: string; - slug: string; - description: string | null; - privacy?: string; - permission: string; - url: string; - html_url: string; - members_url: string; - repositories_url: string; - parent?: components["schemas"]["team-simple"] | null; + }; + /** + * Gets the GitHub Actions permissions policy for organizations and allowed actions and reusable workflows in an enterprise. + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/get-github-actions-permissions-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; }; - /** Org Membership */ - "org-membership": { - url: string; - state: string; - role: string; - organization_url: string; - organization: components["schemas"]["organization-simple"]; - user: components["schemas"]["simple-user"] | null; - permissions?: { - can_create_repository: boolean; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-enterprise-permissions"]; + }; }; }; - /** A migration. */ - migration: { - id: number; - owner: components["schemas"]["simple-user"] | null; - guid: string; - state: string; - lock_repositories: boolean; - exclude_attachments: boolean; - repositories: components["schemas"]["repository"][]; - url: string; - created_at: string; - updated_at: string; - node_id: string; - archive_url?: string; - exclude?: { [key: string]: any }[]; + }; + /** + * Sets the GitHub Actions permissions policy for organizations and allowed actions and reusable workflows in an enterprise. + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/set-github-actions-permissions-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; }; - /** Projects are a way to organize columns and cards of work. */ - project: { - owner_url: string; - url: string; - html_url: string; - columns_url: string; - id: number; - node_id: string; - /** Name of the project */ - name: string; - /** Body of the project */ - body: string | null; - number: number; - /** State of the project; either 'open' or 'closed' */ - state: string; - creator: components["schemas"]["simple-user"] | null; - created_at: string; - updated_at: string; - /** The baseline permission that all organization members have on this project. Only present if owner is an organization. */ - organization_permission?: "read" | "write" | "admin" | "none"; - /** Whether or not this project can be seen by everyone. Only present if owner is an organization. */ - private?: boolean; + responses: { + /** Response */ + 204: never; }; - /** External Groups to be mapped to a team for membership */ - "group-mapping": { - /** Array of groups to be mapped to this team */ - groups?: { - /** The ID of the group */ - group_id: string; - /** The name of the group */ - group_name: string; - /** a description of the group */ - group_description: string; - }[]; - /** The ID of the group */ - group_id?: string; - /** The name of the group */ - group_name?: string; - /** a description of the group */ - group_description?: string; - /** synchronization status for this group mapping */ - status?: string; - /** the time of the last sync for this group-mapping */ - synced_at?: string; + requestBody: { + content: { + "application/json": { + enabled_organizations: components["schemas"]["enabled-organizations"]; + allowed_actions?: components["schemas"]["allowed-actions"]; + }; + }; + }; + }; + /** + * Lists the organizations that are selected to have GitHub Actions enabled in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/list-selected-organizations-enabled-github-actions-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; }; - /** Groups of organization members that gives permissions on specified repositories. */ - "team-full": { - /** Unique identifier of the team */ - id: number; - node_id: string; - /** URL for the team */ - url: string; - html_url: string; - /** Name of the team */ - name: string; - slug: string; - description: string | null; - /** The level of privacy this team should have */ - privacy?: "closed" | "secret"; - /** Permission that the team will have for its repositories */ - permission: string; - members_url: string; - repositories_url: string; - parent?: components["schemas"]["team-simple"] | null; - members_count: number; - repos_count: number; - created_at: string; - updated_at: string; - organization: components["schemas"]["organization-full"]; - /** Distinguished Name (DN) that team maps to within LDAP environment */ - ldap_dn?: string; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + organizations: components["schemas"]["organization-simple"][]; + }; + }; + }; }; - /** A team discussion is a persistent record of a free-form conversation within a team. */ - "team-discussion": { - author: components["schemas"]["simple-user"] | null; - /** The main text of the discussion. */ - body: string; - body_html: string; - /** The current version of the body content. If provided, this update operation will be rejected if the given version does not match the latest version on the server. */ - body_version: string; - comments_count: number; - comments_url: string; - created_at: string; - last_edited_at: string | null; - html_url: string; - node_id: string; - /** The unique sequence number of a team discussion. */ - number: number; - /** Whether or not this discussion should be pinned for easy retrieval. */ - pinned: boolean; - /** Whether or not this discussion should be restricted to team members and organization administrators. */ - private: boolean; - team_url: string; - /** The title of the discussion. */ - title: string; - updated_at: string; - url: string; - reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Replaces the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/set-selected-organizations-enabled-github-actions-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; }; - /** A reply to a discussion within a team. */ - "team-discussion-comment": { - author: components["schemas"]["simple-user"] | null; - /** The main text of the comment. */ - body: string; - body_html: string; - /** The current version of the body content. If provided, this update operation will be rejected if the given version does not match the latest version on the server. */ - body_version: string; - created_at: string; - last_edited_at: string | null; - discussion_url: string; - html_url: string; - node_id: string; - /** The unique sequence number of a team discussion comment. */ - number: number; - updated_at: string; - url: string; - reactions?: components["schemas"]["reaction-rollup"]; + responses: { + /** Response */ + 204: never; }; - /** Reactions to conversations provide a way to help people express their feelings more simply and effectively. */ - reaction: { - id: number; - node_id: string; - user: components["schemas"]["simple-user"] | null; - /** The reaction to use */ - content: - | "+1" - | "-1" - | "laugh" - | "confused" - | "heart" - | "hooray" - | "rocket" - | "eyes"; - created_at: string; + requestBody: { + content: { + "application/json": { + /** @description List of organization IDs to enable for GitHub Actions. */ + selected_organization_ids: number[]; + }; + }; }; - /** Team Membership */ - "team-membership": { - url: string; - /** The role of the user in the team. */ - role: "member" | "maintainer"; - state: string; + }; + /** + * Adds an organization to the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/enable-selected-organization-github-actions-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** The unique identifier of the organization. */ + org_id: components["parameters"]["org-id"]; + }; }; - /** A team's access to a project. */ - "team-project": { - owner_url: string; - url: string; - html_url: string; - columns_url: string; - id: number; - node_id: string; - name: string; - body: string | null; - number: number; - state: string; - creator: components["schemas"]["simple-user"]; - created_at: string; - updated_at: string; - /** The organization permission for this project. Only present when owner is an organization. */ - organization_permission?: string; - /** Whether the project is private or not. Only present when owner is an organization. */ - private?: boolean; - permissions: { - read: boolean; - write: boolean; - admin: boolean; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Removes an organization from the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/disable-selected-organization-github-actions-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** The unique identifier of the organization. */ + org_id: components["parameters"]["org-id"]; }; }; - /** A team's access to a repository. */ - "team-repository": { - /** Unique identifier of the repository */ - id: number; - node_id: string; - /** The name of the repository. */ - name: string; - full_name: string; - license: components["schemas"]["license-simple"] | null; - forks: number; - permissions?: { - admin: boolean; - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Gets the selected actions and reusable workflows that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/get-allowed-actions-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; }; - owner: components["schemas"]["simple-user"] | null; - /** Whether the repository is private or public. */ - private: boolean; - html_url: string; - description: string | null; - fork: boolean; - url: string; - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - contributors_url: string; - deployments_url: string; - downloads_url: string; - events_url: string; - forks_url: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - git_url: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - languages_url: string; - merges_url: string; - milestones_url: string; - notifications_url: string; - pulls_url: string; - releases_url: string; - ssh_url: string; - stargazers_url: string; - statuses_url: string; - subscribers_url: string; - subscription_url: string; - tags_url: string; - teams_url: string; - trees_url: string; - clone_url: string; - mirror_url: string | null; - hooks_url: string; - svn_url: string; - homepage: string | null; - language: string | null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - /** The default branch of the repository. */ - default_branch: string; - open_issues_count: number; - /** Whether this repository acts as a template that can be used to generate new repositories. */ - is_template?: boolean; - topics?: string[]; - /** Whether issues are enabled. */ - has_issues: boolean; - /** Whether projects are enabled. */ - has_projects: boolean; - /** Whether the wiki is enabled. */ - has_wiki: boolean; - has_pages: boolean; - /** Whether downloads are enabled. */ - has_downloads: boolean; - /** Whether the repository is archived. */ - archived: boolean; - /** Returns whether or not this repository disabled. */ - disabled: boolean; - /** The repository visibility: public, private, or internal. */ - visibility?: string; - pushed_at: string | null; - created_at: string | null; - updated_at: string | null; - /** Whether to allow rebase merges for pull requests. */ - allow_rebase_merge?: boolean; - template_repository?: components["schemas"]["repository"] | null; - temp_clone_token?: string; - /** Whether to allow squash merges for pull requests. */ - allow_squash_merge?: boolean; - /** Whether to delete head branches when pull requests are merged */ - delete_branch_on_merge?: boolean; - /** Whether to allow merge commits for pull requests. */ - allow_merge_commit?: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; }; - /** Project cards represent a scope of work. */ - "project-card": { - url: string; - /** The project card's ID */ - id: number; - node_id: string; - note: string | null; - creator: components["schemas"]["simple-user"] | null; - created_at: string; - updated_at: string; - /** Whether or not the card is archived */ - archived?: boolean; - column_url: string; - content_url?: string; - project_url: string; + }; + /** + * Sets the actions and reusable workflows that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/set-allowed-actions-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; }; - /** Project columns contain cards of work. */ - "project-column": { - url: string; - project_url: string; - cards_url: string; - /** The unique identifier of the project column */ - id: number; - node_id: string; - /** Name of the project column */ - name: string; - created_at: string; - updated_at: string; + responses: { + /** Response */ + 204: never; }; - /** Repository Collaborator Permission */ - "repository-collaborator-permission": { - permission: string; - user: components["schemas"]["simple-user"] | null; + requestBody: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; }; - "rate-limit": { - limit: number; - remaining: number; - reset: number; + }; + /** + * Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an enterprise, + * as well as whether GitHub Actions can submit approving pull request reviews. For more information, see + * "[Enforcing a policy for workflow permissions in your enterprise](https://docs.github.com/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-workflow-permissions-in-your-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * GitHub Apps must have the `enterprise_administration:write` permission to use this endpoint. + */ + "actions/get-github-actions-default-workflow-permissions-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; }; - /** Rate Limit Overview */ - "rate-limit-overview": { - resources: { - core: components["schemas"]["rate-limit"]; - graphql?: components["schemas"]["rate-limit"]; - search: components["schemas"]["rate-limit"]; - source_import?: components["schemas"]["rate-limit"]; - integration_manifest?: components["schemas"]["rate-limit"]; - code_scanning_upload?: components["schemas"]["rate-limit"]; + responses: { + /** Success response */ + 200: { + content: { + "application/json": components["schemas"]["actions-get-default-workflow-permissions"]; + }; }; - rate: components["schemas"]["rate-limit"]; }; - /** Full Repository */ - "full-repository": { - id: number; - node_id: string; - name: string; - full_name: string; - owner: components["schemas"]["simple-user"] | null; - private: boolean; - html_url: string; - description: string | null; - fork: boolean; - url: string; - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - contributors_url: string; - deployments_url: string; - downloads_url: string; - events_url: string; - forks_url: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - git_url: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - languages_url: string; - merges_url: string; - milestones_url: string; - notifications_url: string; - pulls_url: string; - releases_url: string; - ssh_url: string; - stargazers_url: string; - statuses_url: string; - subscribers_url: string; - subscription_url: string; - tags_url: string; - teams_url: string; - trees_url: string; - clone_url: string; - mirror_url: string | null; - hooks_url: string; - svn_url: string; - homepage: string | null; - language: string | null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template?: boolean; - topics?: string[]; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - /** Returns whether or not this repository disabled. */ - disabled: boolean; - /** The repository visibility: public, private, or internal. */ - visibility?: string; - pushed_at: string; - created_at: string; - updated_at: string; - permissions?: { - admin: boolean; - pull: boolean; - push: boolean; + }; + /** + * Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an enterprise, and sets + * whether GitHub Actions can submit approving pull request reviews. For more information, see + * "[Enforcing a policy for workflow permissions in your enterprise](https://docs.github.com/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-workflow-permissions-in-your-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * GitHub Apps must have the `enterprise_administration:write` permission to use this endpoint. + */ + "actions/set-github-actions-default-workflow-permissions-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; }; - allow_rebase_merge?: boolean; - template_repository?: components["schemas"]["repository"] | null; - temp_clone_token?: string | null; - allow_squash_merge?: boolean; - delete_branch_on_merge?: boolean; - allow_merge_commit?: boolean; - subscribers_count: number; - network_count: number; - license: components["schemas"]["license-simple"] | null; - organization?: components["schemas"]["simple-user"] | null; - parent?: components["schemas"]["repository"]; - source?: components["schemas"]["repository"]; - forks: number; - master_branch?: string; - open_issues: number; - watchers: number; - /** Whether anonymous git access is allowed. */ - anonymous_access_enabled?: boolean; }; - /** An artifact */ - artifact: { - id: number; - node_id: string; - /** The name of the artifact. */ - name: string; - /** The size in bytes of the artifact. */ - size_in_bytes: number; - url: string; - archive_download_url: string; - /** Whether or not the artifact has expired. */ - expired: boolean; - created_at: string | null; - expires_at: string; - updated_at: string | null; + responses: { + /** Success response */ + 204: never; }; - /** Information of a job execution in a workflow run */ - job: { - /** The id of the job. */ - id: number; - /** The id of the associated workflow run. */ - run_id: number; - run_url: string; - node_id: string; - /** The SHA of the commit that is being run. */ - head_sha: string; - url: string; - html_url: string | null; - /** The phase of the lifecycle that the job is currently in. */ - status: "queued" | "in_progress" | "completed"; - /** The outcome of the job. */ - conclusion: string | null; - /** The time that the job started, in ISO 8601 format. */ - started_at: string; - /** The time that the job finished, in ISO 8601 format. */ - completed_at: string | null; - /** The name of the job. */ - name: string; - /** Steps in this job. */ - steps?: { - /** The phase of the lifecycle that the job is currently in. */ - status: "queued" | "in_progress" | "completed"; - /** The outcome of the job. */ - conclusion: string | null; - /** The name of the job. */ - name: string; - number: number; - /** The time that the step started, in ISO 8601 format. */ - started_at?: string | null; - /** The time that the job finished, in ISO 8601 format. */ - completed_at?: string | null; - }[]; - check_run_url: string; + requestBody: { + content: { + "application/json": components["schemas"]["actions-set-default-workflow-permissions"]; + }; }; - /** Whether GitHub Actions is enabled on the repository. */ - "actions-enabled": boolean; - "actions-repository-permissions": { - enabled: components["schemas"]["actions-enabled"]; - allowed_actions: components["schemas"]["allowed-actions"]; - selected_actions_url?: components["schemas"]["selected-actions-url"]; + }; + /** + * Lists all self-hosted runner groups for an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/list-self-hosted-runner-groups-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** Only return runner groups that are allowed to be used by this organization. */ + visible_to_organization?: components["parameters"]["visible-to-organization"]; + }; }; - "pull-request-minimal": { - id: number; - number: number; - url: string; - head: { - ref: string; - sha: string; - repo: { - id: number; - url: string; - name: string; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + runner_groups: components["schemas"]["runner-groups-enterprise"][]; + }; + }; + }; + }; + }; + /** + * Creates a new self-hosted runner group for an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/create-self-hosted-runner-group-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["runner-groups-enterprise"]; }; }; - base: { - ref: string; - sha: string; - repo: { - id: number; - url: string; + }; + requestBody: { + content: { + "application/json": { + /** @description Name of the runner group. */ name: string; + /** + * @description Visibility of a runner group. You can select all organizations or select individual organization. + * @enum {string} + */ + visibility?: "selected" | "all"; + /** @description List of organization IDs that can access the runner group. */ + selected_organization_ids?: number[]; + /** @description List of runner IDs to add to the runner group. */ + runners?: number[]; + /** + * @description Whether the runner group can be used by `public` repositories. + * @default false + */ + allows_public_repositories?: boolean; + /** + * @description If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array. + * @default false + */ + restricted_to_workflows?: boolean; + /** @description List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`. */ + selected_workflows?: string[]; }; }; }; - /** Simple Commit */ - "simple-commit": { - id: string; - tree_id: string; - message: string; - timestamp: string; - author: { - name: string; - email: string; - } | null; - committer: { - name: string; - email: string; - } | null; - }; - /** An invocation of a workflow */ - "workflow-run": { - /** The ID of the workflow run. */ - id: number; - /** The name of the workflow run. */ - name?: string; - node_id: string; - head_branch: string | null; - /** The SHA of the head commit that points to the version of the worflow being run. */ - head_sha: string; - /** The auto incrementing run number for the workflow run. */ - run_number: number; - event: string; - status: string | null; - conclusion: string | null; - /** The ID of the parent workflow. */ - workflow_id: number; - /** The URL to the workflow run. */ - url: string; - html_url: string; - pull_requests: components["schemas"]["pull-request-minimal"][] | null; - created_at: string; - updated_at: string; - /** The URL to the jobs for the workflow run. */ - jobs_url: string; - /** The URL to download the logs for the workflow run. */ - logs_url: string; - /** The URL to the associated check suite. */ - check_suite_url: string; - /** The URL to the artifacts for the workflow run. */ - artifacts_url: string; - /** The URL to cancel the workflow run. */ - cancel_url: string; - /** The URL to rerun the workflow run. */ - rerun_url: string; - /** The URL to the workflow. */ - workflow_url: string; - head_commit: components["schemas"]["simple-commit"]; - repository: components["schemas"]["minimal-repository"]; - head_repository: components["schemas"]["minimal-repository"]; - head_repository_id?: number; + }; + /** + * Gets a specific self-hosted runner group for an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/get-self-hosted-runner-group-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; }; - /** Workflow Run Usage */ - "workflow-run-usage": { - billable: { - UBUNTU?: { - total_ms: number; - jobs: number; - }; - MACOS?: { - total_ms: number; - jobs: number; - }; - WINDOWS?: { - total_ms: number; - jobs: number; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["runner-groups-enterprise"]; }; }; - run_duration_ms: number; - }; - /** Set secrets for GitHub Actions. */ - "actions-secret": { - /** The name of the secret. */ - name: string; - created_at: string; - updated_at: string; - }; - /** A GitHub Actions workflow */ - workflow: { - id: number; - node_id: string; - name: string; - path: string; - state: "active" | "deleted"; - created_at: string; - updated_at: string; - url: string; - html_url: string; - badge_url: string; - deleted_at?: string; }; - /** Workflow Usage */ - "workflow-usage": { - billable: { - UBUNTU?: { - total_ms?: number; - }; - MACOS?: { - total_ms?: number; - }; - WINDOWS?: { - total_ms?: number; - }; + }; + /** + * Deletes a self-hosted runner group for an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/delete-self-hosted-runner-group-from-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; }; }; - /** Protected Branch Admin Enforced */ - "protected-branch-admin-enforced": { - url: string; - enabled: boolean; + responses: { + /** Response */ + 204: never; }; - /** Protected Branch Pull Request Review */ - "protected-branch-pull-request-review": { - url?: string; - dismissal_restrictions?: { - /** The list of users with review dismissal access. */ - users?: components["schemas"]["simple-user"][]; - /** The list of teams with review dismissal access. */ - teams?: components["schemas"]["team"][]; - url?: string; - users_url?: string; - teams_url?: string; + }; + /** + * Updates the `name` and `visibility` of a self-hosted runner group in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/update-self-hosted-runner-group-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; }; - dismiss_stale_reviews: boolean; - require_code_owner_reviews: boolean; - required_approving_review_count?: number; - }; - /** Branch Restriction Policy */ - "branch-restriction-policy": { - url: string; - users_url: string; - teams_url: string; - apps_url: string; - users: { - 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; - }[]; - teams: { - id?: number; - node_id?: string; - url?: string; - html_url?: string; - name?: string; - slug?: string; - description?: string | null; - privacy?: string; - permission?: string; - members_url?: string; - repositories_url?: string; - parent?: string | null; - }[]; - apps: { - id?: number; - slug?: string; - node_id?: string; - owner?: { - login?: string; - id?: number; - node_id?: string; - url?: string; - repos_url?: string; - events_url?: string; - hooks_url?: string; - issues_url?: string; - members_url?: string; - public_members_url?: string; - avatar_url?: string; - description?: string; - gravatar_id?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - received_events_url?: string; - type?: string; - }; - name?: string; - description?: string; - external_url?: string; - html_url?: string; - created_at?: string; - updated_at?: string; - permissions?: { - metadata?: string; - contents?: string; - issues?: string; - single_file?: string; - }; - events?: string[]; - }[]; }; - /** Branch Protection */ - "branch-protection": { - url?: string; - required_status_checks: { - url?: string; - enforcement_level: string; - contexts: string[]; - contexts_url?: string; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["runner-groups-enterprise"]; + }; }; - enforce_admins?: components["schemas"]["protected-branch-admin-enforced"]; - required_pull_request_reviews?: components["schemas"]["protected-branch-pull-request-review"]; - restrictions?: components["schemas"]["branch-restriction-policy"]; - required_linear_history?: { - enabled?: boolean; + }; + requestBody: { + content: { + "application/json": { + /** @description Name of the runner group. */ + name?: string; + /** + * @description Visibility of a runner group. You can select all organizations or select individual organizations. + * @default all + * @enum {string} + */ + visibility?: "selected" | "all"; + /** + * @description Whether the runner group can be used by `public` repositories. + * @default false + */ + allows_public_repositories?: boolean; + /** + * @description If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array. + * @default false + */ + restricted_to_workflows?: boolean; + /** @description List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`. */ + selected_workflows?: string[]; + }; }; - allow_force_pushes?: { - enabled?: boolean; + }; + }; + /** + * Lists the organizations with access to a self-hosted runner group. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/list-org-access-to-self-hosted-runner-group-in-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; }; - allow_deletions?: { - enabled?: boolean; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; - enabled: boolean; - name?: string; - protection_url?: string; }; - /** Short Branch */ - "short-branch": { - name: string; - commit: { - sha: string; - url: string; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + organizations: components["schemas"]["organization-simple"][]; + }; + }; }; - protected: boolean; - protection?: components["schemas"]["branch-protection"]; - protection_url?: string; }; - /** Metaproperties for Git author/committer information. */ - "git-user": { - name?: string; - email?: string; - date?: string; + }; + /** + * Replaces the list of organizations that have access to a self-hosted runner configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/set-org-access-to-self-hosted-runner-group-in-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; }; - verification: { - verified: boolean; - reason: string; - payload: string | null; - signature: string | null; + responses: { + /** Response */ + 204: never; }; - /** Commit */ - commit: { - url: string; - sha: string; - node_id: string; - html_url: string; - comments_url: string; - commit: { - url: string; - author: components["schemas"]["git-user"] | null; - committer: components["schemas"]["git-user"] | null; - message: string; - comment_count: number; - tree: { - sha: string; - url: string; + requestBody: { + content: { + "application/json": { + /** @description List of organization IDs that can access the runner group. */ + selected_organization_ids: number[]; }; - verification?: components["schemas"]["verification"]; }; - author: components["schemas"]["simple-user"] | null; - committer: components["schemas"]["simple-user"] | null; - parents: { - sha: string; - url: string; - html_url?: string; - }[]; - stats?: { - additions?: number; - deletions?: number; - total?: number; + }; + }; + /** + * Adds an organization to the list of selected organizations that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an enterprise](#create-a-self-hosted-runner-group-for-an-enterprise)." + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/add-org-access-to-self-hosted-runner-group-in-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + /** The unique identifier of the organization. */ + org_id: components["parameters"]["org-id"]; }; - files?: { - filename?: string; - additions?: number; - deletions?: number; - changes?: number; - status?: string; - raw_url?: string; - blob_url?: string; - patch?: string; - sha?: string; - contents_url?: string; - previous_filename?: string; - }[]; }; - /** Branch With Protection */ - "branch-with-protection": { - name: string; - commit: components["schemas"]["commit"]; - _links: { - html: string; - self: string; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Removes an organization from the list of selected organizations that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an enterprise](#create-a-self-hosted-runner-group-for-an-enterprise)." + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/remove-org-access-to-self-hosted-runner-group-in-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + /** The unique identifier of the organization. */ + org_id: components["parameters"]["org-id"]; }; - protected: boolean; - protection: components["schemas"]["branch-protection"]; - protection_url: string; - pattern?: string; - required_approving_review_count?: number; }; - /** Status Check Policy */ - "status-check-policy": { - url: string; - strict: boolean; - contexts: string[]; - contexts_url: string; + responses: { + /** Response */ + 204: never; }; - /** Branch protections protect branches */ - "protected-branch": { - url: string; - required_status_checks?: components["schemas"]["status-check-policy"]; - required_pull_request_reviews?: { - url: string; - dismiss_stale_reviews?: boolean; - require_code_owner_reviews?: boolean; - required_approving_review_count?: number; - dismissal_restrictions?: { - url: string; - users_url: string; - teams_url: string; - users: components["schemas"]["simple-user"][]; - teams: components["schemas"]["team"][]; + }; + /** + * Lists the self-hosted runners that are in a specific enterprise group. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/list-self-hosted-runners-in-group-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + runners: components["schemas"]["runner"][]; + }; }; }; - required_signatures?: { - url: string; - enabled: boolean; + }; + }; + /** + * Replaces the list of self-hosted runners that are part of an enterprise runner group. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/set-self-hosted-runners-in-group-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; }; - enforce_admins?: { - url: string; - enabled: boolean; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** @description List of runner IDs to add to the runner group. */ + runners: number[]; + }; }; - required_linear_history?: { - enabled: boolean; + }; + }; + /** + * Adds a self-hosted runner to a runner group configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` + * scope to use this endpoint. + */ + "enterprise-admin/add-self-hosted-runner-to-group-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Removes a self-hosted runner from a group configured in an enterprise. The runner is then returned to the default group. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/remove-self-hosted-runner-from-group-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; }; - allow_force_pushes?: { - enabled: boolean; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Lists all self-hosted runners configured for an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/list-self-hosted-runners-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; }; - allow_deletions?: { - enabled: boolean; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; - restrictions?: components["schemas"]["branch-restriction-policy"]; }; - /** A check performed on the code of a given code change */ - "check-run": { - /** The id of the check. */ - id: number; - /** The SHA of the commit that is being checked. */ - head_sha: string; - node_id: string; - external_id: string | null; - url: string; - html_url: string | null; - details_url: string | null; - /** The phase of the lifecycle that the check is currently in. */ - status: "queued" | "in_progress" | "completed"; - conclusion: - | ( - | "success" - | "failure" - | "neutral" - | "cancelled" - | "skipped" - | "timed_out" - | "action_required" - ) - | null; - started_at: string | null; - completed_at: string | null; - output: { - title: string | null; - summary: string | null; - text: string | null; - annotations_count: number; - annotations_url: string; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count?: number; + runners?: components["schemas"]["runner"][]; + }; + }; }; - /** The name of the check. */ - name: string; - check_suite: { - id: number; - } | null; - app: components["schemas"]["integration"] | null; - pull_requests: components["schemas"]["pull-request-minimal"][]; - }; - /** Check Annotation */ - "check-annotation": { - path: string; - start_line: number; - end_line: number; - start_column: number | null; - end_column: number | null; - annotation_level: string | null; - title: string | null; - message: string | null; - raw_details: string | null; - blob_href: string; - }; - /** A suite of checks performed on the code of a given code change */ - "check-suite": { - id: number; - node_id: string; - head_branch: string | null; - /** The SHA of the head commit that is being checked. */ - head_sha: string; - status: ("queued" | "in_progress" | "completed") | null; - conclusion: - | ( - | "success" - | "failure" - | "neutral" - | "cancelled" - | "skipped" - | "timed_out" - | "action_required" - ) - | null; - url: string | null; - before: string | null; - after: string | null; - pull_requests: components["schemas"]["pull-request-minimal"][] | null; - app: components["schemas"]["integration"] | null; - repository: components["schemas"]["minimal-repository"]; - created_at: string | null; - updated_at: string | null; - head_commit: components["schemas"]["simple-commit"]; - latest_check_runs_count: number; - check_runs_url: string; }; - /** Check suite configuration preferences for a repository. */ - "check-suite-preference": { - preferences: { - auto_trigger_checks?: { - app_id: number; - setting: boolean; - }[]; + }; + /** + * Lists binaries for the runner application that you can download and run. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/list-runner-applications-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; }; - repository: components["schemas"]["repository"]; }; - /** State of a code scanning alert. */ - "code-scanning-alert-state": "open" | "dismissed" | "fixed"; - /** The full Git reference, formatted as `refs/heads/`. */ - "code-scanning-alert-ref": string; - /** The security alert number. */ - "alert-number": number; - /** The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - "alert-created-at": string; - /** The REST API URL of the alert resource. */ - "alert-url": string; - /** The GitHub URL of the alert resource. */ - "alert-html-url": string; - /** The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - "code-scanning-alert-dismissed-at": string | null; - /** **Required when the state is dismissed.** The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ - "code-scanning-alert-dismissed-reason": string | null; - "code-scanning-alert-rule": { - /** A unique identifier for the rule used to detect the alert. */ - id?: string | null; - /** The severity of the alert. */ - severity?: ("none" | "note" | "warning" | "error") | null; - /** A short description of the rule used to detect the alert. */ - description?: string; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["runner-application"][]; + }; + }; }; - /** The name of the tool used to generate the code scanning analysis alert. */ - "code-scanning-analysis-tool-name": string; - "code-scanning-analysis-tool": { - name?: components["schemas"]["code-scanning-analysis-tool-name"]; - /** The version of the tool used to detect the alert. */ - version?: string | null; + }; + /** + * Returns a token that you can pass to the `config` script. The token expires after one hour. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + * + * #### Example using registration token + * + * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. + * + * ``` + * ./config.sh --url https://github.com/enterprises/octo-enterprise --token TOKEN + * ``` + */ + "enterprise-admin/create-registration-token-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; }; - "code-scanning-alert-code-scanning-alert-items": { - number: components["schemas"]["alert-number"]; - created_at: components["schemas"]["alert-created-at"]; - url: components["schemas"]["alert-url"]; - html_url: components["schemas"]["alert-html-url"]; - state: components["schemas"]["code-scanning-alert-state"]; - dismissed_by: components["schemas"]["simple-user"]; - dismissed_at: components["schemas"]["code-scanning-alert-dismissed-at"]; - dismissed_reason: components["schemas"]["code-scanning-alert-dismissed-reason"]; - rule: components["schemas"]["code-scanning-alert-rule"]; - tool: components["schemas"]["code-scanning-analysis-tool"]; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; }; - /** Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - "code-scanning-analysis-analysis-key": string; - /** Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ - "code-scanning-alert-environment": string; - "code-scanning-alert-instances": - | { - ref?: components["schemas"]["code-scanning-alert-ref"]; - analysis_key?: components["schemas"]["code-scanning-analysis-analysis-key"]; - environment?: components["schemas"]["code-scanning-alert-environment"]; - matrix_vars?: string | null; - state?: components["schemas"]["code-scanning-alert-state"]; - }[] - | null; - "code-scanning-alert-code-scanning-alert": { - number: components["schemas"]["alert-number"]; - created_at: components["schemas"]["alert-created-at"]; - url: components["schemas"]["alert-url"]; - html_url: components["schemas"]["alert-html-url"]; - instances: components["schemas"]["code-scanning-alert-instances"]; - state: components["schemas"]["code-scanning-alert-state"]; - dismissed_by: components["schemas"]["simple-user"]; - dismissed_at: components["schemas"]["code-scanning-alert-dismissed-at"]; - dismissed_reason: components["schemas"]["code-scanning-alert-dismissed-reason"]; - rule: components["schemas"]["code-scanning-alert-rule"]; - tool: components["schemas"]["code-scanning-analysis-tool"]; + }; + /** + * Returns a token that you can pass to the `config` script to remove a self-hosted runner from an enterprise. The token expires after one hour. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + * + * #### Example using remove token + * + * To remove your self-hosted runner from an enterprise, replace `TOKEN` with the remove token provided by this + * endpoint. + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + */ + "enterprise-admin/create-remove-token-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; }; - /** Sets the state of the code scanning alert. Can be one of `open` or `dismissed`. You must provide `dismissed_reason` when you set the state to `dismissed`. */ - "code-scanning-alert-set-state": "open" | "dismissed"; - /** The full Git reference of the code scanning analysis file, formatted as `refs/heads/`. */ - "code-scanning-analysis-ref": string; - /** The commit SHA of the code scanning analysis file. */ - "code-scanning-analysis-commit-sha": string; - /** The time that the analysis was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - "code-scanning-analysis-created-at": string; - /** Identifies the variable values associated with the environment in which this analysis was performed. */ - "code-scanning-analysis-environment": string; - "code-scanning-analysis-code-scanning-analysis": { - commit_sha: components["schemas"]["code-scanning-analysis-commit-sha"]; - ref: components["schemas"]["code-scanning-analysis-ref"]; - analysis_key: components["schemas"]["code-scanning-analysis-analysis-key"]; - created_at: components["schemas"]["code-scanning-analysis-created-at"]; - tool_name: components["schemas"]["code-scanning-analysis-tool-name"]; - error: string; - environment: components["schemas"]["code-scanning-analysis-environment"]; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; }; - /** A Base64 string representing the SARIF file to upload. You must first compress your SARIF file using [`gzip`](http://www.gnu.org/software/gzip/manual/gzip.html) and then translate the contents of the file into a Base64 encoding string. */ - "code-scanning-analysis-sarif-file": string; - /** Collaborator */ - collaborator: { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string | null; - 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; - permissions?: { - pull: boolean; - push: boolean; - admin: boolean; + }; + /** + * Gets a specific self-hosted runner configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/get-self-hosted-runner-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; }; }; - /** Repository invitations let you manage who you collaborate with. */ - "repository-invitation": { - /** Unique identifier of the repository invitation. */ - id: number; - repository: components["schemas"]["minimal-repository"]; - invitee: components["schemas"]["simple-user"] | null; - inviter: components["schemas"]["simple-user"] | null; - /** The permission associated with the invitation. */ - permissions: "read" | "write" | "admin"; - created_at: string; - /** Whether or not the invitation has expired */ - expired?: boolean; - /** URL for the repository invitation */ - url: string; - html_url: string; - node_id: string; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["runner"]; + }; + }; }; - /** Commit Comment */ - "commit-comment": { - html_url: string; - url: string; - id: number; - node_id: string; - body: string; - path: string | null; - position: number | null; - line: number | null; - commit_id: string; - user: components["schemas"]["simple-user"] | null; - created_at: string; - updated_at: string; - author_association: components["schemas"]["author_association"]; - reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Forces the removal of a self-hosted runner from an enterprise. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/delete-self-hosted-runner-from-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; }; - /** Scim Error */ - "scim-error": { - message?: string | null; - documentation_url?: string | null; - detail?: string | null; - status?: number; - scimType?: string | null; - schemas?: string[]; + responses: { + /** Response */ + 204: never; }; - /** Branch Short */ - "branch-short": { - name: string; - commit: { - sha: string; - url: string; + }; + /** + * Lists all labels for a self-hosted runner configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/list-labels-for-self-hosted-runner-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; }; - protected: boolean; }; - /** Hypermedia Link */ - link: { - href: string; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; }; - /** The status of auto merging a pull request. */ - auto_merge: { - enabled_by: components["schemas"]["simple-user"]; - /** The merge method to use. */ - merge_method: "merge" | "squash" | "rebase"; - /** Title for the merge commit message. */ - commit_title: string; - /** Commit message for the merge commit. */ - commit_message: string; - } | null; - /** Pull Request Simple */ - "pull-request-simple": { - url: string; - id: number; - node_id: string; - html_url: string; - diff_url: string; - patch_url: string; - issue_url: string; - commits_url: string; - review_comments_url: string; - review_comment_url: string; - comments_url: string; - statuses_url: string; - number: number; - state: string; - locked: boolean; - title: string; - user: components["schemas"]["simple-user"] | null; - body: string | null; - labels: { - id?: number; - node_id?: string; - url?: string; - name?: string; - description?: string; - color?: string; - default?: boolean; - }[]; - milestone: components["schemas"]["milestone"] | null; - active_lock_reason?: string | null; - created_at: string; - updated_at: string; - closed_at: string | null; - merged_at: string | null; - merge_commit_sha: string | null; - assignee: components["schemas"]["simple-user"] | null; - assignees?: components["schemas"]["simple-user"][] | null; - requested_reviewers?: components["schemas"]["simple-user"][] | null; - requested_teams?: components["schemas"]["team-simple"][] | null; - head: { - label: string; - ref: string; - repo: components["schemas"]["repository"]; - sha: string; - user: components["schemas"]["simple-user"] | null; + }; + /** + * Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/set-custom-labels-for-self-hosted-runner-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; }; - base: { - label: string; - ref: string; - repo: components["schemas"]["repository"]; - sha: string; - user: components["schemas"]["simple-user"] | null; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels. */ + labels: string[]; + }; }; - _links: { - comments: components["schemas"]["link"]; - commits: components["schemas"]["link"]; - statuses: components["schemas"]["link"]; - html: components["schemas"]["link"]; - issue: components["schemas"]["link"]; - review_comments: components["schemas"]["link"]; - review_comment: components["schemas"]["link"]; - self: components["schemas"]["link"]; + }; + }; + /** + * Add custom labels to a self-hosted runner configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/add-custom-labels-to-self-hosted-runner-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; }; - author_association: components["schemas"]["author_association"]; - auto_merge: components["schemas"]["auto_merge"]; - /** Indicates whether or not the pull request is a draft. */ - draft?: boolean; }; - "simple-commit-status": { - description: string | null; - id: number; - node_id: string; - state: string; - context: string; - target_url: string; - required?: boolean | null; - avatar_url: string | null; - url: string; - created_at: string; - updated_at: string; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; }; - /** Combined Commit Status */ - "combined-commit-status": { - state: string; - statuses: components["schemas"]["simple-commit-status"][]; - sha: string; - total_count: number; - repository: components["schemas"]["minimal-repository"]; - commit_url: string; - url: string; + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to add to the runner. */ + labels: string[]; + }; + }; }; - /** The status of a commit. */ - status: { - url: string; - avatar_url: string | null; - id: number; - node_id: string; - state: string; - description: string; - target_url: string; - context: string; - created_at: string; - updated_at: string; - creator: components["schemas"]["simple-user"]; + }; + /** + * Remove all custom labels from a self-hosted runner configured in an + * enterprise. Returns the remaining read-only labels from the runner. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/remove-all-custom-labels-from-self-hosted-runner-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; }; - /** Code of Conduct Simple */ - "code-of-conduct-simple": { - url: string; - key: string; - name: string; - html_url: string | null; + responses: { + 200: components["responses"]["actions_runner_labels_readonly"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; }; - "community-health-file": { - url: string; - html_url: string; + }; + /** + * Remove a custom label from a self-hosted runner configured + * in an enterprise. Returns the remaining labels from the runner. + * + * This endpoint returns a `404 Not Found` status if the custom label is not + * present on the runner. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/remove-custom-label-from-self-hosted-runner-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + /** The name of a self-hosted runner's custom label. */ + name: components["parameters"]["runner-label-name"]; + }; }; - /** Community Profile */ - "community-profile": { - health_percentage: number; - description: string | null; - documentation: string | null; - files: { - code_of_conduct: components["schemas"]["code-of-conduct-simple"] | null; - license: components["schemas"]["license-simple"] | null; - contributing: components["schemas"]["community-health-file"] | null; - readme: components["schemas"]["community-health-file"] | null; - issue_template: components["schemas"]["community-health-file"] | null; - pull_request_template: - | components["schemas"]["community-health-file"] - | null; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** Gets the audit log for an enterprise. To use this endpoint, you must be an enterprise admin, and you must use an access token with the `admin:enterprise` scope. */ + "enterprise-admin/get-audit-log": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + query: { + /** A search phrase. For more information, see [Searching the audit log](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization#searching-the-audit-log). */ + phrase?: components["parameters"]["audit-log-phrase"]; + /** + * The event types to include: + * + * - `web` - returns web (non-Git) events. + * - `git` - returns Git events. + * - `all` - returns both web and Git events. + * + * The default is `web`. + */ + include?: components["parameters"]["audit-log-include"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ + after?: components["parameters"]["audit-log-after"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ + before?: components["parameters"]["audit-log-before"]; + /** + * The order of audit log events. To list newest events first, specify `desc`. To list oldest events first, specify `asc`. + * + * The default is `desc`. + */ + order?: components["parameters"]["audit-log-order"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; }; - updated_at: string | null; - content_reports_enabled?: boolean; }; - /** Diff Entry */ - "diff-entry": { - sha: string; - filename: string; - status: string; - additions: number; - deletions: number; - changes: number; - blob_url: string; - raw_url: string; - contents_url: string; - patch?: string; - previous_filename?: string; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["audit-log-event"][]; + }; + }; }; - /** Commit Comparison */ - "commit-comparison": { - url: string; - html_url: string; - permalink_url: string; - diff_url: string; - patch_url: string; - base_commit: components["schemas"]["commit"]; - merge_base_commit: components["schemas"]["commit"]; - status: "diverged" | "ahead" | "behind" | "identical"; - ahead_by: number; - behind_by: number; - total_commits: number; - commits: components["schemas"]["commit"][]; - files: components["schemas"]["diff-entry"][]; + }; + /** + * Lists code scanning alerts for the default branch for all eligible repositories in an enterprise. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * To use this endpoint, you must be a member of the enterprise, + * and you must use an access token with the `repo` scope or `security_events` scope. + */ + "code-scanning/list-alerts-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + query: { + /** The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both. */ + tool_name?: components["parameters"]["tool-name"]; + /** The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */ + tool_guid?: components["parameters"]["tool-guid"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ + before?: components["parameters"]["pagination-before"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ + after?: components["parameters"]["pagination-after"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** If specified, only code scanning alerts with this state will be returned. */ + state?: components["schemas"]["code-scanning-alert-state"]; + /** The property by which to sort the results. */ + sort?: "created" | "updated"; + }; }; - /** Content Tree */ - "content-tree": { - type: string; - size: number; - name: string; - path: string; - sha: string; - url: string; - git_url: string | null; - html_url: string | null; - download_url: string | null; - entries?: { - type: string; - size: number; - name: string; - path: string; - content?: string; - sha: string; - url: string; - git_url: string | null; - html_url: string | null; - download_url: string | null; - _links: { - git: string | null; - html: string | null; - self: string; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["code-scanning-organization-alert-items"][]; }; - }[]; - _links: { - git: string | null; - html: string | null; - self: string; }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; }; - /** A list of directory items */ - "content-directory": { - type: string; - size: number; - name: string; - path: string; - content?: string; - sha: string; - url: string; - git_url: string | null; - html_url: string | null; - download_url: string | null; - _links: { - git: string | null; - html: string | null; - self: string; + }; + /** + * Lists secret scanning alerts for eligible repositories in an enterprise, from newest to oldest. + * To use this endpoint, you must be a member of the enterprise, and you must use an access token with the `repo` scope or `security_events` scope. Alerts are only returned for organizations in the enterprise for which you are an organization owner or a [security manager](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization). + */ + "secret-scanning/list-alerts-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; }; - }[]; - /** Content File */ - "content-file": { - type: string; - encoding: string; - size: number; - name: string; - path: string; - content: string; - sha: string; - url: string; - git_url: string | null; - html_url: string | null; - download_url: string | null; - _links: { - git: string | null; - html: string | null; - self: string; + query: { + /** Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ + state?: components["parameters"]["secret-scanning-alert-state"]; + /** + * A comma-separated list of secret types to return. By default all secret types are returned. + * See "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)" + * for a complete list of secret types. + */ + secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; + /** A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`. */ + resolution?: components["parameters"]["secret-scanning-alert-resolution"]; + /** The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved. */ + sort?: components["parameters"]["secret-scanning-alert-sort"]; + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ + before?: components["parameters"]["pagination-before"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ + after?: components["parameters"]["pagination-after"]; }; - target?: string; - submodule_git_url?: string; }; - /** An object describing a symlink */ - "content-symlink": { - type: string; - target: string; - size: number; - name: string; - path: string; - sha: string; - url: string; - git_url: string | null; - html_url: string | null; - download_url: string | null; - _links: { - git: string | null; - html: string | null; - self: string; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["organization-secret-scanning-alert"][]; + }; }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; }; - /** An object describing a symlink */ - "content-submodule": { - type: string; - submodule_git_url: string; - size: number; - name: string; - path: string; - sha: string; - url: string; - git_url: string | null; - html_url: string | null; - download_url: string | null; - _links: { - git: string | null; - html: string | null; - self: string; + }; + /** + * Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * The authenticated user must be an enterprise admin. + */ + "billing/get-github-actions-billing-ghe": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; }; }; - /** File Commit */ - "file-commit": { - content: { - name?: string; - path?: string; - sha?: string; - size?: number; - url?: string; - html_url?: string; - git_url?: string; - download_url?: string; - type?: string; - _links?: { - self?: string; - git?: string; - html?: string; - }; - } | null; - commit: { - sha?: string; - node_id?: string; - url?: string; - html_url?: string; - author?: { - date?: string; - name?: string; - email?: string; - }; - committer?: { - date?: string; - name?: string; - email?: string; - }; - message?: string; - tree?: { - url?: string; - sha?: string; - }; - parents?: { - url?: string; - html_url?: string; - sha?: string; - }[]; - verification?: { - verified?: boolean; - reason?: string; - signature?: string | null; - payload?: string | null; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-billing-usage"]; }; }; }; - /** Contributor */ - contributor: { - login?: string; - id?: number; - node_id?: string; - avatar_url?: string; - gravatar_id?: string | null; - 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; - contributions: number; - email?: string; - name?: string; + }; + /** + * Gets the GitHub Advanced Security active committers for an enterprise per repository. + * + * Each distinct user login across all repositories is counted as a single Advanced Security seat, so the `total_advanced_security_committers` is not the sum of active_users for each repository. + * + * The total number of repositories with committer information is tracked by the `total_count` field. + */ + "billing/get-github-advanced-security-billing-ghe": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; }; - /** A request for a specific ref(branch,sha,tag) to be deployed */ - deployment: { - url: string; - /** Unique identifier of the deployment */ - id: number; - node_id: string; - sha: string; - /** The ref to deploy. This can be a branch, tag, or sha. */ - ref: string; - /** Parameter to specify a task to execute */ - task: string; - payload: { [key: string]: any }; - original_environment?: string; - /** Name for the target deployment environment. */ - environment: string; - description: string | null; - creator: components["schemas"]["simple-user"] | null; - created_at: string; - updated_at: string; - statuses_url: string; - repository_url: string; - /** Specifies if the given environment is will no longer exist at some point in the future. Default: false. */ - transient_environment?: boolean; - /** Specifies if the given environment is one that end-users directly interact with. Default: false. */ - production_environment?: boolean; - performed_via_github_app?: components["schemas"]["integration"] | null; + responses: { + /** Success */ + 200: { + content: { + "application/json": components["schemas"]["advanced-security-active-committers"]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; }; - /** The status of a deployment. */ - "deployment-status": { - url: string; - id: number; - node_id: string; - /** The state of the status. */ - state: - | "error" - | "failure" - | "inactive" - | "pending" - | "success" - | "queued" - | "in_progress"; - creator: components["schemas"]["simple-user"] | null; - /** A short description of the status. */ - description: string; - /** The environment of the deployment that the status is for. */ - environment?: string; - /** Deprecated: the URL to associate with this status. */ - target_url: string; - created_at: string; - updated_at: string; - deployment_url: string; - repository_url: string; - /** The URL for accessing your environment. */ - environment_url?: string; - /** The URL to associate with this status. */ - log_url?: string; - performed_via_github_app?: components["schemas"]["integration"] | null; + }; + /** + * Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * The authenticated user must be an enterprise admin. + */ + "billing/get-github-packages-billing-ghe": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; }; - /** Short Blob */ - "short-blob": { - url: string; - sha: string; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["packages-billing-usage"]; + }; + }; }; - /** Blob */ - blob: { - content: string; - encoding: string; - url: string; - sha: string; - size: number | null; - node_id: string; - highlighted_content?: string; + }; + /** + * Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * The authenticated user must be an enterprise admin. + */ + "billing/get-shared-storage-billing-ghe": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; }; - /** Low-level Git commit operations within a repository */ - "git-commit": { - /** SHA for the commit */ - sha: string; - node_id: string; - url: string; - /** Identifying information for the git-user */ - author: { - /** Timestamp of the commit */ - date: string; - /** Git email address of the user */ - email: string; - /** Name of the git user */ - name: string; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["combined-billing-usage"]; + }; }; - /** Identifying information for the git-user */ - committer: { - /** Timestamp of the commit */ - date: string; - /** Git email address of the user */ - email: string; - /** Name of the git user */ - name: string; + }; + }; + /** We delay the public events feed by five minutes, which means the most recent event returned by the public events API actually occurred at least five minutes ago. */ + "activity/list-public-events": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; - /** Message describing the purpose of the commit */ - message: string; - tree: { - /** SHA for the commit */ - sha: string; - url: string; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; }; - parents: { - /** SHA for the commit */ - sha: string; - url: string; - html_url: string; - }[]; - verification: { - verified: boolean; - reason: string; - signature: string | null; - payload: string | null; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * GitHub provides several timeline resources in [Atom](http://en.wikipedia.org/wiki/Atom_(standard)) format. The Feeds API lists all the feeds available to the authenticated user: + * + * * **Timeline**: The GitHub global public timeline + * * **User**: The public timeline for any user, using [URI template](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) + * * **Current user public**: The public timeline for the authenticated user + * * **Current user**: The private timeline for the authenticated user + * * **Current user actor**: The private timeline for activity created by the authenticated user + * * **Current user organizations**: The private timeline for the organizations the authenticated user is a member of. + * * **Security advisories**: A collection of public announcements that provide information about security-related vulnerabilities in software on GitHub. + * + * **Note**: Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) since current feed URIs use the older, non revocable auth tokens. + */ + "activity/get-feeds": { + parameters: {}; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["feed"]; + }; }; - html_url: string; }; - /** Git references within a repository */ - "git-ref": { - ref: string; - node_id: string; - url: string; - object: { - type: string; - /** SHA for the reference */ - sha: string; - url: string; + }; + /** Lists the authenticated user's gists or if called anonymously, this endpoint returns all public gists: */ + "gists/list": { + parameters: { + query: { + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; - /** Metadata for a Git tag */ - "git-tag": { - node_id: string; - /** Name of the tag */ - tag: string; - sha: string; - /** URL for the tag */ - url: string; - /** Message describing the purpose of the tag */ - message: string; - tagger: { - date: string; - email: string; - name: string; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["base-gist"][]; + }; }; - object: { - sha: string; - type: string; - url: string; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Allows you to add a new gist with one or more files. + * + * **Note:** Don't name your files "gistfile" with a numerical suffix. This is the format of the automatic naming scheme that Gist uses internally. + */ + "gists/create": { + parameters: {}; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["gist-simple"]; + }; }; - verification?: components["schemas"]["verification"]; - }; - /** The hierarchy between files in a Git repository. */ - "git-tree": { - sha: string; - url: string; - truncated: boolean; - /** Objects specifying a tree structure */ - tree: { - path?: string; - mode?: string; - type?: string; - sha?: string; - size?: number; - url?: string; - }[]; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; - "hook-response": { - code: number | null; - status: string | null; - message: string | null; + requestBody: { + content: { + "application/json": { + /** + * @description Description of the gist + * @example Example Ruby script + */ + description?: string; + /** + * @description Names and content for the files that make up the gist + * @example { + * "hello.rb": { + * "content": "puts \"Hello, World!\"" + * } + * } + */ + files: { + [key: string]: { + /** @description Content of the file */ + content: string; + }; + }; + public?: boolean | ("true" | "false"); + }; + }; }; - /** Webhooks for repositories. */ - hook: { - type: string; - /** Unique identifier of the webhook. */ - id: number; - /** The name of a valid service, use 'web' for a webhook. */ - name: string; - /** Determines whether the hook is actually triggered on pushes. */ - active: boolean; - /** Determines what events the hook is triggered for. Default: ['push']. */ - events: string[]; - config: { - email?: string; - password?: string; - room?: string; - subdomain?: string; - url?: components["schemas"]["webhook-config-url"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - digest?: string; - secret?: components["schemas"]["webhook-config-secret"]; - token?: string; + }; + /** + * List public gists sorted by most recently updated to least recently updated. + * + * Note: With [pagination](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination), you can fetch up to 3000 gists. For example, you can fetch 100 pages with 30 gists per page or 30 pages with 100 gists per page. + */ + "gists/list-public": { + parameters: { + query: { + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; - updated_at: string; - created_at: string; - url: string; - test_url: string; - ping_url: string; - last_response: components["schemas"]["hook-response"]; }; - /** A repository import from an external source. */ - import: { - vcs: string | null; - use_lfs?: string; - /** The URL of the originating repository. */ - vcs_url: string; - svc_root?: string; - tfvc_project?: string; - status: - | "auth" - | "error" - | "none" - | "detecting" - | "choose" - | "auth_failed" - | "importing" - | "mapping" - | "waiting_to_push" - | "pushing" - | "complete" - | "setup" - | "unknown" - | "detection_found_multiple" - | "detection_found_nothing" - | "detection_needs_auth"; - status_text?: string | null; - failed_step?: string | null; - error_message?: string | null; - import_percent?: number | null; - commit_count?: number | null; - push_percent?: number | null; - has_large_files?: boolean; - large_files_size?: number; - large_files_count?: number; - project_choices?: { - vcs?: string; - tfvc_project?: string; - human_name?: string; - }[]; - message?: string; - authors_count?: number | null; - url: string; - html_url: string; - authors_url: string; - repository_url: string; - svn_root?: string; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["base-gist"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; }; - /** Porter Author */ - "porter-author": { - id: number; - remote_id: string; - remote_name: string; - email: string; - name: string; - url: string; - import_url: string; + }; + /** List the authenticated user's starred gists: */ + "gists/list-starred": { + parameters: { + query: { + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; }; - /** Porter Large File */ - "porter-large-file": { - ref_name: string; - path: string; - oid: string; - size: number; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["base-gist"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; }; - /** Issue Event Label */ - "issue-event-label": { - name: string | null; - color: string | null; + }; + "gists/get": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; }; - "issue-event-dismissed-review": { - state: string; - review_id: number; - dismissal_message: string | null; - dismissal_commit_id?: string | null; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["gist-simple"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden_gist"]; + 404: components["responses"]["not_found"]; }; - /** Issue Event Milestone */ - "issue-event-milestone": { - title: string; + }; + "gists/delete": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; }; - /** Issue Event Project Card */ - "issue-event-project-card": { - url: string; - id: number; - project_url: string; - project_id: number; - column_name: string; - previous_column_name?: string; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; - /** Issue Event Rename */ - "issue-event-rename": { - from: string; - to: string; + }; + /** Allows you to update or delete a gist file and rename gist files. Files from the previous version of the gist that aren't explicitly changed during an edit are unchanged. */ + "gists/update": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; }; - /** Issue Event */ - "issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"] | null; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - issue?: components["schemas"]["issue-simple"]; - label?: components["schemas"]["issue-event-label"]; - assignee?: components["schemas"]["simple-user"] | null; - assigner?: components["schemas"]["simple-user"] | null; - review_requester?: components["schemas"]["simple-user"] | null; - requested_reviewer?: components["schemas"]["simple-user"] | null; - requested_team?: components["schemas"]["team"]; - dismissed_review?: components["schemas"]["issue-event-dismissed-review"]; - milestone?: components["schemas"]["issue-event-milestone"]; - project_card?: components["schemas"]["issue-event-project-card"]; - rename?: components["schemas"]["issue-event-rename"]; - author_association?: components["schemas"]["author_association"]; - lock_reason?: string | null; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["gist-simple"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; - /** Issue Event for Issue */ - "issue-event-for-issue": { - id?: number; - node_id?: string; - url?: string; - actor?: components["schemas"]["simple-user"]; - event?: string; - commit_id?: string | null; - commit_url?: string | null; - created_at?: string; - sha?: string; - html_url?: string; - message?: string; - issue_url?: string; - updated_at?: string; - author_association?: components["schemas"]["author_association"]; - body?: string; - lock_reason?: string; - submitted_at?: string; - state?: string; - pull_request_url?: string; - body_html?: string; - body_text?: string; + requestBody: { + content: { + "application/json": { + /** + * @description Description of the gist + * @example Example Ruby script + */ + description?: string; + /** + * @description Names of files to be updated + * @example { + * "hello.rb": { + * "content": "blah", + * "filename": "goodbye.rb" + * } + * } + */ + files?: { [key: string]: Partial<{ [key: string]: unknown }> }; + } | null; + }; }; - /** An SSH key granting access to a single repository. */ - "deploy-key": { - id: number; - key: string; - url: string; - title: string; - verified: boolean; - created_at: string; - read_only: boolean; + }; + "gists/list-comments": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; }; - /** Language */ - language: { [key: string]: number }; - /** License Content */ - "license-content": { - name: string; - path: string; - sha: string; - size: number; - url: string; - html_url: string | null; - git_url: string | null; - download_url: string | null; - type: string; - content: string; - encoding: string; - _links: { - git: string | null; - html: string | null; - self: string; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["gist-comment"][]; + }; }; - license: components["schemas"]["license-simple"] | null; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; - "pages-source-hash": { - branch: string; - path: string; + }; + "gists/create-comment": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; }; - /** The configuration for GitHub Pages for a repository. */ - page: { - /** The API address for accessing this Page resource. */ - url: string; - /** The status of the most recent build of the Page. */ - status: ("built" | "building" | "errored") | null; - /** The Pages site's custom domain */ - cname: string | null; - /** Whether the Page has a custom 404 page. */ - custom_404: boolean; - /** The web address the Page can be accessed from. */ - html_url?: string; - source?: components["schemas"]["pages-source-hash"]; - /** Whether the GitHub Pages site is publicly visible. If set to `true`, the site is accessible to anyone on the internet. If set to `false`, the site will only be accessible to users who have at least `read` access to the repository that published the site. */ - public: boolean; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["gist-comment"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; - /** Page Build */ - "page-build": { - url: string; - status: string; - error: { - message: string | null; + requestBody: { + content: { + "application/json": { + /** + * @description The comment text. + * @example Body of the attachment + */ + body: string; + }; }; - pusher: components["schemas"]["simple-user"] | null; - commit: string; - duration: number; - created_at: string; - updated_at: string; }; - /** Page Build Status */ - "page-build-status": { - url: string; - status: string; + }; + "gists/get-comment": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; }; - /** Pull requests let you tell others about changes you've pushed to a repository on GitHub. Once a pull request is sent, interested parties can review the set of changes, discuss potential modifications, and even push follow-up commits if necessary. */ - "pull-request": { - url: string; - id: number; - node_id: string; - html_url: string; - diff_url: string; - patch_url: string; - issue_url: string; - commits_url: string; - review_comments_url: string; - review_comment_url: string; - comments_url: string; - statuses_url: string; - /** Number uniquely identifying the pull request within its repository. */ - number: number; - /** State of this Pull Request. Either `open` or `closed`. */ - state: "open" | "closed"; - locked: boolean; - /** The title of the pull request. */ - title: string; - user: components["schemas"]["simple-user"] | null; - body: string | null; - labels: { - id?: number; - node_id?: string; - url?: string; - name?: string; - description?: string | null; - color?: string; - default?: boolean; - }[]; - milestone: components["schemas"]["milestone"] | null; - active_lock_reason?: string | null; - created_at: string; - updated_at: string; - closed_at: string | null; - merged_at: string | null; - merge_commit_sha: string | null; - assignee: components["schemas"]["simple-user"] | null; - assignees?: components["schemas"]["simple-user"][] | null; - requested_reviewers?: components["schemas"]["simple-user"][] | null; - requested_teams?: components["schemas"]["team-simple"][] | null; - head: { - label: string; - ref: string; - repo: { - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - contributors_url: string; - deployments_url: string; - description: string | null; - downloads_url: string; - events_url: string; - fork: boolean; - forks_url: string; - full_name: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - hooks_url: string; - html_url: string; - id: number; - node_id: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - languages_url: string; - merges_url: string; - milestones_url: string; - name: string; - notifications_url: string; - owner: { - avatar_url: string; - events_url: string; - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string | null; - html_url: string; - id: number; - node_id: string; - login: string; - organizations_url: string; - received_events_url: string; - repos_url: string; - site_admin: boolean; - starred_url: string; - subscriptions_url: string; - type: string; - url: string; - }; - private: boolean; - pulls_url: string; - releases_url: string; - stargazers_url: string; - statuses_url: string; - subscribers_url: string; - subscription_url: string; - tags_url: string; - teams_url: string; - trees_url: string; - url: string; - clone_url: string; - default_branch: string; - forks: number; - forks_count: number; - git_url: string; - has_downloads: boolean; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - homepage: string | null; - language: string | null; - master_branch?: string; - archived: boolean; - disabled: boolean; - mirror_url: string | null; - open_issues: number; - open_issues_count: number; - permissions?: { - admin: boolean; - pull: boolean; - push: boolean; - }; - temp_clone_token?: string; - allow_merge_commit?: boolean; - allow_squash_merge?: boolean; - allow_rebase_merge?: boolean; - license: { - key: string; - name: string; - url: string | null; - spdx_id: string | null; - node_id: string; - } | null; - pushed_at: string; - size: number; - ssh_url: string; - stargazers_count: number; - svn_url: string; - topics?: string[]; - watchers: number; - watchers_count: number; - created_at: string; - updated_at: string; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["gist-comment"]; }; - sha: string; - user: { - avatar_url: string; - events_url: string; - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string | null; - html_url: string; - id: number; - node_id: string; - login: string; - organizations_url: string; - received_events_url: string; - repos_url: string; - site_admin: boolean; - starred_url: string; - subscriptions_url: string; - type: string; - url: string; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden_gist"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/delete-comment": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/update-comment": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["gist-comment"]; }; }; - base: { - label: string; - ref: string; - repo: { - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - contributors_url: string; - deployments_url: string; - description: string | null; - downloads_url: string; - events_url: string; - fork: boolean; - forks_url: string; - full_name: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - hooks_url: string; - html_url: string; - id: number; - node_id: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - languages_url: string; - merges_url: string; - milestones_url: string; - name: string; - notifications_url: string; - owner: { - avatar_url: string; - events_url: string; - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string | null; - html_url: string; - id: number; - node_id: string; - login: string; - organizations_url: string; - received_events_url: string; - repos_url: string; - site_admin: boolean; - starred_url: string; - subscriptions_url: string; - type: string; - url: string; - }; - private: boolean; - pulls_url: string; - releases_url: string; - stargazers_url: string; - statuses_url: string; - subscribers_url: string; - subscription_url: string; - tags_url: string; - teams_url: string; - trees_url: string; - url: string; - clone_url: string; - default_branch: string; - forks: number; - forks_count: number; - git_url: string; - has_downloads: boolean; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - homepage: string | null; - language: string | null; - master_branch?: string; - archived: boolean; - disabled: boolean; - mirror_url: string | null; - open_issues: number; - open_issues_count: number; - permissions?: { - admin: boolean; - pull: boolean; - push: boolean; - }; - temp_clone_token?: string; - allow_merge_commit?: boolean; - allow_squash_merge?: boolean; - allow_rebase_merge?: boolean; - license: components["schemas"]["license-simple"] | null; - pushed_at: string; - size: number; - ssh_url: string; - stargazers_count: number; - svn_url: string; - topics?: string[]; - watchers: number; - watchers_count: number; - created_at: string; - updated_at: string; + 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The comment text. + * @example Body of the attachment + */ + body: string; }; - sha: string; - user: { - avatar_url: string; - events_url: string; - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string | null; - html_url: string; - id: number; - node_id: string; - login: string; - organizations_url: string; - received_events_url: string; - repos_url: string; - site_admin: boolean; - starred_url: string; - subscriptions_url: string; - type: string; - url: string; + }; + }; + }; + "gists/list-commits": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: { + Link?: string; + }; + content: { + "application/json": components["schemas"]["gist-commit"][]; }; }; - _links: { - comments: components["schemas"]["link"]; - commits: components["schemas"]["link"]; - statuses: components["schemas"]["link"]; - html: components["schemas"]["link"]; - issue: components["schemas"]["link"]; - review_comments: components["schemas"]["link"]; - review_comment: components["schemas"]["link"]; - self: components["schemas"]["link"]; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/list-forks": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["gist-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** **Note**: This was previously `/gists/:gist_id/fork`. */ + "gists/fork": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; }; - author_association: components["schemas"]["author_association"]; - auto_merge: components["schemas"]["auto_merge"]; - /** Indicates whether or not the pull request is a draft. */ - draft?: boolean; - merged: boolean; - mergeable: boolean | null; - rebaseable?: boolean | null; - mergeable_state: string; - merged_by: components["schemas"]["simple-user"] | null; - comments: number; - review_comments: number; - /** Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify: boolean; - commits: number; - additions: number; - deletions: number; - changed_files: number; }; - /** Pull Request Review Comments are comments on a portion of the Pull Request's diff. */ - "pull-request-review-comment": { - /** URL for the pull request review comment */ - url: string; - /** The ID of the pull request review to which the comment belongs. */ - pull_request_review_id: number | null; - /** The ID of the pull request review comment. */ - id: number; - /** The node ID of the pull request review comment. */ - node_id: string; - /** The diff of the line that the comment refers to. */ - diff_hunk: string; - /** The relative path of the file to which the comment applies. */ - path: string; - /** The line index in the diff to which the comment applies. */ - position: number; - /** The index of the original line in the diff to which the comment applies. */ - original_position: number; - /** The SHA of the commit to which the comment applies. */ - commit_id: string; - /** The SHA of the original commit to which the comment applies. */ - original_commit_id: string; - /** The comment ID to reply to. */ - in_reply_to_id?: number; - user: components["schemas"]["simple-user"]; - /** The text of the comment. */ - body: string; - created_at: string; - updated_at: string; - /** HTML URL for the pull request review comment. */ - html_url: string; - /** URL for the pull request that the review comment belongs to. */ - pull_request_url: string; - author_association: components["schemas"]["author_association"]; - _links: { - self: { - href: string; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; }; - html: { - href: string; + content: { + "application/json": components["schemas"]["base-gist"]; }; - pull_request: { - href: string; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "gists/check-is-starred": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** Response if gist is starred */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + /** Not Found if gist is not starred */ + 404: { + content: { + "application/json": { [key: string]: unknown }; }; }; - /** The first line of the range for a multi-line comment. */ - start_line?: number | null; - /** The first line of the range for a multi-line comment. */ - original_start_line?: number | null; - /** The side of the first line of the range for a multi-line comment. */ - start_side?: ("LEFT" | "RIGHT") | null; - /** The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - line?: number; - /** The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - original_line?: number; - /** The side of the diff to which the comment applies. The side of the last line of the range for a multi-line comment */ - side?: "LEFT" | "RIGHT"; - reactions?: components["schemas"]["reaction-rollup"]; - body_html?: string; - body_text?: string; }; - /** Pull Request Merge Result */ - "pull-request-merge-result": { - sha: string; - merged: boolean; - message: string; + }; + /** Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." */ + "gists/star": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; }; - /** Pull Request Review Request */ - "pull-request-review-request": { - users: components["schemas"]["simple-user"][]; - teams: components["schemas"]["team-simple"][]; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; - /** Pull Request Reviews are reviews on pull requests. */ - "pull-request-review": { - /** Unique identifier of the review */ - id: number; - node_id: string; - user: components["schemas"]["simple-user"] | null; - /** The text of the review. */ - body: string; - state: string; - html_url: string; - pull_request_url: string; - _links: { - html: { - href: string; - }; - pull_request: { - href: string; - }; + }; + "gists/unstar": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; }; - submitted_at?: string; - /** A commit SHA for the review. */ - commit_id: string; - body_html?: string; - body_text?: string; - author_association: components["schemas"]["author_association"]; }; - /** Legacy Review Comment */ - "review-comment": { - url: string; - pull_request_review_id: number | null; - id: number; - node_id: string; - diff_hunk: string; - path: string; - position: number | null; - original_position: number; - commit_id: string; - original_commit_id: string; - in_reply_to_id?: number; - user: components["schemas"]["simple-user"] | null; - body: string; - created_at: string; - updated_at: string; - html_url: string; - pull_request_url: string; - author_association: components["schemas"]["author_association"]; - _links: { - self: components["schemas"]["link"]; - html: components["schemas"]["link"]; - pull_request: components["schemas"]["link"]; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/get-revision": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + sha: string; }; - body_text?: string; - body_html?: string; - /** The side of the first line of the range for a multi-line comment. */ - side?: "LEFT" | "RIGHT"; - /** The side of the first line of the range for a multi-line comment. */ - start_side?: ("LEFT" | "RIGHT") | null; - /** The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - line?: number; - /** The original line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - original_line?: number; - /** The first line of the range for a multi-line comment. */ - start_line?: number | null; - /** The original first line of the range for a multi-line comment. */ - original_start_line?: number | null; }; - /** Data related to a release. */ - "release-asset": { - url: string; - browser_download_url: string; - id: number; - node_id: string; - /** The file name of the asset. */ - name: string; - label: string | null; - /** State of the release asset. */ - state: "uploaded" | "open"; - content_type: string; - size: number; - download_count: number; - created_at: string; - updated_at: string; - uploader: components["schemas"]["simple-user"] | null; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["gist-simple"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; - /** A release. */ - release: { - url: string; - html_url: string; - assets_url: string; - upload_url: string; - tarball_url: string | null; - zipball_url: string | null; - id: number; - node_id: string; - /** The name of the tag. */ - tag_name: string; - /** Specifies the commitish value that determines where the Git tag is created from. */ - target_commitish: string; - name: string | null; - body?: string | null; - /** true to create a draft (unpublished) release, false to create a published one. */ - draft: boolean; - /** Whether to identify the release as a prerelease or a full release. */ - prerelease: boolean; - created_at: string; - published_at: string | null; - author: components["schemas"]["simple-user"]; - assets: components["schemas"]["release-asset"][]; - body_html?: string; - body_text?: string; + }; + /** List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/reference/repos#create-a-repository-for-the-authenticated-user). */ + "gitignore/get-all-templates": { + parameters: {}; + responses: { + /** Response */ + 200: { + content: { + "application/json": string[]; + }; + }; + 304: components["responses"]["not_modified"]; }; - /** Sets the state of the secret scanning alert. Can be either `open` or `resolved`. You must provide `resolution` when you set the state to `resolved`. */ - "secret-scanning-alert-state": "open" | "resolved"; - /** **Required when the `state` is `resolved`.** The reason for resolving the alert. Can be one of `false_positive`, `wont_fix`, `revoked`, or `used_in_tests`. */ - "secret-scanning-alert-resolution": string | null; - "secret-scanning-alert": { - number?: components["schemas"]["alert-number"]; - created_at?: components["schemas"]["alert-created-at"]; - url?: components["schemas"]["alert-url"]; - html_url?: components["schemas"]["alert-html-url"]; - state?: components["schemas"]["secret-scanning-alert-state"]; - resolution?: components["schemas"]["secret-scanning-alert-resolution"]; - /** The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - resolved_at?: string | null; - resolved_by?: components["schemas"]["simple-user"]; - /** The type of secret that secret scanning detected. */ - secret_type?: string; - /** The secret that was detected. */ - secret?: string; + }; + /** + * The API also allows fetching the source of a single template. + * Use the raw [media type](https://docs.github.com/rest/overview/media-types/) to get the raw contents. + */ + "gitignore/get-template": { + parameters: { + path: { + name: string; + }; }; - /** Stargazer */ - stargazer: { - starred_at: string; - user: components["schemas"]["simple-user"] | null; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["gitignore-template"]; + }; + }; + 304: components["responses"]["not_modified"]; }; - /** Code Frequency Stat */ - "code-frequency-stat": number[]; - /** Commit Activity */ - "commit-activity": { - days: number[]; - total: number; - week: number; + }; + /** + * List repositories that an app installation can access. + * + * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + "apps/list-repos-accessible-to-installation": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; }; - /** Contributor Activity */ - "contributor-activity": { - author: components["schemas"]["simple-user"] | null; - total: number; - weeks: { - w?: string; - a?: number; - d?: number; - c?: number; - }[]; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["repository"][]; + /** @example selected */ + repository_selection?: string; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; }; - "participation-stats": { - all: number[]; - owner: number[]; + }; + /** + * Revokes the installation token you're using to authenticate as an installation and access this endpoint. + * + * Once an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the "[Create an installation access token for an app](https://docs.github.com/rest/reference/apps#create-an-installation-access-token-for-an-app)" endpoint. + * + * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + "apps/revoke-installation-access-token": { + parameters: {}; + responses: { + /** Response */ + 204: never; }; - /** Repository invitations let you manage who you collaborate with. */ - "repository-subscription": { - /** Determines if notifications should be received from this repository. */ - subscribed: boolean; - /** Determines if all notifications should be blocked from this repository. */ - ignored: boolean; - reason: string | null; - created_at: string; - url: string; - repository_url: string; + }; + /** + * List issues assigned to the authenticated user across all visible repositories including owned repositories, member + * repositories, and organization repositories. You can use the `filter` query parameter to fetch issues that are not + * necessarily assigned to you. + * + * + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + "issues/list": { + parameters: { + query: { + /** Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation. */ + filter?: + | "assigned" + | "created" + | "mentioned" + | "subscribed" + | "repos" + | "all"; + /** Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. */ + state?: "open" | "closed" | "all"; + /** A list of comma separated label names. Example: `bug,ui,@high` */ + labels?: components["parameters"]["labels"]; + /** What to sort results by. Can be either `created`, `updated`, `comments`. */ + sort?: "created" | "updated" | "comments"; + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + collab?: boolean; + orgs?: boolean; + owned?: boolean; + pulls?: boolean; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; }; - /** Tag */ - tag: { - name: string; - commit: { - sha: string; - url: string; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["issue"][]; + }; }; - zipball_url: string; - tarball_url: string; - node_id: string; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; - /** A topic aggregates entities that are related to a subject. */ - topic: { - names: string[]; + }; + "licenses/get-all-commonly-used": { + parameters: { + query: { + featured?: boolean; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; }; - traffic: { - timestamp: string; - uniques: number; - count: number; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["license-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; }; - /** Clone Traffic */ - "clone-traffic": { - count: number; - uniques: number; - clones: components["schemas"]["traffic"][]; + }; + "licenses/get": { + parameters: { + path: { + license: string; + }; }; - /** Content Traffic */ - "content-traffic": { - path: string; - title: string; - count: number; - uniques: number; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["license"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; - /** Referrer Traffic */ - "referrer-traffic": { - referrer: string; - count: number; - uniques: number; + }; + "markdown/render": { + parameters: {}; + responses: { + /** Response */ + 200: { + headers: { + "Content-Length"?: string; + }; + content: { + "text/html": string; + }; + }; + 304: components["responses"]["not_modified"]; }; - /** View Traffic */ - "view-traffic": { - count: number; - uniques: number; - views: components["schemas"]["traffic"][]; + requestBody: { + content: { + "application/json": { + /** @description The Markdown text to render in HTML. */ + text: string; + /** + * @description The rendering mode. Can be either `markdown` or `gfm`. + * @default markdown + * @example markdown + * @enum {string} + */ + mode?: "markdown" | "gfm"; + /** @description The repository context to use when creating references in `gfm` mode. For example, setting `context` to `octo-org/octo-repo` will change the text `#42` into an HTML link to issue 42 in the `octo-org/octo-repo` repository. */ + context?: string; + }; + }; }; - "scim-group-list-enterprise": { - schemas: string[]; - totalResults: number; - itemsPerPage: number; - startIndex: number; - Resources: { - schemas: string[]; - id: string; - externalId?: string | null; - displayName?: string; - members?: { - value?: string; - $ref?: string; - display?: string; - }[]; - meta?: { - resourceType?: string; - created?: string; - lastModified?: string; - location?: string; + }; + /** You must send Markdown as plain text (using a `Content-Type` header of `text/plain` or `text/x-markdown`) to this endpoint, rather than using JSON format. In raw mode, [GitHub Flavored Markdown](https://github.github.com/gfm/) is not supported and Markdown will be rendered in plain format like a README.md file. Markdown content must be 400 KB or less. */ + "markdown/render-raw": { + parameters: {}; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "text/html": string; }; - }[]; + }; + 304: components["responses"]["not_modified"]; }; - "scim-enterprise-group": { - schemas: string[]; - id: string; - externalId?: string | null; - displayName?: string; - members?: { - value?: string; - $ref?: string; - display?: string; - }[]; - meta?: { - resourceType?: string; - created?: string; - lastModified?: string; - location?: string; + requestBody: { + content: { + "text/plain": string; + "text/x-markdown": string; }; }; - "scim-user-list-enterprise": { - schemas: string[]; - totalResults: number; - itemsPerPage: number; - startIndex: number; - Resources: { - schemas: string[]; - id: string; - externalId?: string; - userName?: string; - name?: { - givenName?: string; - familyName?: string; - }; - emails?: { - value?: string; - primary?: boolean; - type?: string; - }[]; - groups?: { - value?: string; - }[]; - active?: boolean; - meta?: { - resourceType?: string; - created?: string; - lastModified?: string; - location?: string; + }; + /** + * Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/get-subscription-plan-for-account": { + parameters: { + path: { + /** account_id parameter */ + account_id: components["parameters"]["account-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["marketplace-purchase"]; }; - }[]; + }; + 401: components["responses"]["requires_authentication"]; + /** Not Found when the account has not purchased the listing */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; }; - "scim-enterprise-user": { - schemas: string[]; - id: string; - externalId?: string; - userName?: string; - name?: { - givenName?: string; - familyName?: string; + }; + /** + * Lists all plans that are part of your GitHub Marketplace listing. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/list-plans": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; - emails?: { - value?: string; - type?: string; - primary?: boolean; - }[]; - groups?: { - value?: string; - }[]; - active?: boolean; - meta?: { - resourceType?: string; - created?: string; - lastModified?: string; - location?: string; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["marketplace-listing-plan"][]; + }; }; + 401: components["responses"]["requires_authentication"]; + 404: components["responses"]["not_found"]; }; - /** SCIM /Users provisioning endpoints */ - "scim-user": { - /** SCIM schema used. */ - schemas: string[]; - /** Unique identifier of an external identity */ - id: string; - /** The ID of the User. */ - externalId: string | null; - /** Configured by the admin. Could be an email, login, or username */ - userName: string | null; - /** The name of the user, suitable for display to end-users */ - displayName?: string | null; - name: { - givenName: string | null; - familyName: string | null; - formatted?: string | null; + }; + /** + * Returns user and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/list-accounts-for-plan": { + parameters: { + path: { + /** The unique identifier of the plan. */ + plan_id: components["parameters"]["plan-id"]; }; - /** user emails */ - emails: { - value: string; - primary?: boolean; - }[]; - /** The active status of the User. */ - active: boolean; - meta: { - resourceType?: string; - created?: string; - lastModified?: string; - location?: string; + query: { + /** The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to. */ + sort?: components["parameters"]["sort"]; + /** To return the oldest accounts first, set to `asc`. Ignored without the `sort` parameter. */ + direction?: "asc" | "desc"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; - /** The ID of the organization. */ - organization_id?: number; - /** Set of operations to be performed */ - operations?: { - op: "add" | "remove" | "replace"; - path?: string; - value?: string | { [key: string]: any } | { [key: string]: any }[]; - }[]; - /** associated groups */ - groups?: { - value?: string; - display?: string; - }[]; }; - /** SCIM User List */ - "scim-user-list": { - /** SCIM schema used. */ - schemas: string[]; - totalResults: number; - itemsPerPage: number; - startIndex: number; - Resources: components["schemas"]["scim-user"][]; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["marketplace-purchase"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; - "search-result-text-matches": { - object_url?: string; - object_type?: string | null; - property?: string; - fragment?: string; - matches?: { - text?: string; - indices?: number[]; - }[]; - }[]; - /** Code Search Result Item */ - "code-search-result-item": { - name: string; - path: string; - sha: string; - url: string; - git_url: string; - html_url: string; - repository: components["schemas"]["minimal-repository"]; - score: number; - file_size?: number; - language?: string | null; - last_modified_at?: string; - line_numbers?: string[]; - text_matches?: components["schemas"]["search-result-text-matches"]; + }; + /** + * Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/get-subscription-plan-for-account-stubbed": { + parameters: { + path: { + /** account_id parameter */ + account_id: components["parameters"]["account-id"]; + }; }; - /** Commit Search Result Item */ - "commit-search-result-item": { - url: string; - sha: string; - html_url: string; - comments_url: string; - commit: { - author: { - name: string; - email: string; - date: string; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["marketplace-purchase"]; }; - committer: components["schemas"]["git-user"] | null; - comment_count: number; - message: string; - tree: { - sha: string; - url: string; + }; + 401: components["responses"]["requires_authentication"]; + /** Not Found when the account has not purchased the listing */ + 404: unknown; + }; + }; + /** + * Lists all plans that are part of your GitHub Marketplace listing. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/list-plans-stubbed": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["marketplace-listing-plan"][]; }; - url: string; - verification?: components["schemas"]["verification"]; }; - author: components["schemas"]["simple-user"] | null; - committer: components["schemas"]["git-user"] | null; - parents: { - url?: string; - html_url?: string; - sha?: string; - }[]; - repository: components["schemas"]["minimal-repository"]; - score: number; - node_id: string; - text_matches?: components["schemas"]["search-result-text-matches"]; + 401: components["responses"]["requires_authentication"]; }; - /** Issue Search Result Item */ - "issue-search-result-item": { - url: string; - repository_url: string; - labels_url: string; - comments_url: string; - events_url: string; - html_url: string; - id: number; - node_id: string; - number: number; - title: string; - locked: boolean; - active_lock_reason?: string | null; - assignees?: components["schemas"]["simple-user"][] | null; - user: components["schemas"]["simple-user"] | null; - labels: { - id?: number; - node_id?: string; - url?: string; - name?: string; - color?: string; - default?: boolean; - description?: string | null; - }[]; - state: string; - assignee: components["schemas"]["simple-user"] | null; - milestone: components["schemas"]["milestone"] | null; - comments: number; - created_at: string; - updated_at: string; - closed_at: string | null; - text_matches?: components["schemas"]["search-result-text-matches"]; - pull_request?: { - merged_at?: string | null; - diff_url: string | null; - html_url: string | null; - patch_url: string | null; - url: string | null; + }; + /** + * Returns repository and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/list-accounts-for-plan-stubbed": { + parameters: { + path: { + /** The unique identifier of the plan. */ + plan_id: components["parameters"]["plan-id"]; + }; + query: { + /** The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to. */ + sort?: components["parameters"]["sort"]; + /** To return the oldest accounts first, set to `asc`. Ignored without the `sort` parameter. */ + direction?: "asc" | "desc"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; - body?: string; - score: number; - author_association: components["schemas"]["author_association"]; - draft?: boolean; - repository?: components["schemas"]["repository"]; - body_html?: string; - body_text?: string; - timeline_url?: string; - performed_via_github_app?: components["schemas"]["integration"] | null; - }; - /** Label Search Result Item */ - "label-search-result-item": { - id: number; - node_id: string; - url: string; - name: string; - color: string; - default: boolean; - description: string | null; - score: number; - text_matches?: components["schemas"]["search-result-text-matches"]; }; - /** Repo Search Result Item */ - "repo-search-result-item": { - id: number; - node_id: string; - name: string; - full_name: string; - owner: components["schemas"]["simple-user"] | null; - private: boolean; - html_url: string; - description: string | null; - fork: boolean; - url: string; - created_at: string; - updated_at: string; - pushed_at: string; - homepage: string | null; - size: number; - stargazers_count: number; - watchers_count: number; - language: string | null; - forks_count: number; - open_issues_count: number; - master_branch?: string; - default_branch: string; - score: number; - forks_url: string; - keys_url: string; - collaborators_url: string; - teams_url: string; - hooks_url: string; - issue_events_url: string; - events_url: string; - assignees_url: string; - branches_url: string; - tags_url: string; - blobs_url: string; - git_tags_url: string; - git_refs_url: string; - trees_url: string; - statuses_url: string; - languages_url: string; - stargazers_url: string; - contributors_url: string; - subscribers_url: string; - subscription_url: string; - commits_url: string; - git_commits_url: string; - comments_url: string; - issue_comment_url: string; - contents_url: string; - compare_url: string; - merges_url: string; - archive_url: string; - downloads_url: string; - issues_url: string; - pulls_url: string; - milestones_url: string; - notifications_url: string; - labels_url: string; - releases_url: string; - deployments_url: string; - git_url: string; - ssh_url: string; - clone_url: string; - svn_url: string; - forks: number; - open_issues: number; - watchers: number; - topics?: string[]; - mirror_url: string | null; - has_issues: boolean; - has_projects: boolean; - has_pages: boolean; - has_wiki: boolean; - has_downloads: boolean; - archived: boolean; - /** Returns whether or not this repository disabled. */ - disabled: boolean; - license: components["schemas"]["license-simple"] | null; - permissions?: { - admin: boolean; - pull: boolean; - push: boolean; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["marketplace-purchase"][]; + }; }; - text_matches?: components["schemas"]["search-result-text-matches"]; - temp_clone_token?: string; - allow_merge_commit?: boolean; - allow_squash_merge?: boolean; - allow_rebase_merge?: boolean; - delete_branch_on_merge?: boolean; + 401: components["responses"]["requires_authentication"]; }; - /** Topic Search Result Item */ - "topic-search-result-item": { - name: string; - display_name: string | null; - short_description: string | null; - description: string | null; - created_by: string | null; - released: string | null; - created_at: string; - updated_at: string; - featured: boolean; - curated: boolean; - score: number; - repository_count?: number | null; - logo_url?: string | null; - text_matches?: components["schemas"]["search-result-text-matches"]; - related?: - | { - topic_relation?: { - id?: number; - name?: string; - topic_id?: number; - relation_type?: string; - }; - }[] - | null; - aliases?: - | { - topic_relation?: { - id?: number; - name?: string; - topic_id?: number; - relation_type?: string; - }; - }[] - | null; + }; + /** + * Returns meta information about GitHub, including a list of GitHub's IP addresses. For more information, see "[About GitHub's IP addresses](https://docs.github.com/articles/about-github-s-ip-addresses/)." + * + * **Note:** The IP addresses shown in the documentation's response are only example values. You must always query the API directly to get the latest list of IP addresses. + */ + "meta/get": { + parameters: {}; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["api-overview"]; + }; + }; + 304: components["responses"]["not_modified"]; }; - /** User Search Result Item */ - "user-search-result-item": { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string | null; - url: string; - html_url: string; - followers_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; - received_events_url: string; - type: string; - score: number; - following_url: string; - gists_url: string; - starred_url: string; - events_url: string; - public_repos?: number; - public_gists?: number; - followers?: number; - following?: number; - created_at?: string; - updated_at?: string; - name?: string | null; - bio?: string | null; - email?: string | null; - location?: string | null; - site_admin: boolean; - hireable?: boolean | null; - text_matches?: components["schemas"]["search-result-text-matches"]; - blog?: string | null; - company?: string | null; - suspended_at?: string | null; + }; + "activity/list-public-events-for-repo-network": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; }; - /** Private User */ - "private-user": { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string | null; - 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; - name: string | null; - company: string | null; - blog: string | null; - location: string | null; - email: string | null; - hireable: boolean | null; - bio: string | null; - twitter_username?: string | null; - public_repos: number; - public_gists: number; - followers: number; - following: number; - created_at: string; - updated_at: string; - private_gists: number; - total_private_repos: number; - owned_private_repos: number; - disk_usage: number; - collaborators: number; - two_factor_authentication: boolean; - plan?: { - collaborators: number; - name: string; - space: number; - private_repos: number; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; }; - suspended_at?: string | null; - business_plus?: boolean; - ldap_dn?: string; + 301: components["responses"]["moved_permanently"]; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; - /** Public User */ - "public-user": { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string | null; - 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; - name: string | null; - company: string | null; - blog: string | null; - location: string | null; - email: string | null; - hireable: boolean | null; - bio: string | null; - twitter_username?: string | null; - public_repos: number; - public_gists: number; - followers: number; - following: number; - created_at: string; - updated_at: string; - plan?: { - collaborators: number; - name: string; - space: number; - private_repos: number; + }; + /** List all notifications for the current user, sorted by most recently updated. */ + "activity/list-notifications-for-authenticated-user": { + parameters: { + query: { + /** If `true`, show notifications marked as read. */ + all?: components["parameters"]["all"]; + /** If `true`, only shows notifications in which the user is directly participating or mentioned. */ + participating?: components["parameters"]["participating"]; + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + before?: components["parameters"]["before"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; - suspended_at?: string | null; - private_gists?: number; - total_private_repos?: number; - owned_private_repos?: number; - disk_usage?: number; - collaborators?: number; - }; - /** Email */ - email: { - email: string; - primary: boolean; - verified: boolean; - visibility: string | null; }; - /** A unique encryption key */ - "gpg-key": { - id: number; - primary_key_id: number | null; - key_id: string; - public_key: string; - emails: { - email?: string; - verified?: boolean; - }[]; - subkeys: { - id?: number; - primary_key_id?: number; - key_id?: string; - public_key?: string; - emails?: { [key: string]: any }[]; - subkeys?: { [key: string]: any }[]; - can_sign?: boolean; - can_encrypt_comms?: boolean; - can_encrypt_storage?: boolean; - can_certify?: boolean; - created_at?: string; - expires_at?: string | null; - raw_key?: string | null; - }[]; - can_sign: boolean; - can_encrypt_comms: boolean; - can_encrypt_storage: boolean; - can_certify: boolean; - created_at: string; - expires_at: string | null; - raw_key: string | null; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["thread"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; }; - /** Key */ - key: { - key_id: string; - key: string; - id: number; - url: string; - title: string; - created_at: string; - verified: boolean; - read_only: boolean; + }; + /** Marks all notifications as "read" removes it from the [default view on GitHub](https://github.com/notifications). If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List notifications for the authenticated user](https://docs.github.com/rest/reference/activity#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. */ + "activity/mark-notifications-as-read": { + parameters: {}; + responses: { + /** Response */ + 202: { + content: { + "application/json": { + message?: string; + }; + }; + }; + /** Reset Content */ + 205: unknown; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; }; - "marketplace-account": { - url: string; - id: number; - type: string; - node_id?: string; - login: string; - email?: string | null; - organization_billing_email?: string | null; + requestBody: { + content: { + "application/json": { + /** + * Format: date-time + * @description Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. + */ + last_read_at?: string; + /** @description Whether the notification has been read. */ + read?: boolean; + }; + }; }; - /** User Marketplace Purchase */ - "user-marketplace-purchase": { - billing_cycle: string; - next_billing_date: string | null; - unit_count: number | null; - on_free_trial: boolean; - free_trial_ends_on: string | null; - updated_at: string | null; - account: components["schemas"]["marketplace-account"]; - plan: components["schemas"]["marketplace-listing-plan"]; + }; + "activity/get-thread": { + parameters: { + path: { + /** The unique identifier of the pull request thread. */ + thread_id: components["parameters"]["thread-id"]; + }; }; - /** Starred Repository */ - "starred-repository": { - starred_at: string; - repo: components["schemas"]["repository"]; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["thread"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; }; - /** Hovercard */ - hovercard: { - contexts: { - message: string; - octicon: string; - }[]; + }; + "activity/mark-thread-as-read": { + parameters: { + path: { + /** The unique identifier of the pull request thread. */ + thread_id: components["parameters"]["thread-id"]; + }; }; - /** Key Simple */ - "key-simple": { - id: number; - key: string; + responses: { + /** Reset Content */ + 205: unknown; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; }; }; - responses: { - /** Resource Not Found */ - not_found: { - content: { - "application/json": components["schemas"]["basic-error"]; + /** + * This checks to see if the current user is subscribed to a thread. You can also [get a repository subscription](https://docs.github.com/rest/reference/activity#get-a-repository-subscription). + * + * Note that subscriptions are only generated if a user is participating in a conversation--for example, they've replied to the thread, were **@mentioned**, or manually subscribe to a thread. + */ + "activity/get-thread-subscription-for-authenticated-user": { + parameters: { + path: { + /** The unique identifier of the pull request thread. */ + thread_id: components["parameters"]["thread-id"]; }; }; - /** Validation Failed */ - validation_failed_simple: { - content: { - "application/json": components["schemas"]["validation-error-simple"]; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["thread-subscription"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * If you are watching a repository, you receive notifications for all threads by default. Use this endpoint to ignore future notifications for threads until you comment on the thread or get an **@mention**. + * + * You can also use this endpoint to subscribe to threads that you are currently not receiving notifications for or to subscribed to threads that you have previously ignored. + * + * Unsubscribing from a conversation in a repository that you are not watching is functionally equivalent to the [Delete a thread subscription](https://docs.github.com/rest/reference/activity#delete-a-thread-subscription) endpoint. + */ + "activity/set-thread-subscription": { + parameters: { + path: { + /** The unique identifier of the pull request thread. */ + thread_id: components["parameters"]["thread-id"]; }; }; - /** Preview Header Missing */ - preview_header_missing: { - content: { - "application/json": { - message: string; - documentation_url: string; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["thread-subscription"]; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; }; - /** Forbidden */ - forbidden: { + requestBody: { content: { - "application/json": components["schemas"]["basic-error"]; + "application/json": { + /** + * @description Whether to block all notifications from a thread. + * @default false + */ + ignored?: boolean; + }; }; }; - /** Requires Authentication */ - requires_authentication: { - content: { - "application/json": components["schemas"]["basic-error"]; + }; + /** Mutes all future notifications for a conversation until you comment on the thread or get an **@mention**. If you are watching the repository of the thread, you will still receive notifications. To ignore future notifications for a repository you are watching, use the [Set a thread subscription](https://docs.github.com/rest/reference/activity#set-a-thread-subscription) endpoint and set `ignore` to `true`. */ + "activity/delete-thread-subscription": { + parameters: { + path: { + /** The unique identifier of the pull request thread. */ + thread_id: components["parameters"]["thread-id"]; }; }; - /** Validation Failed */ - validation_failed: { - content: { - "application/json": components["schemas"]["validation-error"]; - }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; }; - /** Not Modified */ - not_modified: unknown; - /** Gone */ - gone: { - content: { - "application/json": components["schemas"]["basic-error"]; + }; + /** Get the octocat as ASCII art */ + "meta/get-octocat": { + parameters: { + query: { + /** The words to show in Octocat's speech bubble */ + s?: string; }; }; - /** Service Unavailable */ - service_unavailable: { - content: { - "application/json": { - code?: string; - message?: string; - documentation_url?: string; + responses: { + /** Response */ + 200: { + content: { + "application/octocat-stream": string; }; }; }; - /** Forbidden Gist */ - forbidden_gist: { - content: { - "application/json": { - block?: { - reason?: string; - created_at?: string; - html_url?: string | null; - }; - message?: string; - documentation_url?: string; - }; + }; + /** + * Lists all organizations, in the order that they were created on GitHub. + * + * **Note:** Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of organizations. + */ + "orgs/list": { + parameters: { + query: { + /** An organization ID. Only return organizations with an ID greater than this ID. */ + since?: components["parameters"]["since-org"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; }; }; - /** Moved Permanently */ - moved_permanently: unknown; - /** Conflict */ - conflict: { - content: { - "application/json": components["schemas"]["basic-error"]; + responses: { + /** Response */ + 200: { + headers: { + Link?: string; + }; + content: { + "application/json": components["schemas"]["organization-simple"][]; + }; }; + 304: components["responses"]["not_modified"]; }; - /** Internal Error */ - internal_error: { - content: { - "application/json": components["schemas"]["basic-error"]; + }; + /** + * List the custom repository roles available in this organization. In order to see custom + * repository roles in an organization, the authenticated user must be an organization owner. + * + * For more information on custom repository roles, see "[Managing custom repository roles for an organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)". + */ + "orgs/list-custom-roles": { + parameters: { + path: { + organization_id: string; }; }; - /** Bad Request */ - bad_request: { - content: { - "application/json": components["schemas"]["basic-error"]; - "application/scim+json": components["schemas"]["scim-error"]; + responses: { + /** Response - list of custom role names */ + 200: { + content: { + "application/json": { + /** + * @description The number of custom roles in this organization + * @example 3 + */ + total_count?: number; + custom_roles?: components["schemas"]["organization-custom-repository-role"][]; + }; + }; }; }; - /** Found */ - found: unknown; - /** Resource Not Found */ - scim_not_found: { - content: { - "application/json": components["schemas"]["scim-error"]; - "application/scim+json": components["schemas"]["scim-error"]; + }; + /** + * To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://docs.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). + * + * GitHub Apps with the `Organization plan` permission can use this endpoint to retrieve information about an organization's GitHub plan. See "[Authenticating with GitHub Apps](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/)" for details. For an example response, see 'Response with GitHub plan information' below." + */ + "orgs/get": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; }; }; - /** Forbidden */ - scim_forbidden: { - content: { - "application/json": components["schemas"]["scim-error"]; - "application/scim+json": components["schemas"]["scim-error"]; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["organization-full"]; + }; }; + 404: components["responses"]["not_found"]; }; - /** Bad Request */ - scim_bad_request: { - content: { - "application/json": components["schemas"]["scim-error"]; - "application/scim+json": components["schemas"]["scim-error"]; + }; + /** + * **Parameter Deprecation Notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). + * + * Enables an authenticated organization owner with the `admin:org` scope to update the organization's profile and member privileges. + */ + "orgs/update": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; }; }; - /** Internal Error */ - scim_internal_error: { - content: { - "application/json": components["schemas"]["scim-error"]; - "application/scim+json": components["schemas"]["scim-error"]; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["organization-full"]; + }; + }; + 409: components["responses"]["conflict"]; + /** Validation failed */ + 422: { + content: { + "application/json": + | components["schemas"]["validation-error"] + | components["schemas"]["validation-error-simple"]; + }; }; }; - /** Conflict */ - scim_conflict: { + requestBody: { content: { - "application/json": components["schemas"]["scim-error"]; - "application/scim+json": components["schemas"]["scim-error"]; + "application/json": { + /** @description Billing email address. This address is not publicized. */ + billing_email?: string; + /** @description The company name. */ + company?: string; + /** @description The publicly visible email address. */ + email?: string; + /** @description The Twitter username of the company. */ + twitter_username?: string; + /** @description The location. */ + location?: string; + /** @description The shorthand name of the company. */ + name?: string; + /** @description The description of the company. */ + description?: string; + /** @description Whether an organization can use organization projects. */ + has_organization_projects?: boolean; + /** @description Whether repositories that belong to the organization can use repository projects. */ + has_repository_projects?: boolean; + /** + * @description Default permission level members have for organization repositories. + * @default read + * @enum {string} + */ + default_repository_permission?: "read" | "write" | "admin" | "none"; + /** + * @description Whether of non-admin organization members can create repositories. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. + * @default true + */ + members_can_create_repositories?: boolean; + /** @description Whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ + members_can_create_internal_repositories?: boolean; + /** @description Whether organization members can create private repositories, which are visible to organization members with permission. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ + members_can_create_private_repositories?: boolean; + /** @description Whether organization members can create public repositories, which are visible to anyone. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ + members_can_create_public_repositories?: boolean; + /** + * @description Specifies which types of repositories non-admin organization members can create. `private` is only available to repositories that are part of an organization on GitHub Enterprise Cloud. + * **Note:** This parameter is deprecated and will be removed in the future. Its return value ignores internal repositories. Using this parameter overrides values set in `members_can_create_repositories`. See the parameter deprecation notice in the operation description for details. + * @enum {string} + */ + members_allowed_repository_creation_type?: "all" | "private" | "none"; + /** + * @description Whether organization members can create GitHub Pages sites. Existing published sites will not be impacted. + * @default true + */ + members_can_create_pages?: boolean; + /** + * @description Whether organization members can create public GitHub Pages sites. Existing published sites will not be impacted. + * @default true + */ + members_can_create_public_pages?: boolean; + /** + * @description Whether organization members can create private GitHub Pages sites. Existing published sites will not be impacted. + * @default true + */ + members_can_create_private_pages?: boolean; + /** + * @description Whether organization members can fork private organization repositories. + * @default false + */ + members_can_fork_private_repositories?: boolean; + /** @example "http://github.blog" */ + blog?: string; + }; }; - }; - }; - parameters: { - /** Results per page (max 100) */ - per_page: number; - /** Page number of the results to fetch. */ - page: number; - /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - since: string; - /** installation_id parameter */ - installation_id: number; - /** grant_id parameter */ - grant_id: number; - /** The client ID of your GitHub app. */ - "client-id": string; - "access-token": string; - app_slug: string; - /** authorization_id parameter */ - authorization_id: number; - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: string; - /** Unique identifier of an organization. */ - org_id: number; - /** Unique identifier of the self-hosted runner group. */ - runner_group_id: number; - /** Unique identifier of the self-hosted runner. */ - runner_id: number; - /** A search phrase. For more information, see [Searching the audit log](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization#searching-the-audit-log). */ - "audit-log-phrase": string; - /** - * The event types to include: - * - * - `web` - returns web (non-Git) events - * - `git` - returns Git events - * - `all` - returns both web and Git events - * - * The default is `web`. - */ - "audit-log-include": "web" | "git" | "all"; - /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ - "audit-log-after": string; - /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ - "audit-log-before": string; - /** - * The order of audit log events. To list newest events first, specify `desc`. To list oldest events first, specify `asc`. - * - * The default is `desc`. - */ - "audit-log-order": "desc" | "asc"; - /** gist_id parameter */ - gist_id: string; - /** comment_id parameter */ - comment_id: number; - /** A list of comma separated label names. Example: `bug,ui,@high` */ - labels: string; - /** One of `asc` (ascending) or `desc` (descending). */ - direction: "asc" | "desc"; - /** account_id parameter */ - account_id: number; - /** plan_id parameter */ - plan_id: number; - /** One of `created` (when the repository was starred) or `updated` (when it was last pushed to). */ - sort: "created" | "updated"; - owner: string; - repo: string; - /** If `true`, show notifications marked as read. */ - all: boolean; - /** If `true`, only shows notifications in which the user is directly participating or mentioned. */ - participating: boolean; - /** Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - before: string; - /** thread_id parameter */ - thread_id: number; - /** An organization ID. Only return organizations with an ID greater than this ID. */ - "since-org": number; - org: string; - repository_id: number; - /** secret_name parameter */ - secret_name: string; - username: string; - "hook-id": number; - /** invitation_id parameter */ - invitation_id: number; - /** migration_id parameter */ - migration_id: number; - /** repo_name parameter */ - repo_name: string; - /** team_slug parameter */ - team_slug: string; - "discussion-number": number; - "comment-number": number; - "reaction-id": number; - "project-id": number; - /** card_id parameter */ - card_id: number; - /** column_id parameter */ - column_id: number; - /** artifact_id parameter */ - artifact_id: number; - /** job_id parameter */ - job_id: number; - /** Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. */ - actor: string; - /** Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */ - "workflow-run-branch": string; - /** Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */ - event: string; - /** Returns workflow runs associated with the check run `status` or `conclusion` you specify. For example, a conclusion can be `success` or a status can be `completed`. For more information, see the `status` and `conclusion` options available in "[Create a check run](https://docs.github.com/rest/reference/checks#create-a-check-run)." */ - "workflow-run-status": "completed" | "status" | "conclusion"; - "run-id": number; - /** The ID of the workflow. You can also pass the workflow file name as a string. */ - "workflow-id": number | string; - /** The name of the branch. */ - branch: string; - /** check_run_id parameter */ - check_run_id: number; - /** check_suite_id parameter */ - check_suite_id: number; - /** Returns check runs with the specified `name`. */ - check_name: string; - /** Returns check runs with the specified `status`. Can be one of `queued`, `in_progress`, or `completed`. */ - status: "queued" | "in_progress" | "completed"; - /** The security alert number, found at the end of the security alert's URL. */ - alert_number: components["schemas"]["alert-number"]; - /** commit_sha parameter */ - commit_sha: string; - /** deployment_id parameter */ - deployment_id: number; - /** A user ID. Only return users with an ID greater than this ID. */ - "since-user": number; - /** issue_number parameter */ - issue_number: number; - /** key_id parameter */ - key_id: number; - /** milestone_number parameter */ - milestone_number: number; - "pull-number": number; - /** review_id parameter */ - review_id: number; - /** asset_id parameter */ - asset_id: number; - /** release_id parameter */ - release_id: number; - /** Must be one of: `day`, `week`. */ - per: "day" | "week"; - /** A repository ID. Only return repositories with an ID greater than this ID. */ - "since-repo": number; - /** Used for pagination: the index of the first result to return. */ - start_index: number; - /** Used for pagination: the number of results to return. */ - count: number; - /** Identifier generated by the GitHub SCIM endpoint. */ - scim_group_id: string; - /** scim_user_id parameter */ - scim_user_id: string; - /** Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ - order: "desc" | "asc"; - "team-id": number; - /** gpg_key_id parameter */ - gpg_key_id: number; + }; }; - headers: { - link?: string; - "content-type"?: string; - "x-common-marker-version"?: string; - "x-rate-limit-limit"?: number; - "x-rate-limit-remaining"?: number; - "x-rate-limit-reset"?: number; - location?: string; + /** + * Gets the total GitHub Actions cache usage for an organization. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. + */ + "actions/get-actions-cache-usage-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["actions-cache-usage-org-enterprise"]; + }; + }; + }; }; -} - -export interface operations { - /** Get Hypermedia links to resources accessible in GitHub's REST API */ - "meta/root": { + /** + * Lists repositories and their GitHub Actions cache usage for an organization. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. + */ + "actions/get-actions-cache-usage-by-repo-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; responses: { - /** response */ + /** Response */ 200: { + headers: {}; content: { "application/json": { - current_user_url: string; - current_user_authorizations_html_url: string; - authorizations_url: string; - code_search_url: string; - commit_search_url: string; - emails_url: string; - emojis_url: string; - events_url: string; - feeds_url: string; - followers_url: string; - following_url: string; - gists_url: string; - hub_url: string; - issue_search_url: string; - issues_url: string; - keys_url: string; - label_search_url: string; - notifications_url: string; - organization_url: string; - organization_repositories_url: string; - organization_teams_url: string; - public_gists_url: string; - rate_limit_url: string; - repository_url: string; - repository_search_url: string; - current_user_repositories_url: string; - starred_url: string; - starred_gists_url: string; - topic_search_url?: string; - user_url: string; - user_organizations_url: string; - user_repositories_url: string; - user_search_url: string; + total_count: number; + repository_cache_usages: components["schemas"]["actions-cache-usage-by-repository"][]; }; }; }; }; }; /** - * Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the `installations_count` in the response. For more details about your app's installations, see the "[List installations for the authenticated app](https://docs.github.com/rest/reference/apps#list-installations-for-the-authenticated-app)" endpoint. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * Gets the customization template for an OpenID Connect (OIDC) subject claim. + * You must authenticate using an access token with the `read:org` scope to use this endpoint. + * GitHub Apps must have the `organization_administration:write` permission to use this endpoint. */ - "apps/get-authenticated": { - parameters: {}; + "oidc/get-oidc-custom-sub-template-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; responses: { - /** response */ + /** A JSON serialized template for OIDC subject claim customization */ 200: { content: { - "application/json": components["schemas"]["integration"]; + "application/json": components["schemas"]["oidc-custom-sub"]; }; }; }; }; - /** Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://docs.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/). When you create a GitHub App with the manifest flow, you receive a temporary `code` used to retrieve the GitHub App's `id`, `pem` (private key), and `webhook_secret`. */ - "apps/create-from-manifest": { + /** + * Creates or updates the customization template for an OpenID Connect (OIDC) subject claim. + * You must authenticate using an access token with the `write:org` scope to use this endpoint. + * GitHub Apps must have the `admin:org` permission to use this endpoint. + */ + "oidc/update-oidc-custom-sub-template-for-org": { parameters: { path: { - code: string; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; }; }; responses: { - /** response */ + /** Empty response */ 201: { content: { - "application/json": components["schemas"]["integration"] & - ({ - client_id: string; - client_secret: string; - webhook_secret: string; - pem: string; - } & { [key: string]: any }); + "application/json": components["schemas"]["empty-object"]; }; }; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["oidc-custom-sub"]; + }; }; }; /** - * Returns the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." + * Gets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. */ - "apps/get-webhook-config-for-app": { + "actions/get-github-actions-permissions-organization": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; responses: { - /** Default response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["webhook-config"]; + "application/json": components["schemas"]["actions-organization-permissions"]; }; }; }; }; /** - * Updates the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." + * Sets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * If the organization belongs to an enterprise that has set restrictive permissions at the enterprise level, such as `allowed_actions` to `selected` actions and reusable workflows, then you cannot override them for the organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. */ - "apps/update-webhook-config-for-app": { - responses: { - /** Default response */ - 200: { - content: { - "application/json": components["schemas"]["webhook-config"]; - }; + "actions/set-github-actions-permissions-organization": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; }; }; + responses: { + /** Response */ + 204: never; + }; requestBody: { content: { "application/json": { - url?: components["schemas"]["webhook-config-url"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - secret?: components["schemas"]["webhook-config-secret"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + enabled_repositories: components["schemas"]["enabled-repositories"]; + allowed_actions?: components["schemas"]["allowed-actions"]; }; }; }; }; /** - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." * - * The permissions the installation has are included under the `permissions` key. + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. */ - "apps/list-installations": { + "actions/list-selected-repositories-enabled-github-actions-organization": { parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; - /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - since?: components["parameters"]["since"]; - outdated?: string; }; }; responses: { - /** The permissions the installation has are included under the `permissions` key. */ + /** Response */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["installation"][]; + "application/json": { + total_count: number; + repositories: components["schemas"]["repository"][]; + }; }; }; }; }; /** - * Enables an authenticated GitHub App to find an installation's information using the installation id. The installation's account type (`target_type`) will be either an organization or a user account, depending which account the repository belongs to. + * Replaces the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. */ - "apps/get-installation": { + "actions/set-selected-repositories-enabled-github-actions-organization": { parameters: { path: { - /** installation_id parameter */ - installation_id: components["parameters"]["installation_id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; }; }; responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["installation"]; + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** @description List of repository IDs to enable for GitHub Actions. */ + selected_repository_ids: number[]; }; }; - 404: components["responses"]["not_found"]; - 415: components["responses"]["preview_header_missing"]; }; }; /** - * Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/v3/apps/#suspend-an-app-installation)" endpoint. + * Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. */ - "apps/delete-installation": { + "actions/enable-selected-repository-github-actions-organization": { parameters: { path: { - /** installation_id parameter */ - installation_id: components["parameters"]["installation_id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; - 404: components["responses"]["not_found"]; }; }; /** - * Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key. + * Removes a repository from the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. */ - "apps/create-installation-access-token": { + "actions/disable-selected-repository-github-actions-organization": { parameters: { path: { - /** installation_id parameter */ - installation_id: components["parameters"]["installation_id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; }; }; responses: { - /** response */ - 201: { - content: { - "application/json": components["schemas"]["installation-token"]; - }; + /** Response */ + 204: never; + }; + }; + /** + * Gets the selected actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)."" + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + "actions/get-allowed-actions-organization": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 415: components["responses"]["preview_header_missing"]; - 422: components["responses"]["validation_failed"]; }; - requestBody: { - content: { - "application/json": { - /** List of repository names that the token should have access to */ - repositories?: string[]; - /** List of repository IDs that the token should have access to */ - repository_ids?: number[]; - permissions?: components["schemas"]["app-permissions"]; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["selected-actions"]; }; }; }; }; /** - * **Note:** Suspending a GitHub App installation is currently in beta and subject to change. Before you can suspend a GitHub App, the app owner must enable suspending installations for the app by opting-in to the beta. For more information, see "[Suspending a GitHub App installation](https://docs.github.com/apps/managing-github-apps/suspending-a-github-app-installation/)." + * Sets the actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." * - * Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account. + * If the organization belongs to an enterprise that has `selected` actions and reusable workflows set at the enterprise level, then you cannot override any of the enterprise's allowed actions and reusable workflows settings. * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * To use the `patterns_allowed` setting for private repositories, the organization must belong to an enterprise. If the organization does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories in the organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. */ - "apps/suspend-installation": { + "actions/set-allowed-actions-organization": { parameters: { path: { - /** installation_id parameter */ - installation_id: components["parameters"]["installation_id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; - 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; }; }; /** - * **Note:** Suspending a GitHub App installation is currently in beta and subject to change. Before you can suspend a GitHub App, the app owner must enable suspending installations for the app by opting-in to the beta. For more information, see "[Suspending a GitHub App installation](https://docs.github.com/apps/managing-github-apps/suspending-a-github-app-installation/)." + * Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, + * as well as whether GitHub Actions can submit approving pull request reviews. For more information, see + * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." * - * Removes a GitHub App installation suspension. + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + "actions/get-github-actions-default-workflow-permissions-organization": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-get-default-workflow-permissions"]; + }; + }; + }; + }; + /** + * Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, and sets if GitHub Actions + * can submit approving pull request reviews. For more information, see + * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. */ - "apps/unsuspend-installation": { + "actions/set-github-actions-default-workflow-permissions-organization": { parameters: { path: { - /** installation_id parameter */ - installation_id: components["parameters"]["installation_id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; }; }; responses: { - /** Empty response */ + /** Success response */ 204: never; - 404: components["responses"]["not_found"]; + /** Conflict response when changing a setting is prevented by the owning enterprise */ + 409: unknown; + }; + requestBody: { + content: { + "application/json": components["schemas"]["actions-set-default-workflow-permissions"]; + }; }; }; /** - * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." * - * You can use this API to list the set of OAuth applications that have been granted access to your account. Unlike the [list your authorizations](https://docs.github.com/rest/reference/oauth-authorizations#list-your-authorizations) API, this API does not manage individual tokens. This API will return one entry for each OAuth application that has been granted access to your account, regardless of the number of tokens an application has generated for your user. The list of OAuth applications returned matches what is shown on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). The `scopes` returned are the union of scopes authorized for the application. For example, if an application has one token with `repo` scope and another token with `user` scope, the grant will return `["repo", "user"]`. + * Lists all self-hosted runner groups configured in an organization and inherited from an enterprise. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ - "oauth-authorizations/list-grants": { + "actions/list-self-hosted-runner-groups-for-org": { parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; + /** Only return runner groups that are allowed to be used by this repository. */ + visible_to_repository?: components["parameters"]["visible-to-repository"]; }; }; responses: { - /** response */ + /** Response */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["application-grant"][]; + "application/json": { + total_count: number; + runner_groups: components["schemas"]["runner-groups-org"][]; + }; }; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; }; }; - /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ - "oauth-authorizations/get-grant": { + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud and GitHub Enterprise Server. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Creates a new self-hosted runner group for an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/create-self-hosted-runner-group-for-org": { parameters: { path: { - /** grant_id parameter */ - grant_id: components["parameters"]["grant_id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; }; }; responses: { - /** response */ - 200: { + /** Response */ + 201: { content: { - "application/json": components["schemas"]["application-grant"]; + "application/json": components["schemas"]["runner-groups-org"]; }; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; }; - }; - /** - * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). - * - * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for your user. Once deleted, the application has no access to your account and is no longer listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). - */ - "oauth-authorizations/delete-grant": { - parameters: { - path: { - /** grant_id parameter */ - grant_id: components["parameters"]["grant_id"]; + requestBody: { + content: { + "application/json": { + /** @description Name of the runner group. */ + name: string; + /** + * @description Visibility of a runner group. You can select all repositories, select individual repositories, or limit access to private repositories. + * @default all + * @enum {string} + */ + visibility?: "selected" | "all" | "private"; + /** @description List of repository IDs that can access the runner group. */ + selected_repository_ids?: number[]; + /** @description List of runner IDs to add to the runner group. */ + runners?: number[]; + /** + * @description Whether the runner group can be used by `public` repositories. + * @default false + */ + allows_public_repositories?: boolean; + /** + * @description If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array. + * @default false + */ + restricted_to_workflows?: boolean; + /** @description List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`. */ + selected_workflows?: string[]; + }; }; }; - responses: { - /** Empty response */ - 204: never; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; }; /** - * OAuth application owners can revoke a grant for their OAuth application and a specific user. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted. - * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Gets a specific self-hosted runner group for an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ - "apps/delete-authorization": { + "actions/get-self-hosted-runner-group-for-org": { parameters: { path: { - /** The client ID of your GitHub app. */ - client_id: components["parameters"]["client-id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; }; }; responses: { - /** Empty response */ - 204: never; - 422: components["responses"]["validation_failed"]; - }; - requestBody: { - content: { - "application/json": { - /** The OAuth access token used to authenticate to the GitHub API. */ - access_token?: string; + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["runner-groups-org"]; }; }; }; }; /** - * **Deprecation Notice:** GitHub will discontinue OAuth endpoints that contain `access_token` in the path parameter. We have introduced new endpoints that allow you to securely manage tokens for OAuth Apps by moving `access_token` to the request body. For more information, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-app-endpoint/). + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." * - * OAuth application owners can revoke a grant for their OAuth application and a specific user. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid token as `:access_token` and the grant for the token's owner will be deleted. + * Deletes a self-hosted runner group for an organization. * - * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the Applications settings page under "Authorized OAuth Apps" on GitHub](https://github.com/settings/applications#authorized). + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ - "apps/revoke-grant-for-application": { + "actions/delete-self-hosted-runner-group-from-org": { parameters: { path: { - /** The client ID of your GitHub app. */ - client_id: components["parameters"]["client-id"]; - access_token: components["parameters"]["access-token"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; }; }; - /** OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) to use this endpoint, where the username is the OAuth application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. */ - "apps/check-token": { + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Updates the `name` and `visibility` of a self-hosted runner group in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/update-self-hosted-runner-group-for-org": { parameters: { path: { - /** The client ID of your GitHub app. */ - client_id: components["parameters"]["client-id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["authorization"]; + "application/json": components["schemas"]["runner-groups-org"]; }; }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - /** The access_token of the OAuth application. */ - access_token: string; + /** @description Name of the runner group. */ + name: string; + /** + * @description Visibility of a runner group. You can select all repositories, select individual repositories, or all private repositories. + * @enum {string} + */ + visibility?: "selected" | "all" | "private"; + /** + * @description Whether the runner group can be used by `public` repositories. + * @default false + */ + allows_public_repositories?: boolean; + /** + * @description If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array. + * @default false + */ + restricted_to_workflows?: boolean; + /** @description List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`. */ + selected_workflows?: string[]; }; }; }; }; - /** OAuth application owners can revoke a single token for an OAuth application. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. */ - "apps/delete-token": { + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud and GitHub Enterprise Server. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Lists the repositories with access to a self-hosted runner group configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/list-repo-access-to-self-hosted-runner-group-in-org": { parameters: { path: { - /** The client ID of your GitHub app. */ - client_id: components["parameters"]["client-id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + query: { + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; }; }; responses: { - /** Empty response */ - 204: never; - 422: components["responses"]["validation_failed"]; - }; - requestBody: { - content: { - "application/json": { - /** The OAuth access token used to authenticate to the GitHub API. */ - access_token?: string; + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; }; }; }; }; - /** OAuth applications can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. */ - "apps/reset-token": { + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Replaces the list of repositories that have access to a self-hosted runner group configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/set-repo-access-to-self-hosted-runner-group-in-org": { parameters: { path: { - /** The client ID of your GitHub app. */ - client_id: components["parameters"]["client-id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; }; }; responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["authorization"]; - }; - }; - 422: components["responses"]["validation_failed"]; + /** Response */ + 204: never; }; requestBody: { content: { "application/json": { - /** The access_token of the OAuth application. */ - access_token: string; + /** @description List of repository IDs that can access the runner group. */ + selected_repository_ids: number[]; }; }; }; }; - /** Exchanges a non-repository scoped user-to-server OAuth access token for a repository scoped user-to-server OAuth access token. You can specify which repositories the token can access and which permissions are granted to the token. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. */ - "apps/scope-token": { + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * + * Adds a repository to the list of selected repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` + * scope to use this endpoint. + */ + "actions/add-repo-access-to-self-hosted-runner-group-in-org": { parameters: { path: { - /** The client ID of your GitHub app. */ - client_id: components["parameters"]["client-id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + /** The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; }; }; responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["authorization"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; + /** Response */ + 204: never; }; - requestBody: { - content: { - "application/json": { - /** **Required.** The OAuth access token used to authenticate to the GitHub API. */ - access_token?: string; - /** The name of the user or organization to scope the user-to-server access token to. **Required** unless `target_id` is specified. */ - target?: string; - /** The ID of the user or organization to scope the user-to-server access token to. **Required** unless `target` is specified. */ - target_id?: number; - /** The list of repository IDs to scope the user-to-server access token to. `repositories` may not be specified if `repository_ids` is specified. */ - repositories?: string[]; - /** The list of repository names to scope the user-to-server access token to. `repository_ids` may not be specified if `repositories` is specified. */ - repository_ids?: number[]; - permissions?: components["schemas"]["app-permissions"]; - }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * + * Removes a repository from the list of selected repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/remove-repo-access-to-self-hosted-runner-group-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + /** The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; }; }; + responses: { + /** Response */ + 204: never; + }; }; /** - * **Deprecation Notice:** GitHub will discontinue OAuth endpoints that contain `access_token` in the path parameter. We have introduced new endpoints that allow you to securely manage tokens for OAuth Apps by moving `access_token` to the request body. For more information, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-app-endpoint/). + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Lists self-hosted runners that are in a specific organization group. * - * OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ - "apps/check-authorization": { + "actions/list-self-hosted-runners-in-group-for-org": { parameters: { path: { - /** The client ID of your GitHub app. */ - client_id: components["parameters"]["client-id"]; - access_token: components["parameters"]["access-token"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { + headers: {}; content: { - "application/json": components["schemas"]["authorization"] | null; + "application/json": { + total_count: number; + runners: components["schemas"]["runner"][]; + }; }; }; - 404: components["responses"]["not_found"]; }; }; /** - * **Deprecation Notice:** GitHub will discontinue OAuth endpoints that contain `access_token` in the path parameter. We have introduced new endpoints that allow you to securely manage tokens for OAuth Apps by moving `access_token` to the request body. For more information, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-app-endpoint/). + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Replaces the list of self-hosted runners that are part of an organization runner group. * - * OAuth applications can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ - "apps/reset-authorization": { + "actions/set-self-hosted-runners-in-group-for-org": { parameters: { path: { - /** The client ID of your GitHub app. */ - client_id: components["parameters"]["client-id"]; - access_token: components["parameters"]["access-token"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; }; }; responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["authorization"]; + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** @description List of runner IDs to add to the runner group. */ + runners: number[]; }; }; }; }; /** - * **Deprecation Notice:** GitHub will discontinue OAuth endpoints that contain `access_token` in the path parameter. We have introduced new endpoints that allow you to securely manage tokens for OAuth Apps by moving `access_token` to the request body. For more information, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-app-endpoint/). + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * + * Adds a self-hosted runner to a runner group configured in an organization. * - * OAuth application owners can revoke a single token for an OAuth application. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. + * You must authenticate using an access token with the `admin:org` + * scope to use this endpoint. */ - "apps/revoke-authorization-for-application": { + "actions/add-self-hosted-runner-to-group-for-org": { parameters: { path: { - /** The client ID of your GitHub app. */ - client_id: components["parameters"]["client-id"]; - access_token: components["parameters"]["access-token"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; }; }; /** - * **Note**: The `:app_slug` is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., `https://github.com/settings/apps/:app_slug`). + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * + * Removes a self-hosted runner from a group configured in an organization. The runner is then returned to the default group. * - * If the GitHub App you specify is public, you can access this endpoint without authenticating. If the GitHub App you specify is private, you must authenticate with a [personal access token](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ - "apps/get-by-slug": { + "actions/remove-self-hosted-runner-from-group-for-org": { parameters: { path: { - app_slug: components["parameters"]["app_slug"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; }; }; responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["integration"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 415: components["responses"]["preview_header_missing"]; + /** Response */ + 204: never; }; }; - /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ - "oauth-authorizations/list-authorizations": { + /** + * Lists all self-hosted runners configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/list-self-hosted-runners-for-org": { parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": components["schemas"]["authorization"][]; + "application/json": { + total_count: number; + runners: components["schemas"]["runner"][]; + }; }; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; }; }; /** - * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). - * - * **Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). - * - * Creates OAuth tokens using [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication). If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." - * - * To create tokens for a particular OAuth application using this endpoint, you must authenticate as the user you want to create an authorization for and provide the app's client ID and secret, found on your OAuth application's settings page. If your OAuth application intends to create multiple tokens for one user, use `fingerprint` to differentiate between them. - * - * You can also create tokens on GitHub from the [personal access tokens settings](https://github.com/settings/tokens) page. Read more about these tokens in [the GitHub Help documentation](https://help.github.com/articles/creating-an-access-token-for-command-line-use). + * Lists binaries for the runner application that you can download and run. * - * Organizations that enforce SAML SSO require personal access tokens to be allowed. Read more about allowing tokens in [the GitHub Help documentation](https://help.github.com/articles/about-identity-and-access-management-with-saml-single-sign-on). + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ - "oauth-authorizations/create-authorization": { - parameters: {}; - responses: { - /** response */ - 201: { - headers: { - Location?: string; - }; - content: { - "application/json": components["schemas"]["authorization"]; - }; + "actions/list-runner-applications-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed"]; }; - requestBody: { - content: { - "application/json": { - /** A list of scopes that this authorization is in. */ - scopes?: string[] | null; - /** A note to remind you what the OAuth token is for. */ - note?: string; - /** A URL to remind you what app the OAuth token is for. */ - note_url?: string; - /** The OAuth app client key for which to create the token. */ - client_id?: string; - /** The OAuth app client secret for which to create the token. */ - client_secret?: string; - /** A unique string to distinguish an authorization from others created for the same client ID and user. */ - fingerprint?: string; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["runner-application"][]; }; }; }; }; /** - * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * Returns a token that you can pass to the `config` script. The token expires after one hour. * - * **Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. * - * Creates a new authorization for the specified OAuth application, only if an authorization for that application doesn't already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one. + * #### Example using registration token * - * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. * - * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * ``` + * ./config.sh --url https://github.com/octo-org --token TOKEN + * ``` */ - "oauth-authorizations/get-or-create-authorization-for-app": { + "actions/create-registration-token-for-org": { parameters: { path: { - /** The client ID of your GitHub app. */ - client_id: components["parameters"]["client-id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; }; }; responses: { - /** Response if returning an existing token */ - 200: { - headers: { - Location?: string; - }; - content: { - "application/json": components["schemas"]["authorization"]; - }; - }; - /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + /** Response */ 201: { - headers: { - Location?: string; - }; content: { - "application/json": components["schemas"]["authorization"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - requestBody: { - content: { - "application/json": { - /** The OAuth app client secret for which to create the token. */ - client_secret: string; - /** A list of scopes that this authorization is in. */ - scopes?: string[] | null; - /** A note to remind you what the OAuth token is for. */ - note?: string; - /** A URL to remind you what app the OAuth token is for. */ - note_url?: string; - /** A unique string to distinguish an authorization from others created for the same client ID and user. */ - fingerprint?: string; + "application/json": components["schemas"]["authentication-token"]; }; }; }; }; /** - * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * Returns a token that you can pass to the `config` script to remove a self-hosted runner from an organization. The token expires after one hour. * - * **Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. * - * This method will create a new authorization for the specified OAuth application, only if an authorization for that application and fingerprint do not already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. `fingerprint` is a unique string to distinguish an authorization from others created for the same client ID and user. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one. + * #### Example using remove token * - * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + * To remove your self-hosted runner from an organization, replace `TOKEN` with the remove token provided by this + * endpoint. + * + * ``` + * ./config.sh remove --token TOKEN + * ``` */ - "oauth-authorizations/get-or-create-authorization-for-app-and-fingerprint": { + "actions/create-remove-token-for-org": { parameters: { path: { - /** The client ID of your GitHub app. */ - client_id: components["parameters"]["client-id"]; - fingerprint: string; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; }; }; responses: { - /** Response if returning an existing token */ - 200: { - headers: { - Location?: string; - }; - content: { - "application/json": components["schemas"]["authorization"]; - }; - }; - /** Response if returning a new token */ + /** Response */ 201: { - headers: { - Location?: string; - }; - content: { - "application/json": components["schemas"]["authorization"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - requestBody: { - content: { - "application/json": { - /** The OAuth app client secret for which to create the token. */ - client_secret: string; - /** A list of scopes that this authorization is in. */ - scopes?: string[] | null; - /** A note to remind you what the OAuth token is for. */ - note?: string; - /** A URL to remind you what app the OAuth token is for. */ - note_url?: string; - }; - }; - }; - }; - /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ - "oauth-authorizations/get-authorization": { - parameters: { - path: { - /** authorization_id parameter */ - authorization_id: components["parameters"]["authorization_id"]; - }; - }; - responses: { - /** response */ - 200: { content: { - "application/json": components["schemas"]["authorization"]; + "application/json": components["schemas"]["authentication-token"]; }; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ - "oauth-authorizations/delete-authorization": { - parameters: { - path: { - /** authorization_id parameter */ - authorization_id: components["parameters"]["authorization_id"]; - }; - }; - responses: { - /** Empty response */ - 204: never; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; }; }; /** - * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). - * - * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + * Gets a specific self-hosted runner configured in an organization. * - * You can only send one of these scope keys at a time. + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ - "oauth-authorizations/update-authorization": { + "actions/get-self-hosted-runner-for-org": { parameters: { path: { - /** authorization_id parameter */ - authorization_id: components["parameters"]["authorization_id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["authorization"]; + "application/json": components["schemas"]["runner"]; }; }; - 422: components["responses"]["validation_failed"]; }; - requestBody: { - content: { - "application/json": { - /** A list of scopes that this authorization is in. */ - scopes?: string[] | null; - /** A list of scopes to add to this authorization. */ - add_scopes?: string[]; - /** A list of scopes to remove from this authorization. */ - remove_scopes?: string[]; - /** A note to remind you what the OAuth token is for. */ - note?: string; - /** A URL to remind you what app the OAuth token is for. */ - note_url?: string; - /** A unique string to distinguish an authorization from others created for the same client ID and user. */ - fingerprint?: string; - }; + }; + /** + * Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/delete-self-hosted-runner-from-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; }; }; - }; - "codes-of-conduct/get-all-codes-of-conduct": { - parameters: {}; responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["code-of-conduct"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 415: components["responses"]["preview_header_missing"]; + /** Response */ + 204: never; }; }; - "codes-of-conduct/get-conduct-code": { + /** + * Lists all labels for a self-hosted runner configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/list-labels-for-self-hosted-runner-for-org": { parameters: { path: { - key: string; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; }; }; responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["code-of-conduct"]; - }; - }; - 304: components["responses"]["not_modified"]; + 200: components["responses"]["actions_runner_labels"]; 404: components["responses"]["not_found"]; - 415: components["responses"]["preview_header_missing"]; }; }; /** - * Creates an attachment under a content reference URL in the body or comment of an issue or pull request. Use the `id` of the content reference from the [`content_reference` event](https://docs.github.com/webhooks/event-payloads/#content_reference) to create an attachment. - * - * The app must create a content attachment within six hours of the content reference URL being posted. See "[Using content attachments](https://docs.github.com/apps/using-content-attachments/)" for details about content attachments. + * Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in an organization. * - * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ - "apps/create-content-attachment": { + "actions/set-custom-labels-for-self-hosted-runner-for-org": { parameters: { path: { - content_reference_id: number; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; }; }; responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["content-reference-attachment"]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; + 200: components["responses"]["actions_runner_labels"]; 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 415: components["responses"]["preview_header_missing"]; - 422: components["responses"]["validation_failed"]; + 422: components["responses"]["validation_failed_simple"]; }; requestBody: { content: { "application/json": { - /** The title of the attachment */ - title: string; - /** The body of the attachment */ - body: string; - }; - }; - }; - }; - /** Lists all the emojis available to use on GitHub. */ - "emojis/get": { - parameters: {}; - responses: { - /** response */ - 200: { - content: { - "application/json": { [key: string]: string }; + /** @description The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels. */ + labels: string[]; }; }; - 304: components["responses"]["not_modified"]; }; }; /** - * Gets the GitHub Actions permissions policy for organizations and allowed actions in an enterprise. + * Add custom labels to a self-hosted runner configured in an organization. * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ - "enterprise-admin/get-github-actions-permissions-enterprise": { + "actions/add-custom-labels-to-self-hosted-runner-for-org": { parameters: { path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; }; }; responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["actions-enterprise-permissions"]; + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to add to the runner. */ + labels: string[]; }; }; }; }; /** - * Sets the GitHub Actions permissions policy for organizations and allowed actions in an enterprise. + * Remove all custom labels from a self-hosted runner configured in an + * organization. Returns the remaining read-only labels from the runner. * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ - "enterprise-admin/set-github-actions-permissions-enterprise": { + "actions/remove-all-custom-labels-from-self-hosted-runner-for-org": { parameters: { path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; }; }; responses: { - /** Empty response */ - 204: never; - }; - requestBody: { - content: { - "application/json": { - enabled_organizations: components["schemas"]["enabled-organizations"]; - allowed_actions?: components["schemas"]["allowed-actions"]; - }; - }; + 200: components["responses"]["actions_runner_labels_readonly"]; + 404: components["responses"]["not_found"]; }; }; /** - * Lists the organizations that are selected to have GitHub Actions enabled in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * Remove a custom label from a self-hosted runner configured + * in an organization. Returns the remaining labels from the runner. * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * This endpoint returns a `404 Not Found` status if the custom label is not + * present on the runner. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ - "enterprise-admin/list-selected-organizations-enabled-github-actions-enterprise": { + "actions/remove-custom-label-from-self-hosted-runner-for-org": { parameters: { path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + /** The name of a self-hosted runner's custom label. */ + name: components["parameters"]["runner-label-name"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + "actions/list-org-secrets": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { + headers: {}; content: { "application/json": { total_count: number; - organizations: components["schemas"]["organization-simple"][]; + secrets: components["schemas"]["organization-actions-secret"][]; }; }; }; }; }; - /** - * Replaces the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." - * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. - */ - "enterprise-admin/set-selected-organizations-enabled-github-actions-enterprise": { + /** Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + "actions/get-org-public-key": { parameters: { path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; }; }; responses: { - /** Empty response */ - 204: never; - }; - requestBody: { - content: { - "application/json": { - /** List of organization IDs to enable for GitHub Actions. */ - selected_organization_ids: number[]; + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-public-key"]; }; }; }; }; - /** - * Adds an organization to the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." - * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. - */ - "enterprise-admin/enable-selected-organization-github-actions-enterprise": { + /** Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + "actions/get-org-secret": { parameters: { path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - /** Unique identifier of an organization. */ - org_id: components["parameters"]["org_id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; }; }; responses: { - /** Empty response */ - 204: never; + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["organization-actions-secret"]; + }; + }; }; }; /** - * Removes an organization from the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to + * use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. - */ - "enterprise-admin/disable-selected-organization-github-actions-enterprise": { - parameters: { - path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - /** Unique identifier of an organization. */ - org_id: components["parameters"]["org_id"]; - }; - }; - responses: { - /** Empty response */ - 204: never; - }; - }; - /** - * Gets the selected actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` */ - "enterprise-admin/get-allowed-actions-enterprise": { + "actions/create-or-update-org-secret": { parameters: { path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; }; }; responses: { - /** response */ - 200: { + /** Response when creating a secret */ + 201: { content: { - "application/json": components["schemas"]["selected-actions"]; + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** Response when updating a secret */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/reference/actions#get-an-organization-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; + /** + * @description Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret. + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/reference/actions#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/actions#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/actions#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids?: (Partial & Partial)[]; }; }; }; }; - /** - * Sets the actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." - * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. - */ - "enterprise-admin/set-allowed-actions-enterprise": { + /** Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + "actions/delete-org-secret": { parameters: { path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; }; - requestBody: { - content: { - "application/json": components["schemas"]["selected-actions"]; - }; - }; }; - /** - * Lists all self-hosted runner groups for an enterprise. - * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. - */ - "enterprise-admin/list-self-hosted-runner-groups-for-enterprise": { + /** Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + "actions/list-selected-repos-for-org-secret": { parameters: { path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { "application/json": { total_count: number; - runner_groups: components["schemas"]["runner-groups-enterprise"][]; + repositories: components["schemas"]["minimal-repository"][]; }; }; }; }; }; - /** - * Creates a new self-hosted runner group for an enterprise. - * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. - */ - "enterprise-admin/create-self-hosted-runner-group-for-enterprise": { + /** Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + "actions/set-selected-repos-for-org-secret": { parameters: { path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; }; }; responses: { - /** response */ - 201: { - content: { - "application/json": components["schemas"]["runner-groups-enterprise"]; - }; - }; + /** Response */ + 204: never; }; requestBody: { content: { "application/json": { - /** Name of the runner group. */ - name: string; - /** Visibility of a runner group. You can select all organizations or select individual organization. Can be one of: `all` or `selected` */ - visibility?: "selected" | "all"; - /** List of organization IDs that can access the runner group. */ - selected_organization_ids?: number[]; - /** List of runner IDs to add to the runner group. */ - runners?: number[]; + /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/actions#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/actions#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids: number[]; }; }; }; }; - /** - * Gets a specific self-hosted runner group for an enterprise. - * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. - */ - "enterprise-admin/get-self-hosted-runner-group-for-enterprise": { + /** Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + "actions/add-selected-repo-to-org-secret": { parameters: { path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - /** Unique identifier of the self-hosted runner group. */ - runner_group_id: components["parameters"]["runner_group_id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; }; }; responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["runner-groups-enterprise"]; - }; - }; + /** No Content when repository was added to the selected list */ + 204: never; + /** Conflict when visibility type is not set to selected */ + 409: unknown; }; }; - /** - * Deletes a self-hosted runner group for an enterprise. - * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. - */ - "enterprise-admin/delete-self-hosted-runner-group-from-enterprise": { + /** Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + "actions/remove-selected-repo-from-org-secret": { parameters: { path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - /** Unique identifier of the self-hosted runner group. */ - runner_group_id: components["parameters"]["runner_group_id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; }; }; responses: { - /** Empty response */ + /** Response when repository was removed from the selected list */ 204: never; + /** Conflict when visibility type not set to selected */ + 409: unknown; }; }; /** - * Updates the `name` and `visibility` of a self-hosted runner group in an enterprise. + * Gets the audit log for an organization. For more information, see "[Reviewing the audit log for your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization)." * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * This endpoint is available for organizations on GitHub Enterprise Cloud. To use this endpoint, you must be an organization owner, and you must use an access token with the `admin:org` scope. GitHub Apps must have the `organization_administration` read permission to use this endpoint. + * + * By default, the response includes up to 30 events from the past three months. Use the `phrase` parameter to filter results and retrieve older events. For example, use the `phrase` parameter with the `created` qualifier to filter events based on when the events occurred. For more information, see "[Reviewing the audit log for your organization](https://docs.github.com/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization#searching-the-audit-log)." + * + * Use pagination to retrieve fewer or more than 30 events. For more information, see "[Resources in the REST API](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination)." */ - "enterprise-admin/update-self-hosted-runner-group-for-enterprise": { + "orgs/get-audit-log": { parameters: { path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - /** Unique identifier of the self-hosted runner group. */ - runner_group_id: components["parameters"]["runner_group_id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** A search phrase. For more information, see [Searching the audit log](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization#searching-the-audit-log). */ + phrase?: components["parameters"]["audit-log-phrase"]; + /** + * The event types to include: + * + * - `web` - returns web (non-Git) events. + * - `git` - returns Git events. + * - `all` - returns both web and Git events. + * + * The default is `web`. + */ + include?: components["parameters"]["audit-log-include"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ + after?: components["parameters"]["audit-log-after"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ + before?: components["parameters"]["audit-log-before"]; + /** + * The order of audit log events. To list newest events first, specify `desc`. To list oldest events first, specify `asc`. + * + * The default is `desc`. + */ + order?: components["parameters"]["audit-log-order"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["runner-groups-enterprise"]; - }; - }; - }; - requestBody: { - content: { - "application/json": { - /** Name of the runner group. */ - name?: string; - /** Visibility of a runner group. You can select all organizations or select individual organizations. Can be one of: `all` or `selected` */ - visibility?: "selected" | "all"; + "application/json": components["schemas"]["audit-log-event"][]; }; }; }; }; - /** - * Lists the organizations with access to a self-hosted runner group. - * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. - */ - "enterprise-admin/list-org-access-to-self-hosted-runner-group-in-enterprise": { + /** List the users blocked by an organization. */ + "orgs/list-blocked-users": { parameters: { path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - /** Unique identifier of the self-hosted runner group. */ - runner_group_id: components["parameters"]["runner_group_id"]; - }; - query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": { - total_count: number; - organizations: components["schemas"]["organization-simple"][]; - }; + "application/json": components["schemas"]["simple-user"][]; }; }; }; }; - /** - * Replaces the list of organizations that have access to a self-hosted runner configured in an enterprise. - * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. - */ - "enterprise-admin/set-org-access-to-self-hosted-runner-group-in-enterprise": { + "orgs/check-blocked-user": { parameters: { path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - /** Unique identifier of the self-hosted runner group. */ - runner_group_id: components["parameters"]["runner_group_id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; }; }; responses: { - /** Empty response */ + /** If the user is blocked: */ 204: never; - }; - requestBody: { - content: { - "application/json": { - /** List of organization IDs that can access the runner group. */ - selected_organization_ids: number[]; + /** If the user is not blocked: */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; }; }; }; }; - /** - * Adds an organization to the list of selected organizations that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an enterprise](#create-a-self-hosted-runner-group-for-an-enterprise)." - * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. - */ - "enterprise-admin/add-org-access-to-self-hosted-runner-group-in-enterprise": { + "orgs/block-user": { parameters: { path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - /** Unique identifier of the self-hosted runner group. */ - runner_group_id: components["parameters"]["runner_group_id"]; - /** Unique identifier of an organization. */ - org_id: components["parameters"]["org_id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; + 422: components["responses"]["validation_failed"]; }; }; - /** - * Removes an organization from the list of selected organizations that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an enterprise](#create-a-self-hosted-runner-group-for-an-enterprise)." - * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. - */ - "enterprise-admin/remove-org-access-to-self-hosted-runner-group-in-enterprise": { - parameters: { - path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - /** Unique identifier of the self-hosted runner group. */ - runner_group_id: components["parameters"]["runner_group_id"]; - /** Unique identifier of an organization. */ - org_id: components["parameters"]["org_id"]; + "orgs/unblock-user": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; }; }; /** - * Lists the self-hosted runners that are in a specific enterprise group. + * Lists code scanning alerts for the default branch for all eligible repositories in an organization. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. + * + * GitHub Apps must have the `security_events` read permission to use this endpoint. */ - "enterprise-admin/list-self-hosted-runners-in-group-for-enterprise": { + "code-scanning/list-alerts-for-org": { parameters: { path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - /** Unique identifier of the self-hosted runner group. */ - runner_group_id: components["parameters"]["runner_group_id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both. */ + tool_name?: components["parameters"]["tool-name"]; + /** The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */ + tool_guid?: components["parameters"]["tool-guid"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ + before?: components["parameters"]["pagination-before"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ + after?: components["parameters"]["pagination-after"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** If specified, only code scanning alerts with this state will be returned. */ + state?: components["schemas"]["code-scanning-alert-state"]; + /** The property by which to sort the results. */ + sort?: "created" | "updated"; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": { - total_count: number; - runners: components["schemas"]["runner"][]; - }; + "application/json": components["schemas"]["code-scanning-organization-alert-items"][]; }; }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; }; }; /** - * Replaces the list of self-hosted runners that are part of an enterprise runner group. + * Lists the codespaces associated to a specified organization. * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ - "enterprise-admin/set-self-hosted-runners-in-group-for-enterprise": { + "codespaces/list-in-organization": { parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - /** Unique identifier of the self-hosted runner group. */ - runner_group_id: components["parameters"]["runner_group_id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; }; }; responses: { - /** Empty response */ - 204: never; - }; - requestBody: { - content: { - "application/json": { - /** List of runner IDs to add to the runner group. */ - runners: number[]; + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + codespaces: components["schemas"]["codespace"][]; + }; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; }; }; /** - * Adds a self-hosted runner to a runner group configured in an enterprise. + * Listing and deleting credential authorizations is available to organizations with GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products). * - * You must authenticate using an access token with the `admin:enterprise` - * scope to use this endpoint. + * An authenticated organization owner with the `read:org` scope can list all credential authorizations for an organization that uses SAML single sign-on (SSO). The credentials are either personal access tokens or SSH keys that organization members have authorized for the organization. For more information, see [About authentication with SAML single sign-on](https://docs.github.com/en/articles/about-authentication-with-saml-single-sign-on). */ - "enterprise-admin/add-self-hosted-runner-to-group-for-enterprise": { + "orgs/list-saml-sso-authorizations": { parameters: { path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - /** Unique identifier of the self-hosted runner group. */ - runner_group_id: components["parameters"]["runner_group_id"]; - /** Unique identifier of the self-hosted runner. */ - runner_id: components["parameters"]["runner_id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page token */ + page?: number; + /** Limits the list of credentials authorizations for an organization to a specific login */ + login?: string; }; }; responses: { - /** Empty response */ - 204: never; + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["credential-authorization"][]; + }; + }; }; }; /** - * Removes a self-hosted runner from a group configured in an enterprise. The runner is then returned to the default group. + * Listing and deleting credential authorizations is available to organizations with GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products). * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * An authenticated organization owner with the `admin:org` scope can remove a credential authorization for an organization that uses SAML SSO. Once you remove someone's credential authorization, they will need to create a new personal access token or SSH key and authorize it for the organization they want to access. */ - "enterprise-admin/remove-self-hosted-runner-from-group-for-enterprise": { + "orgs/remove-saml-sso-authorization": { parameters: { path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - /** Unique identifier of the self-hosted runner group. */ - runner_group_id: components["parameters"]["runner_group_id"]; - /** Unique identifier of the self-hosted runner. */ - runner_id: components["parameters"]["runner_id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + credential_id: number; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; + 404: components["responses"]["not_found"]; }; }; - /** - * Lists all self-hosted runners configured for an enterprise. - * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. - */ - "enterprise-admin/list-self-hosted-runners-for-enterprise": { + /** Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + "dependabot/list-org-secrets": { parameters: { path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { "application/json": { - total_count?: number; - runners?: components["schemas"]["runner"][]; + total_count: number; + secrets: components["schemas"]["organization-dependabot-secret"][]; }; }; }; }; }; - /** - * Lists binaries for the runner application that you can download and run. - * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. - */ - "enterprise-admin/list-runner-applications-for-enterprise": { + /** Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + "dependabot/get-org-public-key": { parameters: { path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["runner-application"][]; + "application/json": components["schemas"]["dependabot-public-key"]; }; }; }; }; - /** - * Returns a token that you can pass to the `config` script. The token expires after one hour. - * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. - * - * #### Example using registration token - * - * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. - * - * ``` - * ./config.sh --url https://github.com/enterprises/octo-enterprise --token TOKEN - * ``` - */ - "enterprise-admin/create-registration-token-for-enterprise": { + /** Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + "dependabot/get-org-secret": { parameters: { path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; }; }; responses: { - /** response */ - 201: { + /** Response */ + 200: { content: { - "application/json": components["schemas"]["authentication-token"]; + "application/json": components["schemas"]["organization-dependabot-secret"]; }; }; }; }; /** - * Returns a token that you can pass to the `config` script to remove a self-hosted runner from an enterprise. The token expires after one hour. + * Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization + * permission to use this endpoint. * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * #### Example encrypting a secret using Node.js * - * #### Example using remove token + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. * - * To remove your self-hosted runner from an enterprise, replace `TOKEN` with the remove token provided by this - * endpoint. + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); * ``` - * ./config.sh remove --token TOKEN + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) * ``` */ - "enterprise-admin/create-remove-token-for-enterprise": { + "dependabot/create-or-update-org-secret": { parameters: { path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; }; }; responses: { - /** response */ + /** Response when creating a secret */ 201: { content: { - "application/json": components["schemas"]["authentication-token"]; + "application/json": components["schemas"]["empty-object"]; }; }; + /** Response when updating a secret */ + 204: never; }; - }; - /** - * Gets a specific self-hosted runner configured in an enterprise. - * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. - */ - "enterprise-admin/get-self-hosted-runner-for-enterprise": { - parameters: { - path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - /** Unique identifier of the self-hosted runner. */ - runner_id: components["parameters"]["runner_id"]; - }; - }; - responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["runner"]; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/reference/dependabot#get-an-organization-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; + /** + * @description Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret. + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/reference/dependabot#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/dependabot#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/dependabot#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids?: (Partial & Partial)[]; }; }; }; }; - /** - * Forces the removal of a self-hosted runner from an enterprise. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. - * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. - */ - "enterprise-admin/delete-self-hosted-runner-from-enterprise": { + /** Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + "dependabot/delete-org-secret": { parameters: { - path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - /** Unique identifier of the self-hosted runner. */ - runner_id: components["parameters"]["runner_id"]; + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; }; }; - /** - * **Note:** The audit log REST API is currently in beta and is subject to change. - * - * Gets the audit log for an enterprise. To use this endpoint, you must be an enterprise admin, and you must use an access token with the `admin:enterprise` scope. - */ - "audit-log/get-audit-log": { + /** Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + "dependabot/list-selected-repos-for-org-secret": { parameters: { path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; }; query: { - /** A search phrase. For more information, see [Searching the audit log](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization#searching-the-audit-log). */ - phrase?: components["parameters"]["audit-log-phrase"]; - /** - * The event types to include: - * - * - `web` - returns web (non-Git) events - * - `git` - returns Git events - * - `all` - returns both web and Git events - * - * The default is `web`. - */ - include?: components["parameters"]["audit-log-include"]; - /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ - after?: components["parameters"]["audit-log-after"]; - /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ - before?: components["parameters"]["audit-log-before"]; - /** - * The order of audit log events. To list newest events first, specify `desc`. To list oldest events first, specify `asc`. - * - * The default is `desc`. - */ - order?: components["parameters"]["audit-log-order"]; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; }; }; responses: { /** Response */ 200: { content: { - "application/json": components["schemas"]["audit-log-event"][]; + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; }; }; }; }; - /** - * Gets the summary of the free and paid GitHub Actions minutes used. - * - * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". - * - * The authenticated user must be an enterprise admin. - */ - "billing/get-github-actions-billing-ghe": { + /** Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/dependabot#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + "dependabot/set-selected-repos-for-org-secret": { parameters: { path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; }; }; responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["actions-billing-usage"]; + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/dependabot#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/dependabot#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids: number[]; }; }; }; }; - /** - * Gets the free and paid storage used for GitHub Packages in gigabytes. - * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." - * - * The authenticated user must be an enterprise admin. - */ - "billing/get-github-packages-billing-ghe": { + /** Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/dependabot#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + "dependabot/add-selected-repo-to-org-secret": { parameters: { path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; }; }; responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["packages-billing-usage"]; - }; - }; + /** No Content when repository was added to the selected list */ + 204: never; + /** Conflict when visibility type is not set to selected */ + 409: unknown; }; }; - /** - * Gets the estimated paid and estimated total storage used for GitHub Actions and Github Packages. - * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." - * - * The authenticated user must be an enterprise admin. - */ - "billing/get-shared-storage-billing-ghe": { + /** Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/dependabot#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + "dependabot/remove-selected-repo-from-org-secret": { parameters: { path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; }; }; responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["combined-billing-usage"]; - }; - }; + /** Response when repository was removed from the selected list */ + 204: never; + /** Conflict when visibility type not set to selected */ + 409: unknown; }; }; - /** We delay the public events feed by five minutes, which means the most recent event returned by the public events API actually occurred at least five minutes ago. */ - "activity/list-public-events": { + "activity/list-public-org-events": { parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { "application/json": components["schemas"]["event"][]; }; }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 503: components["responses"]["service_unavailable"]; }; }; /** - * GitHub provides several timeline resources in [Atom](http://en.wikipedia.org/wiki/Atom_(standard)) format. The Feeds API lists all the feeds available to the authenticated user: - * - * * **Timeline**: The GitHub global public timeline - * * **User**: The public timeline for any user, using [URI template](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) - * * **Current user public**: The public timeline for the authenticated user - * * **Current user**: The private timeline for the authenticated user - * * **Current user actor**: The private timeline for activity created by the authenticated user - * * **Current user organizations**: The private timeline for the organizations the authenticated user is a member of. - * * **Security advisories**: A collection of public announcements that provide information about security-related vulnerabilities in software on GitHub. + * Displays information about the specific group's usage. Provides a list of the group's external members as well as a list of teams that this group is connected to. * - * **Note**: Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) since current feed URIs use the older, non revocable auth tokens. + * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. */ - "activity/get-feeds": { - parameters: {}; - responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["feed"]; - }; - }; - }; - }; - /** Lists the authenticated user's gists or if called anonymously, this endpoint returns all public gists: */ - "gists/list": { + "teams/external-idp-group-info-for-org": { parameters: { - query: { - /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - since?: components["parameters"]["since"]; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the group. */ + group_id: components["parameters"]["group-id"]; }; }; responses: { - /** response */ + /** Response */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["base-gist"][]; + "application/json": components["schemas"]["external-group"]; }; }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; }; }; /** - * Allows you to add a new gist with one or more files. + * Lists external groups available in an organization. You can query the groups using the `display_name` parameter, only groups with a `group_name` containing the text provided in the `display_name` parameter will be returned. You can also limit your page results using the `per_page` parameter. GitHub generates a url-encoded `page` token using a cursor value for where the next page begins. For more information on cursor pagination, see "[Offset and Cursor Pagination explained](https://dev.to/jackmarchant/offset-and-cursor-pagination-explained-b89)." * - * **Note:** Don't name your files "gistfile" with a numerical suffix. This is the format of the automatic naming scheme that Gist uses internally. + * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. */ - "gists/create": { - parameters: {}; + "teams/list-external-idp-groups-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page token */ + page?: number; + /** Limits the list to groups containing the text in the group name */ + display_name?: string; + }; + }; responses: { - /** response */ - 201: { + /** Response */ + 200: { headers: { - Location?: string; + Link?: string; }; content: { - "application/json": components["schemas"]["gist-simple"]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - requestBody: { - content: { - "application/json": { - /** Description of the gist */ - description?: string; - /** Names and content for the files that make up the gist */ - files: { - [key: string]: { - /** Content of the file */ - content: string; - }; - }; - public?: boolean | ("true" | "false"); + "application/json": components["schemas"]["external-groups"]; }; }; }; }; - /** - * List public gists sorted by most recently updated to least recently updated. - * - * Note: With [pagination](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination), you can fetch up to 3000 gists. For example, you can fetch 100 pages with 30 gists per page or 30 pages with 100 gists per page. - */ - "gists/list-public": { + /** The return hash contains `failed_at` and `failed_reason` fields which represent the time at which the invitation failed and the reason for the failure. */ + "orgs/list-failed-invitations": { parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; query: { - /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - since?: components["parameters"]["since"]; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": components["schemas"]["base-gist"][]; + "application/json": components["schemas"]["organization-invitation"][]; }; }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; + 404: components["responses"]["not_found"]; }; }; - /** List the authenticated user's starred gists: */ - "gists/list-starred": { + "orgs/list-webhooks": { parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; query: { - /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - since?: components["parameters"]["since"]; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": components["schemas"]["base-gist"][]; + "application/json": components["schemas"]["org-hook"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Here's how you can create a hook that posts payloads in JSON format: */ + "orgs/create-webhook": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["org-hook"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description Must be passed as "web". */ + name: string; + /** @description Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/orgs#create-hook-config-params). */ + config: { + url: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + /** @example "kdaigle" */ + username?: string; + /** @example "password" */ + password?: string; + }; + /** + * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. + * @default [ + * "push" + * ] + */ + events?: string[]; + /** + * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + * @default true + */ + active?: boolean; }; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; }; }; - "gists/get": { + /** Returns a webhook configured in an organization. To get only the webhook `config` properties, see "[Get a webhook configuration for an organization](/rest/reference/orgs#get-a-webhook-configuration-for-an-organization)." */ + "orgs/get-webhook": { parameters: { path: { - /** gist_id parameter */ - gist_id: components["parameters"]["gist_id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["gist-simple"]; + "application/json": components["schemas"]["org-hook"]; }; }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden_gist"]; 404: components["responses"]["not_found"]; }; }; - "gists/delete": { + "orgs/delete-webhook": { parameters: { path: { - /** gist_id parameter */ - gist_id: components["parameters"]["gist_id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; }; }; - /** Allows you to update or delete a gist file and rename gist files. Files from the previous version of the gist that aren't explicitly changed during an edit are unchanged. */ - "gists/update": { + /** Updates a webhook configured in an organization. When you update a webhook, the `secret` will be overwritten. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for an organization](/rest/reference/orgs#update-a-webhook-configuration-for-an-organization)." */ + "orgs/update-webhook": { parameters: { path: { - /** gist_id parameter */ - gist_id: components["parameters"]["gist_id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["gist-simple"]; + "application/json": components["schemas"]["org-hook"]; }; }; 404: components["responses"]["not_found"]; @@ -11541,6977 +25324,8607 @@ export interface operations { }; requestBody: { content: { - "application/json": - | (Partial<{ [key: string]: any }> & Partial<{ [key: string]: any }>) - | null; + "application/json": { + /** @description Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/orgs#update-hook-config-params). */ + config?: { + url: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + /** + * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. + * @default [ + * "push" + * ] + */ + events?: string[]; + /** + * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + * @default true + */ + active?: boolean; + /** @example "web" */ + name?: string; + }; }; }; }; - "gists/list-comments": { + /** + * Returns the webhook configuration for an organization. To get more information about the webhook, including the `active` state and `events`, use "[Get an organization webhook ](/rest/reference/orgs#get-an-organization-webhook)." + * + * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:read` permission. + */ + "orgs/get-webhook-config-for-org": { parameters: { path: { - /** gist_id parameter */ - gist_id: components["parameters"]["gist_id"]; - }; - query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; }; }; responses: { - /** response */ + /** Response */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["gist-comment"][]; + "application/json": components["schemas"]["webhook-config"]; }; }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; }; }; - "gists/create-comment": { + /** + * Updates the webhook configuration for an organization. To update more information about the webhook, including the `active` state and `events`, use "[Update an organization webhook ](/rest/reference/orgs#update-an-organization-webhook)." + * + * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:write` permission. + */ + "orgs/update-webhook-config-for-org": { parameters: { path: { - /** gist_id parameter */ - gist_id: components["parameters"]["gist_id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; }; }; responses: { - /** response */ - 201: { - headers: { - Location?: string; - }; + /** Response */ + 200: { content: { - "application/json": components["schemas"]["gist-comment"]; + "application/json": components["schemas"]["webhook-config"]; }; }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; }; requestBody: { content: { "application/json": { - /** The comment text. */ - body: string; + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; }; }; }; }; - "gists/get-comment": { + /** Returns a list of webhook deliveries for a webhook configured in an organization. */ + "orgs/list-webhook-deliveries": { parameters: { path: { - /** gist_id parameter */ - gist_id: components["parameters"]["gist_id"]; - /** comment_id parameter */ - comment_id: components["parameters"]["comment_id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the `link` header for the next and previous page cursors. */ + cursor?: components["parameters"]["cursor"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["gist-comment"]; + "application/json": components["schemas"]["hook-delivery-item"][]; }; }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden_gist"]; - 404: components["responses"]["not_found"]; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; }; }; - "gists/delete-comment": { + /** Returns a delivery for a webhook configured in an organization. */ + "orgs/get-webhook-delivery": { parameters: { path: { - /** gist_id parameter */ - gist_id: components["parameters"]["gist_id"]; - /** comment_id parameter */ - comment_id: components["parameters"]["comment_id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + delivery_id: components["parameters"]["delivery-id"]; }; }; responses: { - /** Empty response */ - 204: never; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["hook-delivery"]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; }; }; - "gists/update-comment": { + /** Redeliver a delivery for a webhook configured in an organization. */ + "orgs/redeliver-webhook-delivery": { parameters: { path: { - /** gist_id parameter */ - gist_id: components["parameters"]["gist_id"]; - /** comment_id parameter */ - comment_id: components["parameters"]["comment_id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + delivery_id: components["parameters"]["delivery-id"]; }; }; responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["gist-comment"]; - }; - }; - 404: components["responses"]["not_found"]; + 202: components["responses"]["accepted"]; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; }; - requestBody: { - content: { - "application/json": { - /** The comment text. */ - body: string; - }; + }; + /** This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. */ + "orgs/ping-webhook": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; }; }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; }; - "gists/list-commits": { + /** + * Enables an authenticated GitHub App to find the organization's installation information. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-org-installation": { parameters: { path: { - /** gist_id parameter */ - gist_id: components["parameters"]["gist_id"]; - }; - query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; }; }; responses: { - /** response */ + /** Response */ 200: { - headers: { - Link?: string; - }; content: { - "application/json": components["schemas"]["gist-commit"][]; + "application/json": components["schemas"]["installation"]; }; }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; }; }; - "gists/list-forks": { + /** Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint. */ + "orgs/list-app-installations": { parameters: { path: { - /** gist_id parameter */ - gist_id: components["parameters"]["gist_id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": components["schemas"]["gist-simple"][]; + "application/json": { + total_count: number; + installations: components["schemas"]["installation"][]; + }; }; }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; }; }; - /** **Note**: This was previously `/gists/:gist_id/fork`. */ - "gists/fork": { + /** Shows which type of GitHub user can interact with this organization and when the restriction expires. If there is no restrictions, you will see an empty response. */ + "interactions/get-restrictions-for-org": { parameters: { path: { - /** gist_id parameter */ - gist_id: components["parameters"]["gist_id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; }; }; responses: { - /** response */ - 201: { - headers: { - Location?: string; - }; + /** Response */ + 200: { content: { - "application/json": components["schemas"]["base-gist"]; + "application/json": Partial< + components["schemas"]["interaction-limit-response"] + > & + Partial<{ [key: string]: unknown }>; }; }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; }; }; - "gists/check-is-starred": { + /** Temporarily restricts interactions to a certain type of GitHub user in any public repository in the given organization. You must be an organization owner to set these restrictions. Setting the interaction limit at the organization level will overwrite any interaction limits that are set for individual repositories owned by the organization. */ + "interactions/set-restrictions-for-org": { parameters: { path: { - /** gist_id parameter */ - gist_id: components["parameters"]["gist_id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; }; }; responses: { - /** Response if gist is starred */ - 204: never; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - /** Response if gist is not starred */ - 404: { + /** Response */ + 200: { content: { - "application/json": { [key: string]: any }; + "application/json": components["schemas"]["interaction-limit-response"]; }; }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["interaction-limit"]; + }; }; }; - /** Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." */ - "gists/star": { + /** Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions. */ + "interactions/remove-restrictions-for-org": { parameters: { path: { - /** gist_id parameter */ - gist_id: components["parameters"]["gist_id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; }; }; - "gists/unstar": { + /** The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. */ + "orgs/list-pending-invitations": { parameters: { path: { - /** gist_id parameter */ - gist_id: components["parameters"]["gist_id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** Empty response */ - 204: never; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["organization-invitation"][]; + }; + }; 404: components["responses"]["not_found"]; }; }; - "gists/get-revision": { + /** + * Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + "orgs/create-invitation": { parameters: { path: { - /** gist_id parameter */ - gist_id: components["parameters"]["gist_id"]; - sha: string; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; }; }; responses: { - /** response */ - 200: { + /** Response */ + 201: { content: { - "application/json": components["schemas"]["gist-simple"]; + "application/json": components["schemas"]["organization-invitation"]; }; }; - 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; }; - }; - /** List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/reference/repos#create-a-repository-for-the-authenticated-user). */ - "gitignore/get-all-templates": { - parameters: {}; - responses: { - /** response */ - 200: { - content: { - "application/json": string[]; + requestBody: { + content: { + "application/json": { + /** @description **Required unless you provide `email`**. GitHub user ID for the person you are inviting. */ + invitee_id?: number; + /** @description **Required unless you provide `invitee_id`**. Email address of the person you are inviting, which can be an existing GitHub user. */ + email?: string; + /** + * @description The role for the new member. + * \* `admin` - Organization owners with full administrative rights to the organization and complete access to all repositories and teams. + * \* `direct_member` - Non-owner organization members with ability to see other members and join teams by invitation. + * \* `billing_manager` - Non-owner organization members with ability to manage the billing settings of your organization. + * @default direct_member + * @enum {string} + */ + role?: "admin" | "direct_member" | "billing_manager"; + /** @description Specify IDs for the teams you want to invite new members to. */ + team_ids?: number[]; }; }; - 304: components["responses"]["not_modified"]; }; }; /** - * The API also allows fetching the source of a single template. - * Use the raw [media type](https://docs.github.com/rest/overview/media-types/) to get the raw contents. + * Cancel an organization invitation. In order to cancel an organization invitation, the authenticated user must be an organization owner. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). */ - "gitignore/get-template": { + "orgs/cancel-invitation": { parameters: { path: { - name: string; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; }; }; responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["gitignore-template"]; - }; - }; - 304: components["responses"]["not_modified"]; + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; - /** - * List repositories that an app installation can access. - * - * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. - */ - "apps/list-repos-accessible-to-installation": { + /** List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner. */ + "orgs/list-invitation-teams": { parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; + }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": { - total_count: number; - repositories: components["schemas"]["repository"][]; - repository_selection?: string; - }; + "application/json": components["schemas"]["team"][]; }; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Revokes the installation token you're using to authenticate as an installation and access this endpoint. - * - * Once an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the "[Create an installation access token for an app](https://docs.github.com/rest/reference/apps#create-an-installation-access-token-for-an-app)" endpoint. - * - * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. - */ - "apps/revoke-installation-access-token": { - parameters: {}; - responses: { - /** Empty response */ - 204: never; + 404: components["responses"]["not_found"]; }; }; /** - * List issues assigned to the authenticated user across all visible repositories including owned repositories, member - * repositories, and organization repositories. You can use the `filter` query parameter to fetch issues that are not - * necessarily assigned to you. - * + * List issues in an organization assigned to the authenticated user. * * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. */ - "issues/list": { + "issues/list-for-org": { parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; query: { - /** - * Indicates which sorts of issues to return. Can be one of: - * \* `assigned`: Issues assigned to you - * \* `created`: Issues created by you - * \* `mentioned`: Issues mentioning you - * \* `subscribed`: Issues you're subscribed to updates for - * \* `all`: All issues the authenticated user can see, regardless of participation or creation - */ - filter?: "assigned" | "created" | "mentioned" | "subscribed" | "all"; + /** Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation. */ + filter?: + | "assigned" + | "created" + | "mentioned" + | "subscribed" + | "repos" + | "all"; /** Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. */ state?: "open" | "closed" | "all"; /** A list of comma separated label names. Example: `bug,ui,@high` */ labels?: components["parameters"]["labels"]; /** What to sort results by. Can be either `created`, `updated`, `comments`. */ sort?: "created" | "updated" | "comments"; - /** One of `asc` (ascending) or `desc` (descending). */ + /** The direction to sort the results by. */ direction?: components["parameters"]["direction"]; /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ since?: components["parameters"]["since"]; - collab?: boolean; - orgs?: boolean; - owned?: boolean; - pulls?: boolean; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { "application/json": components["schemas"]["issue"][]; }; }; - 304: components["responses"]["not_modified"]; 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; }; }; - "licenses/get-all-commonly-used": { + /** List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned. */ + "orgs/list-members": { parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; query: { - featured?: boolean; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** Filter members returned in the list. `2fa_disabled` means that only members without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled will be returned. This options is only available for organization owners. */ + filter?: "2fa_disabled" | "all"; + /** Filter members returned by their role. */ + role?: "all" | "admin" | "member"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { + headers: {}; content: { - "application/json": components["schemas"]["license-simple"][]; + "application/json": components["schemas"]["simple-user"][]; }; }; - 304: components["responses"]["not_modified"]; + /** Response if requester is not an organization member */ + 302: never; + 422: components["responses"]["validation_failed"]; }; }; - "licenses/get": { + /** Check if a user is, publicly or privately, a member of the organization. */ + "orgs/check-membership-for-user": { parameters: { path: { - license: string; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; }; }; responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["license"]; - }; + /** Response if requester is an organization member and user is a member */ + 204: never; + /** Response if requester is not an organization member */ + 302: never; + /** Not Found if requester is an organization member and user is not a member */ + 404: unknown; + }; + }; + /** Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories. */ + "orgs/remove-member": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Deletes a user's codespace. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "codespaces/delete-from-organization": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; }; + }; + responses: { + 202: components["responses"]["accepted"]; 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; }; }; - "markdown/render": { - parameters: {}; + /** + * Stops a user's codespace. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "codespaces/stop-in-organization": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + }; responses: { - /** response */ + /** Response */ 200: { - headers: { - "Content-Length"?: string; - }; content: { - "text/html": string; + "application/json": components["schemas"]["codespace"]; }; }; 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; }; - requestBody: { - content: { - "application/json": { - /** The Markdown text to render in HTML. */ - text: string; - /** The rendering mode. */ - mode?: "markdown" | "gfm"; - /** The repository context to use when creating references in `gfm` mode. */ - context?: string; - }; + }; + /** In order to get a user's membership with an organization, the authenticated user must be an organization member. The `state` parameter in the response can be used to identify the user's membership status. */ + "orgs/get-membership-for-user": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; }; }; - }; - /** You must send Markdown as plain text (using a `Content-Type` header of `text/plain` or `text/x-markdown`) to this endpoint, rather than using JSON format. In raw mode, [GitHub Flavored Markdown](https://github.github.com/gfm/) is not supported and Markdown will be rendered in plain format like a README.md file. Markdown content must be 400 KB or less. */ - "markdown/render-raw": { - parameters: {}; responses: { - /** response */ + /** Response */ 200: { - headers: {}; content: { - "text/html": string; + "application/json": components["schemas"]["org-membership"]; }; }; - 304: components["responses"]["not_modified"]; - }; - requestBody: { - content: { - "text/plain": string; - "text/x-markdown": string; - }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; /** - * Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * Only authenticated organization owners can add a member to the organization or update the member's role. * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + * * If the authenticated user is _adding_ a member to the organization, the invited user will receive an email inviting them to the organization. The user's [membership status](https://docs.github.com/rest/reference/orgs#get-organization-membership-for-a-user) will be `pending` until they accept the invitation. + * + * * Authenticated users can _update_ a user's membership by passing the `role` parameter. If the authenticated user changes a member's role to `admin`, the affected user will receive an email notifying them that they've been made an organization owner. If the authenticated user changes an owner's role to `member`, no email will be sent. + * + * **Rate limits** + * + * To prevent abuse, the authenticated user is limited to 50 organization invitations per 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period. */ - "apps/get-subscription-plan-for-account": { + "orgs/set-membership-for-user": { parameters: { path: { - /** account_id parameter */ - account_id: components["parameters"]["account_id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["marketplace-purchase"]; + "application/json": components["schemas"]["org-membership"]; }; }; - 401: components["responses"]["requires_authentication"]; - /** Response when the account has not purchased the listing */ - 404: { - content: { - "application/json": components["schemas"]["basic-error"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The role to give the user in the organization. Can be one of: + * \* `admin` - The user will become an owner of the organization. + * \* `member` - The user will become a non-owner member of the organization. + * @default member + * @enum {string} + */ + role?: "admin" | "member"; }; }; }; }; /** - * Lists all plans that are part of your GitHub Marketplace listing. + * In order to remove a user's membership with an organization, the authenticated user must be an organization owner. * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + * If the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases. */ - "apps/list-plans": { + "orgs/remove-membership-for-user": { parameters: { - query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; }; }; responses: { - /** response */ - 200: { - headers: {}; - content: { - "application/json": components["schemas"]["marketplace-listing-plan"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; + /** Response */ + 204: never; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; }; }; - /** - * Returns user and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - "apps/list-accounts-for-plan": { + /** Lists the most recent migrations. */ + "migrations/list-for-org": { parameters: { path: { - /** plan_id parameter */ - plan_id: components["parameters"]["plan_id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; }; query: { - /** One of `created` (when the repository was starred) or `updated` (when it was last pushed to). */ - sort?: components["parameters"]["sort"]; - /** To return the oldest accounts first, set to `asc`. Can be one of `asc` or `desc`. Ignored without the `sort` parameter. */ - direction?: "asc" | "desc"; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; + /** Exclude attributes from the API response to improve performance */ + exclude?: "repositories"[]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": components["schemas"]["marketplace-purchase"][]; + "application/json": components["schemas"]["migration"][]; }; }; - 401: components["responses"]["requires_authentication"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; }; }; - /** - * Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - "apps/get-subscription-plan-for-account-stubbed": { + /** Initiates the generation of a migration archive. */ + "migrations/start-for-org": { parameters: { path: { - /** account_id parameter */ - account_id: components["parameters"]["account_id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; }; }; responses: { - /** response */ - 200: { + /** Response */ + 201: { content: { - "application/json": components["schemas"]["marketplace-purchase"]; + "application/json": components["schemas"]["migration"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description A list of arrays indicating which repositories should be migrated. */ + repositories: string[]; + /** + * @description Indicates whether repositories should be locked (to prevent manipulation) while migrating data. + * @default false + * @example true + */ + lock_repositories?: boolean; + /** + * @description Indicates whether metadata should be excluded and only git source should be included for the migration. + * @default false + */ + exclude_metadata?: boolean; + /** + * @description Indicates whether the repository git data should be excluded from the migration. + * @default false + */ + exclude_git_data?: boolean; + /** + * @description Indicates whether attachments should be excluded from the migration (to reduce migration archive file size). + * @default false + * @example true + */ + exclude_attachments?: boolean; + /** + * @description Indicates whether releases should be excluded from the migration (to reduce migration archive file size). + * @default false + * @example true + */ + exclude_releases?: boolean; + /** + * @description Indicates whether projects owned by the organization or users should be excluded. from the migration. + * @default false + * @example true + */ + exclude_owner_projects?: boolean; + /** + * @description Indicates whether this should only include organization metadata (repositories array should be empty and will ignore other flags). + * @default false + * @example true + */ + org_metadata_only?: boolean; + /** @description Exclude related items from being returned in the response in order to improve performance of the request. The array can include any of: `"repositories"`. */ + exclude?: "repositories"[]; }; }; - 401: components["responses"]["requires_authentication"]; - /** Response when the account has not purchased the listing */ - 404: unknown; }; }; /** - * Lists all plans that are part of your GitHub Marketplace listing. + * Fetches the status of a migration. * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + * The `state` of a migration can be one of the following values: + * + * * `pending`, which means the migration hasn't started yet. + * * `exporting`, which means the migration is in progress. + * * `exported`, which means the migration finished successfully. + * * `failed`, which means the migration failed. */ - "apps/list-plans-stubbed": { + "migrations/get-status-for-org": { parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** Exclude attributes from the API response to improve performance */ + exclude?: "repositories"[]; }; }; responses: { - /** response */ + /** + * * `pending`, which means the migration hasn't started yet. + * * `exporting`, which means the migration is in progress. + * * `exported`, which means the migration finished successfully. + * * `failed`, which means the migration failed. + */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["marketplace-listing-plan"][]; + "application/json": components["schemas"]["migration"]; }; }; - 401: components["responses"]["requires_authentication"]; + 404: components["responses"]["not_found"]; }; }; - /** - * Returns repository and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - "apps/list-accounts-for-plan-stubbed": { + /** Fetches the URL to a migration archive. */ + "migrations/download-archive-for-org": { parameters: { path: { - /** plan_id parameter */ - plan_id: components["parameters"]["plan_id"]; - }; - query: { - /** One of `created` (when the repository was starred) or `updated` (when it was last pushed to). */ - sort?: components["parameters"]["sort"]; - /** To return the oldest accounts first, set to `asc`. Can be one of `asc` or `desc`. Ignored without the `sort` parameter. */ - direction?: "asc" | "desc"; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; }; }; responses: { - /** response */ - 200: { - headers: {}; - content: { - "application/json": components["schemas"]["marketplace-purchase"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; + /** Response */ + 302: never; + 404: components["responses"]["not_found"]; }; }; - /** - * Returns meta information about GitHub, including a list of GitHub's IP addresses. For more information, see "[About GitHub's IP addresses](https://help.github.com/articles/about-github-s-ip-addresses/)." - * - * **Note:** The IP addresses shown in the documentation's response are only example values. You must always query the API directly to get the latest list of IP addresses. - */ - "meta/get": { - parameters: {}; + /** Deletes a previous migration archive. Migration archives are automatically deleted after seven days. */ + "migrations/delete-archive-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + }; responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["api-overview"]; - }; + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://docs.github.com/rest/reference/repos#delete-a-repository) when the migration is complete and you no longer need the source data. */ + "migrations/unlock-repo-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + /** repo_name parameter */ + repo_name: components["parameters"]["repo-name"]; }; - 304: components["responses"]["not_modified"]; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; }; }; - "activity/list-public-events-for-repo-network": { + /** List all the repositories for this organization migration. */ + "migrations/list-repos-for-org": { parameters: { path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { + headers: {}; content: { - "application/json": components["schemas"]["event"][]; + "application/json": components["schemas"]["minimal-repository"][]; }; }; - 301: components["responses"]["moved_permanently"]; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; }; }; - /** List all notifications for the current user, sorted by most recently updated. */ - "activity/list-notifications-for-authenticated-user": { + /** List all users who are outside collaborators of an organization. */ + "orgs/list-outside-collaborators": { parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; query: { - /** If `true`, show notifications marked as read. */ - all?: components["parameters"]["all"]; - /** If `true`, only shows notifications in which the user is directly participating or mentioned. */ - participating?: components["parameters"]["participating"]; - /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - since?: components["parameters"]["since"]; - /** Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - before?: components["parameters"]["before"]; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** Filter the list of outside collaborators. `2fa_disabled` means that only outside collaborators without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled will be returned. */ + filter?: "2fa_disabled" | "all"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": components["schemas"]["thread"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** Marks all notifications as "read" removes it from the [default view on GitHub](https://github.com/notifications). If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List notifications for the authenticated user](https://docs.github.com/rest/reference/activity#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. */ - "activity/mark-notifications-as-read": { - parameters: {}; - responses: { - /** response */ - 202: { - content: { - "application/json": { - message?: string; - }; - }; - }; - /** response */ - 205: unknown; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - requestBody: { - content: { - "application/json": { - /** Describes the last point that notifications were checked. */ - last_read_at?: string; - /** Whether the notification has been read. */ - read?: boolean; + "application/json": components["schemas"]["simple-user"][]; }; }; }; }; - "activity/get-thread": { + /** When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see "[Converting an organization member to an outside collaborator](https://docs.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)". Converting an organization member to an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." */ + "orgs/convert-member-to-outside-collaborator": { parameters: { path: { - /** thread_id parameter */ - thread_id: components["parameters"]["thread_id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; }; }; responses: { - /** response */ - 200: { + /** User is getting converted asynchronously */ + 202: { content: { - "application/json": components["schemas"]["thread"]; + "application/json": { [key: string]: unknown }; + }; + }; + /** User was converted */ + 204: never; + /** Forbidden if user is the last owner of the organization, not a member of the organization, or if the enterprise enforces a policy for inviting outside collaborators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/en/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." */ + 403: unknown; + 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description When set to `true`, the request will be performed asynchronously. Returns a 202 status code when the job is successfully queued. + * @default false + */ + async?: boolean; }; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; }; }; - "activity/mark-thread-as-read": { + /** Removing a user from this list will remove them from all the organization's repositories. */ + "orgs/remove-outside-collaborator": { parameters: { path: { - /** thread_id parameter */ - thread_id: components["parameters"]["thread_id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; }; }; responses: { - /** response */ - 205: unknown; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; + /** Response */ + 204: never; + /** Unprocessable Entity if user is a member of the organization */ + 422: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; }; }; /** - * This checks to see if the current user is subscribed to a thread. You can also [get a repository subscription](https://docs.github.com/rest/reference/activity#get-a-repository-subscription). + * Lists all packages in an organization readable by the user. * - * Note that subscriptions are only generated if a user is participating in a conversation--for example, they've replied to the thread, were **@mentioned**, or manually subscribe to a thread. + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. */ - "activity/get-thread-subscription-for-authenticated-user": { + "packages/list-packages-for-organization": { parameters: { - path: { - /** thread_id parameter */ - thread_id: components["parameters"]["thread_id"]; + query: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: + | "npm" + | "maven" + | "rubygems" + | "docker" + | "nuget" + | "container"; + /** The selected visibility of the packages. Only `container` package_types currently support `internal` visibility properly. For other ecosystems `internal` is synonymous with `private`. This parameter is optional and only filters an existing result set. */ + visibility?: components["parameters"]["package-visibility"]; + }; + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["thread-subscription"]; + "application/json": components["schemas"]["package"][]; }; }; - 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; }; }; /** - * If you are watching a repository, you receive notifications for all threads by default. Use this endpoint to ignore future notifications for threads until you comment on the thread or get an **@mention**. + * Gets a specific package in an organization. * - * You can also use this endpoint to subscribe to threads that you are currently not receiving notifications for or to subscribed to threads that you have previously ignored. - * - * Unsubscribing from a conversation in a repository that you are not watching is functionally equivalent to the [Delete a thread subscription](https://docs.github.com/rest/reference/activity#delete-a-thread-subscription) endpoint. + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. */ - "activity/set-thread-subscription": { + "packages/get-package-for-organization": { parameters: { path: { - /** thread_id parameter */ - thread_id: components["parameters"]["thread_id"]; + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["thread-subscription"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - requestBody: { - content: { - "application/json": { - /** Whether to block all notifications from a thread. */ - ignored?: boolean; + "application/json": components["schemas"]["package"]; }; }; }; }; - /** Mutes all future notifications for a conversation until you comment on the thread or get an **@mention**. If you are watching the repository of the thread, you will still receive notifications. To ignore future notifications for a repository you are watching, use the [Set a thread subscription](https://docs.github.com/rest/reference/activity#set-a-thread-subscription) endpoint and set `ignore` to `true`. */ - "activity/delete-thread-subscription": { + /** + * Deletes an entire package in an organization. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + */ + "packages/delete-package-for-org": { parameters: { path: { - /** thread_id parameter */ - thread_id: components["parameters"]["thread_id"]; + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; - 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; - }; - }; - /** Get the octocat as ASCII art */ - "meta/get-octocat": { - parameters: { - query: { - /** The words to show in Octocat's speech bubble */ - s?: string; - }; - }; - responses: { - /** response */ - 200: { - content: { - "application/octocat-stream": string; - }; - }; + 404: components["responses"]["not_found"]; }; }; /** - * Lists all organizations, in the order that they were created on GitHub. + * Restores an entire package in an organization. * - * **Note:** Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of organizations. + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. */ - "orgs/list": { + "packages/restore-package-for-org": { parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; query: { - /** An organization ID. Only return organizations with an ID greater than this ID. */ - since?: components["parameters"]["since-org"]; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** package token */ + token?: string; }; }; responses: { - /** response */ - 200: { - headers: { - Link?: string; - }; - content: { - "application/json": components["schemas"]["organization-simple"][]; - }; - }; - 304: components["responses"]["not_modified"]; + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; /** - * To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://help.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). + * Returns all package versions for a package owned by an organization. * - * GitHub Apps with the `Organization plan` permission can use this endpoint to retrieve information about an organization's GitHub plan. See "[Authenticating with GitHub Apps](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/)" for details. For an example response, see 'Response with GitHub plan information' below." + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. */ - "orgs/get": { + "packages/get-all-package-versions-for-package-owned-by-org": { parameters: { path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; }; + query: { + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** The state of the package, either active or deleted. */ + state?: "active" | "deleted"; + }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["organization-full"]; + "application/json": components["schemas"]["package-version"][]; }; }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; }; }; /** - * **Parameter Deprecation Notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). + * Gets a specific package version in an organization. * - * Enables an authenticated organization owner with the `admin:org` scope to update the organization's profile and member privileges. + * You must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. */ - "orgs/update": { + "packages/get-package-version-for-organization": { parameters: { path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; + /** Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["organization-full"]; - }; - }; - 409: components["responses"]["conflict"]; - 415: components["responses"]["preview_header_missing"]; - /** Validation Failed */ - 422: { - content: { - "application/json": - | components["schemas"]["validation-error"] - | components["schemas"]["validation-error-simple"]; - }; - }; - }; - requestBody: { - content: { - "application/json": { - /** Billing email address. This address is not publicized. */ - billing_email?: string; - /** The company name. */ - company?: string; - /** The publicly visible email address. */ - email?: string; - /** The Twitter username of the company. */ - twitter_username?: string; - /** The location. */ - location?: string; - /** The shorthand name of the company. */ - name?: string; - /** The description of the company. */ - description?: string; - /** Toggles whether an organization can use organization projects. */ - has_organization_projects?: boolean; - /** Toggles whether repositories that belong to the organization can use repository projects. */ - has_repository_projects?: boolean; - /** - * Default permission level members have for organization repositories: - * \* `read` - can pull, but not push to or administer this repository. - * \* `write` - can pull and push, but not administer this repository. - * \* `admin` - can pull, push, and administer this repository. - * \* `none` - no permissions granted by default. - */ - default_repository_permission?: "read" | "write" | "admin" | "none"; - /** - * Toggles the ability of non-admin organization members to create repositories. Can be one of: - * \* `true` - all organization members can create repositories. - * \* `false` - only organization owners can create repositories. - * Default: `true` - * **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. - */ - members_can_create_repositories?: boolean; - /** - * Toggles whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. Can be one of: - * \* `true` - all organization members can create internal repositories. - * \* `false` - only organization owners can create internal repositories. - * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. - */ - members_can_create_internal_repositories?: boolean; - /** - * Toggles whether organization members can create private repositories, which are visible to organization members with permission. Can be one of: - * \* `true` - all organization members can create private repositories. - * \* `false` - only organization owners can create private repositories. - * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. - */ - members_can_create_private_repositories?: boolean; - /** - * Toggles whether organization members can create public repositories, which are visible to anyone. Can be one of: - * \* `true` - all organization members can create public repositories. - * \* `false` - only organization owners can create public repositories. - * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. - */ - members_can_create_public_repositories?: boolean; - /** - * Specifies which types of repositories non-admin organization members can create. Can be one of: - * \* `all` - all organization members can create public and private repositories. - * \* `private` - members can create private repositories. This option is only available to repositories that are part of an organization on GitHub Enterprise Cloud. - * \* `none` - only admin members can create repositories. - * **Note:** This parameter is deprecated and will be removed in the future. Its return value ignores internal repositories. Using this parameter overrides values set in `members_can_create_repositories`. See the parameter deprecation notice in the operation description for details. - */ - members_allowed_repository_creation_type?: "all" | "private" | "none"; - /** - * Toggles whether organization members can create GitHub Pages sites. Can be one of: - * \* `true` - all organization members can create GitHub Pages sites. - * \* `false` - no organization members can create GitHub Pages sites. Existing published sites will not be impacted. - */ - members_can_create_pages?: boolean; - /** - * Toggles whether organization members can create public GitHub Pages sites. Can be one of: - * \* `true` - all organization members can create public GitHub Pages sites. - * \* `false` - no organization members can create public GitHub Pages sites. Existing published sites will not be impacted. - */ - members_can_create_public_pages?: boolean; - /** - * Toggles whether organization members can create private GitHub Pages sites. Can be one of: - * \* `true` - all organization members can create private GitHub Pages sites. - * \* `false` - no organization members can create private GitHub Pages sites. Existing published sites will not be impacted. - */ - members_can_create_private_pages?: boolean; - blog?: string; + "application/json": components["schemas"]["package-version"]; }; }; }; }; /** - * Gets the GitHub Actions permissions policy for repositories and allowed actions in an organization. + * Deletes a specific package version in an organization. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. */ - "actions/get-github-actions-permissions-organization": { + "packages/delete-package-version-for-org": { parameters: { path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; + /** Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; }; }; responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["actions-organization-permissions"]; - }; - }; + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; /** - * Sets the GitHub Actions permissions policy for repositories and allowed actions in an organization. + * Restores a specific package version in an organization. * - * If the organization belongs to an enterprise that has set restrictive permissions at the enterprise level, such as `allowed_actions` to `selected` actions, then you cannot override them for the organization. + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. */ - "actions/set-github-actions-permissions-organization": { + "packages/restore-package-version-for-org": { parameters: { path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; + /** Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; - }; - requestBody: { - content: { - "application/json": { - enabled_repositories: components["schemas"]["enabled-repositories"]; - allowed_actions?: components["schemas"]["allowed-actions"]; - }; - }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; - /** - * Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - "actions/list-selected-repositories-enabled-github-actions-organization": { + /** Lists the projects in an organization. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + "projects/list-for-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. */ + state?: "open" | "closed" | "all"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { + headers: {}; content: { - "application/json": { - total_count: number; - repositories: components["schemas"]["repository"][]; - }; + "application/json": components["schemas"]["project"][]; }; }; + 422: components["responses"]["validation_failed_simple"]; }; }; - /** - * Replaces the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - "actions/set-selected-repositories-enabled-github-actions-organization": { + /** Creates an organization project board. Returns a `410 Gone` status if projects are disabled in the organization or if the organization does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + "projects/create-for-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; }; }; responses: { - /** Empty response */ - 204: never; + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed_simple"]; }; requestBody: { content: { "application/json": { - /** List of repository IDs to enable for GitHub Actions. */ - selected_repository_ids: number[]; + /** @description The name of the project. */ + name: string; + /** @description The description of the project. */ + body?: string; }; }; }; }; - /** - * Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - "actions/enable-selected-repository-github-actions-organization": { + /** Members of an organization can choose to have their membership publicized or not. */ + "orgs/list-public-members": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; - repository_id: components["parameters"]["repository_id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** Empty response */ - 204: never; + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; }; }; - /** - * Removes a repository from the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - "actions/disable-selected-repository-github-actions-organization": { + "orgs/check-public-membership-for-user": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; - repository_id: components["parameters"]["repository_id"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; }; }; responses: { - /** Empty response */ + /** Response if user is a public member */ 204: never; + /** Not Found if user is not a public member */ + 404: unknown; }; }; /** - * Gets the selected actions that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)."" + * The user can publicize their own membership. (A user cannot publicize the membership for another user.) * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." */ - "actions/get-allowed-actions-organization": { + "orgs/set-public-membership-for-authenticated-user": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; }; }; responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["selected-actions"]; - }; - }; + /** Response */ + 204: never; + 403: components["responses"]["forbidden"]; }; }; - /** - * Sets the actions that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * If the organization belongs to an enterprise that has `selected` actions set at the enterprise level, then you cannot override any of the enterprise's allowed actions settings. - * - * To use the `patterns_allowed` setting for private repositories, the organization must belong to an enterprise. If the organization does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories in the organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - "actions/set-allowed-actions-organization": { + "orgs/remove-public-membership-for-authenticated-user": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; }; - requestBody: { - content: { - "application/json": components["schemas"]["selected-actions"]; - }; - }; }; - /** - * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." - * - * Lists all self-hosted runner groups configured in an organization and inherited from an enterprise. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "actions/list-self-hosted-runner-groups-for-org": { + /** Lists repositories for the specified organization. */ + "repos/list-for-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** Specifies the types of repositories you want returned. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `type` can also be `internal`. However, the `internal` value is not yet supported when a GitHub App calls this API with an installation access token. */ + type?: + | "all" + | "public" + | "private" + | "forks" + | "sources" + | "member" + | "internal"; + /** The property to sort the results by. */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ + direction?: "asc" | "desc"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { + headers: {}; content: { - "application/json": { - total_count: number; - runner_groups: components["schemas"]["runner-groups-org"][]; - }; + "application/json": components["schemas"]["minimal-repository"][]; }; }; }; }; /** - * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud and GitHub Enterprise Server. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * Creates a new repository in the specified organization. The authenticated user must be a member of the organization. * - * Creates a new self-hosted runner group for an organization. + * **OAuth scope requirements** * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. + * * `repo` scope to create a private repository */ - "actions/create-self-hosted-runner-group-for-org": { + "repos/create-in-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; }; }; responses: { - /** response */ + /** Response */ 201: { + headers: { + Location?: string; + }; content: { - "application/json": components["schemas"]["runner-groups-org"]; + "application/json": components["schemas"]["repository"]; }; }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - /** Name of the runner group. */ + /** @description The name of the repository. */ name: string; - /** Visibility of a runner group. You can select all repositories, select individual repositories, or limit access to private repositories. Can be one of: `all`, `selected`, or `private`. */ - visibility?: "selected" | "all" | "private"; - /** List of repository IDs that can access the runner group. */ - selected_repository_ids?: number[]; - /** List of runner IDs to add to the runner group. */ - runners?: number[]; + /** @description A short description of the repository. */ + description?: string; + /** @description A URL with more information about the repository. */ + homepage?: string; + /** + * @description Whether the repository is private. + * @default false + */ + private?: boolean; + /** + * @description Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`. Note: For GitHub Enterprise Server and GitHub AE, this endpoint will only list repositories available to all users on the enterprise. For more information, see "[Creating an internal repository](https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/about-repository-visibility#about-internal-repositories)" in the GitHub Help documentation. + * @enum {string} + */ + visibility?: "public" | "private" | "internal"; + /** + * @description Either `true` to enable issues for this repository or `false` to disable them. + * @default true + */ + has_issues?: boolean; + /** + * @description Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. + * @default true + */ + has_projects?: boolean; + /** + * @description Either `true` to enable the wiki for this repository or `false` to disable it. + * @default true + */ + has_wiki?: boolean; + /** + * @description Either `true` to make this repo available as a template repository or `false` to prevent it. + * @default false + */ + is_template?: boolean; + /** @description The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. */ + team_id?: number; + /** + * @description Pass `true` to create an initial commit with empty README. + * @default false + */ + auto_init?: boolean; + /** @description Desired language or platform [.gitignore template](https://github.com/github/gitignore) to apply. Use the name of the template without the extension. For example, "Haskell". */ + gitignore_template?: string; + /** @description Choose an [open source license template](https://choosealicense.com/) that best suits your needs, and then use the [license keyword](https://docs.github.com/articles/licensing-a-repository/#searching-github-by-license-type) as the `license_template` string. For example, "mit" or "mpl-2.0". */ + license_template?: string; + /** + * @description Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + * @default true + */ + allow_squash_merge?: boolean; + /** + * @description Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Either `true` to allow auto-merge on pull requests, or `false` to disallow auto-merge. + * @default false + */ + allow_auto_merge?: boolean; + /** + * @description Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + * @default false + */ + delete_branch_on_merge?: boolean; + /** + * @description Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. + * @default false + */ + use_squash_pr_title_as_default?: boolean; }; }; }; }; /** - * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." - * - * Gets a specific self-hosted runner group for an organization. + * Lists secret scanning alerts for eligible repositories in an organization, from newest to oldest. + * To use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. */ - "actions/get-self-hosted-runner-group-for-org": { + "secret-scanning/list-alerts-for-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; - /** Unique identifier of the self-hosted runner group. */ - runner_group_id: components["parameters"]["runner_group_id"]; + }; + query: { + /** Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ + state?: components["parameters"]["secret-scanning-alert-state"]; + /** + * A comma-separated list of secret types to return. By default all secret types are returned. + * See "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)" + * for a complete list of secret types. + */ + secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; + /** A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`. */ + resolution?: components["parameters"]["secret-scanning-alert-resolution"]; + /** The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved. */ + sort?: components["parameters"]["secret-scanning-alert-sort"]; + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. To receive an initial cursor on your first request, include an empty "before" query string. */ + before?: components["parameters"]["secret-scanning-pagination-before-org-repo"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. To receive an initial cursor on your first request, include an empty "after" query string. */ + after?: components["parameters"]["secret-scanning-pagination-after-org-repo"]; }; }; responses: { - /** response */ + /** Response */ 200: { + headers: {}; content: { - "application/json": components["schemas"]["runner-groups-org"]; + "application/json": components["schemas"]["organization-secret-scanning-alert"][]; }; }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; }; }; /** - * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * Gets the summary of the free and paid GitHub Actions minutes used. * - * Deletes a self-hosted runner group for an organization. + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * Access tokens must have the `repo` or `admin:org` scope. */ - "actions/delete-self-hosted-runner-group-from-org": { + "billing/get-github-actions-billing-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; - /** Unique identifier of the self-hosted runner group. */ - runner_group_id: components["parameters"]["runner_group_id"]; }; }; responses: { - /** Empty response */ - 204: never; + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-billing-usage"]; + }; + }; }; }; /** - * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * Gets the GitHub Advanced Security active committers for an organization per repository. * - * Updates the `name` and `visibility` of a self-hosted runner group in an organization. + * Each distinct user login across all repositories is counted as a single Advanced Security seat, so the `total_advanced_security_committers` is not the sum of advanced_security_committers for each repository. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If this organization defers to an enterprise for billing, the `total_advanced_security_committers` returned from the organization API may include some users that are in more than one organization, so they will only consume a single Advanced Security seat at the enterprise level. + * + * The total number of repositories with committer information is tracked by the `total_count` field. */ - "actions/update-self-hosted-runner-group-for-org": { + "billing/get-github-advanced-security-billing-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; - /** Unique identifier of the self-hosted runner group. */ - runner_group_id: components["parameters"]["runner_group_id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Success */ 200: { content: { - "application/json": components["schemas"]["runner-groups-org"]; - }; - }; - }; - requestBody: { - content: { - "application/json": { - /** Name of the runner group. */ - name?: string; - /** Visibility of a runner group. You can select all repositories, select individual repositories, or all private repositories. Can be one of: `all`, `selected`, or `private`. */ - visibility?: "selected" | "all" | "private"; + "application/json": components["schemas"]["advanced-security-active-committers"]; }; }; + 403: components["responses"]["code_scanning_forbidden_read"]; }; }; /** - * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud and GitHub Enterprise Server. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * Gets the free and paid storage used for GitHub Packages in gigabytes. * - * Lists the repositories with access to a self-hosted runner group configured in an organization. + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * Access tokens must have the `repo` or `admin:org` scope. */ - "actions/list-repo-access-to-self-hosted-runner-group-in-org": { + "billing/get-github-packages-billing-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; - /** Unique identifier of the self-hosted runner group. */ - runner_group_id: components["parameters"]["runner_group_id"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": { - total_count: number; - repositories: components["schemas"]["repository"][]; - }; + "application/json": components["schemas"]["packages-billing-usage"]; }; }; }; }; /** - * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. * - * Replaces the list of repositories that have access to a self-hosted runner group configured in an organization. + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * Access tokens must have the `repo` or `admin:org` scope. */ - "actions/set-repo-access-to-self-hosted-runner-group-in-org": { + "billing/get-shared-storage-billing-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; - /** Unique identifier of the self-hosted runner group. */ - runner_group_id: components["parameters"]["runner_group_id"]; }; }; responses: { - /** Empty response */ - 204: never; - }; - requestBody: { - content: { - "application/json": { - /** List of repository IDs that can access the runner group. */ - selected_repository_ids: number[]; - }; - }; - }; - }; - /** - * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." - * - * - * Adds a repository to the list of selected repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` - * scope to use this endpoint. - */ - "actions/add-repo-access-to-self-hosted-runner-group-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - /** Unique identifier of the self-hosted runner group. */ - runner_group_id: components["parameters"]["runner_group_id"]; - repository_id: components["parameters"]["repository_id"]; + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["combined-billing-usage"]; + }; }; }; - responses: { - /** Empty response */ - 204: never; - }; }; /** - * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." - * - * - * Removes a repository from the list of selected repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization)." + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * List IdP groups available in an organization. You can limit your page results using the `per_page` parameter. GitHub generates a url-encoded `page` token using a cursor value for where the next page begins. For more information on cursor pagination, see "[Offset and Cursor Pagination explained](https://dev.to/jackmarchant/offset-and-cursor-pagination-explained-b89)." */ - "actions/remove-repo-access-to-self-hosted-runner-group-in-org": { + "teams/list-idp-groups-for-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; - /** Unique identifier of the self-hosted runner group. */ - runner_group_id: components["parameters"]["runner_group_id"]; - repository_id: components["parameters"]["repository_id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page token */ + page?: string; }; }; responses: { - /** Empty response */ - 204: never; + /** Response */ + 200: { + headers: { + Link?: string; + }; + content: { + "application/json": components["schemas"]["group-mapping"]; + }; + }; }; }; - /** - * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." - * - * Lists self-hosted runners that are in a specific organization group. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "actions/list-self-hosted-runners-in-group-for-org": { + /** Lists all teams in an organization that are visible to the authenticated user. */ + "teams/list": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; - /** Unique identifier of the self-hosted runner group. */ - runner_group_id: components["parameters"]["runner_group_id"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": { - total_count: number; - runners: components["schemas"]["runner"][]; - }; + "application/json": components["schemas"]["team"][]; }; }; + 403: components["responses"]["forbidden"]; }; }; /** - * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." - * - * Replaces the list of self-hosted runners that are part of an organization runner group. + * To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://docs.github.com/en/articles/setting-team-creation-permissions-in-your-organization)." * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://docs.github.com/en/github/setting-up-and-managing-organizations-and-teams/about-teams)". */ - "actions/set-self-hosted-runners-in-group-for-org": { + "teams/create": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; - /** Unique identifier of the self-hosted runner group. */ - runner_group_id: components["parameters"]["runner_group_id"]; }; }; responses: { - /** Empty response */ - 204: never; + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - /** List of runner IDs to add to the runner group. */ - runners: number[]; + /** @description The name of the team. */ + name: string; + /** @description The description of the team. */ + description?: string; + /** @description List GitHub IDs for organization members who will become team maintainers. */ + maintainers?: string[]; + /** @description The full name (e.g., "organization-name/repository-name") of repositories to add the team to. */ + repo_names?: string[]; + /** + * @description The level of privacy this team should have. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * Default: `secret` + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + * Default for child team: `closed` + * @enum {string} + */ + privacy?: "secret" | "closed"; + /** + * @description **Deprecated**. The permission that new repositories will be added to the team with when none is specified. + * @default pull + * @enum {string} + */ + permission?: "pull" | "push"; + /** @description The ID of a team to set as the parent team. */ + parent_team_id?: number; }; }; }; }; /** - * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." - * - * - * Adds a self-hosted runner to a runner group configured in an organization. + * Gets a team using the team's `slug`. GitHub generates the `slug` from the team `name`. * - * You must authenticate using an access token with the `admin:org` - * scope to use this endpoint. + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}`. */ - "actions/add-self-hosted-runner-to-group-for-org": { + "teams/get-by-name": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; - /** Unique identifier of the self-hosted runner group. */ - runner_group_id: components["parameters"]["runner_group_id"]; - /** Unique identifier of the self-hosted runner. */ - runner_id: components["parameters"]["runner_id"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; }; }; responses: { - /** Empty response */ - 204: never; + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 404: components["responses"]["not_found"]; }; }; /** - * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." - * + * To delete a team, the authenticated user must be an organization owner or team maintainer. * - * Removes a self-hosted runner from a group configured in an organization. The runner is then returned to the default group. + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}`. */ - "actions/remove-self-hosted-runner-from-group-for-org": { + "teams/delete-in-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; - /** Unique identifier of the self-hosted runner group. */ - runner_group_id: components["parameters"]["runner_group_id"]; - /** Unique identifier of the self-hosted runner. */ - runner_id: components["parameters"]["runner_id"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; }; }; /** - * Lists all self-hosted runners configured in an organization. + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}`. */ - "actions/list-self-hosted-runners-for-org": { + "teams/update-in-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; - }; - query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; }; }; responses: { - /** response */ - 200: { - headers: {}; + /** Response */ + 201: { content: { - "application/json": { - total_count: number; - runners: components["schemas"]["runner"][]; - }; + "application/json": components["schemas"]["team-full"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the team. */ + name?: string; + /** @description The description of the team. */ + description?: string; + /** + * @description The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. When a team is nested, the `privacy` for parent teams cannot be `secret`. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + * @enum {string} + */ + privacy?: "secret" | "closed"; + /** + * @description **Deprecated**. The permission that new repositories will be added to the team with when none is specified. + * @default pull + * @enum {string} + */ + permission?: "pull" | "push" | "admin"; + /** @description The ID of a team to set as the parent team. */ + parent_team_id?: number | null; }; }; }; }; /** - * Lists binaries for the runner application that you can download and run. + * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions`. */ - "actions/list-runner-applications-for-org": { + "teams/list-discussions-in-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + query: { + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** Pinned discussions only filter */ + pinned?: string; }; }; responses: { - /** response */ + /** Response */ 200: { + headers: {}; content: { - "application/json": components["schemas"]["runner-application"][]; + "application/json": components["schemas"]["team-discussion"][]; }; }; }; }; /** - * Returns a token that you can pass to the `config` script. The token expires after one hour. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * - * #### Example using registration token + * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). * - * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. * - * ``` - * ./config.sh --url https://github.com/octo-org --token TOKEN - * ``` + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`. */ - "actions/create-registration-token-for-org": { + "teams/create-discussion-in-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; }; }; responses: { - /** response */ + /** Response */ 201: { content: { - "application/json": components["schemas"]["authentication-token"]; + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion post's title. */ + title: string; + /** @description The discussion post's body text. */ + body: string; + /** + * @description Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. + * @default false + */ + private?: boolean; }; }; }; }; /** - * Returns a token that you can pass to the `config` script to remove a self-hosted runner from an organization. The token expires after one hour. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * - * #### Example using remove token - * - * To remove your self-hosted runner from an organization, replace `TOKEN` with the remove token provided by this - * endpoint. + * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). * - * ``` - * ./config.sh remove --token TOKEN - * ``` + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. */ - "actions/create-remove-token-for-org": { + "teams/get-discussion-in-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; }; }; responses: { - /** response */ - 201: { + /** Response */ + 200: { content: { - "application/json": components["schemas"]["authentication-token"]; + "application/json": components["schemas"]["team-discussion"]; }; }; }; }; /** - * Gets a specific self-hosted runner configured in an organization. + * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. */ - "actions/get-self-hosted-runner-for-org": { + "teams/delete-discussion-in-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; - /** Unique identifier of the self-hosted runner. */ - runner_id: components["parameters"]["runner_id"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; }; }; responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["runner"]; - }; - }; + /** Response */ + 204: never; }; }; /** - * Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. */ - "actions/delete-self-hosted-runner-from-org": { + "teams/update-discussion-in-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; - /** Unique identifier of the self-hosted runner. */ - runner_id: components["parameters"]["runner_id"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion post's title. */ + title?: string; + /** @description The discussion post's body text. */ + body?: string; + }; }; }; - responses: { - /** Empty response */ - 204: never; - }; }; - /** Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ - "actions/list-org-secrets": { + /** + * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. + */ + "teams/list-discussion-comments-in-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": { - total_count: number; - secrets: components["schemas"]["organization-actions-secret"][]; - }; + "application/json": components["schemas"]["team-discussion-comment"][]; }; }; }; }; - /** Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ - "actions/get-org-public-key": { + /** + * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. + */ + "teams/create-discussion-comment-in-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; }; }; responses: { - /** response */ - 200: { + /** Response */ + 201: { content: { - "application/json": components["schemas"]["actions-public-key"]; + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion comment's body text. */ + body: string; }; }; }; }; - /** Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ - "actions/get-org-secret": { + /** + * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + */ + "teams/get-discussion-comment-in-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; - /** secret_name parameter */ - secret_name: components["parameters"]["secret_name"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["organization-actions-secret"]; + "application/json": components["schemas"]["team-discussion-comment"]; }; }; }; }; /** - * Creates or updates an organization secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access - * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to - * use this endpoint. - * - * #### Example encrypting a secret using Node.js - * - * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. - * - * ``` - * const sodium = require('tweetsodium'); - * - * const key = "base64-encoded-public-key"; - * const value = "plain-text-secret"; - * - * // Convert the message and key to Uint8Array's (Buffer implements that interface) - * const messageBytes = Buffer.from(value); - * const keyBytes = Buffer.from(key, 'base64'); - * - * // Encrypt using LibSodium. - * const encryptedBytes = sodium.seal(messageBytes, keyBytes); - * - * // Base64 the encrypted secret - * const encrypted = Buffer.from(encryptedBytes).toString('base64'); - * - * console.log(encrypted); - * ``` - * - * - * #### Example encrypting a secret using Python - * - * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/stable/public/#nacl-public-sealedbox) with Python 3. - * - * ``` - * from base64 import b64encode - * from nacl import encoding, public - * - * def encrypt(public_key: str, secret_value: str) -> str: - * """Encrypt a Unicode string using the public key.""" - * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) - * sealed_box = public.SealedBox(public_key) - * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) - * return b64encode(encrypted).decode("utf-8") - * ``` - * - * #### Example encrypting a secret using C# - * - * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. - * - * ``` - * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); - * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); - * - * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); - * - * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); - * ``` - * - * #### Example encrypting a secret using Ruby - * - * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. - * - * ```ruby - * require "rbnacl" - * require "base64" - * - * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") - * public_key = RbNaCl::PublicKey.new(key) - * - * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) - * encrypted_secret = box.encrypt("my_secret") + * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). * - * # Print the base64 encoded secret - * puts Base64.strict_encode64(encrypted_secret) - * ``` + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. */ - "actions/create-or-update-org-secret": { + "teams/delete-discussion-comment-in-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; - /** secret_name parameter */ - secret_name: components["parameters"]["secret_name"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; }; }; responses: { - /** Response when creating a secret */ - 201: unknown; - /** Response when updating a secret */ + /** Response */ 204: never; }; - requestBody: { - content: { - "application/json": { - /** Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/reference/actions#get-an-organization-public-key) endpoint. */ - encrypted_value?: string; - /** ID of the key you used to encrypt the secret. */ - key_id?: string; - /** - * Configures the access that repositories have to the organization secret. Can be one of: - * \- `all` - All repositories in an organization can access the secret. - * \- `private` - Private repositories in an organization can access the secret. - * \- `selected` - Only specific repositories can access the secret. - */ - visibility?: "all" | "private" | "selected"; - /** An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/reference/actions#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/actions#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/actions#remove-selected-repository-from-an-organization-secret) endpoints. */ - selected_repository_ids?: string[]; - }; - }; - }; }; - /** Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ - "actions/delete-org-secret": { + /** + * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + */ + "teams/update-discussion-comment-in-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; - /** secret_name parameter */ - secret_name: components["parameters"]["secret_name"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; }; }; responses: { - /** Empty response */ - 204: never; + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion comment's body text. */ + body: string; + }; + }; }; }; - /** Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ - "actions/list-selected-repos-for-org-secret": { + /** + * List the reactions to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments/). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + */ + "reactions/list-for-team-discussion-comment-in-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; - /** secret_name parameter */ - secret_name: components["parameters"]["secret_name"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + query: { + /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion comment. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { + headers: {}; content: { - "application/json": { - total_count: number; - repositories: components["schemas"]["minimal-repository"][]; - }; + "application/json": components["schemas"]["reaction"][]; }; }; }; }; - /** Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ - "actions/set-selected-repos-for-org-secret": { + /** + * Create a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + */ + "reactions/create-for-team-discussion-comment-in-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; - /** secret_name parameter */ - secret_name: components["parameters"]["secret_name"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; }; }; responses: { - /** Empty response */ - 204: never; + /** Response when the reaction type has already been added to this team discussion comment */ + 200: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; }; requestBody: { content: { "application/json": { - /** An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/actions#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/actions#remove-selected-repository-from-an-organization-secret) endpoints. */ - selected_repository_ids?: number[]; - }; - }; - }; - }; - /** Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ - "actions/add-selected-repo-to-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - /** secret_name parameter */ - secret_name: components["parameters"]["secret_name"]; - repository_id: number; + /** + * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion comment. + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; }; }; - responses: { - /** Response when repository was added to the selected list */ - 204: never; - /** Response when visibility type is not set to selected */ - 409: unknown; - }; }; - /** Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ - "actions/remove-selected-repo-from-org-secret": { + /** + * **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`. + * + * Delete a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "reactions/delete-for-team-discussion-comment": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; - /** secret_name parameter */ - secret_name: components["parameters"]["secret_name"]; - repository_id: number; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + /** The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; }; }; responses: { - /** Response when repository was removed from the selected list */ + /** Response */ 204: never; - /** Response when visibility type not set to selected */ - 409: unknown; }; }; /** - * **Note:** The audit log REST API is currently in beta and is subject to change. - * - * Gets the audit log for an organization. For more information, see "[Reviewing the audit log for your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization)." + * List the reactions to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). * - * To use this endpoint, you must be an organization owner, and you must use an access token with the `admin:org` scope. GitHub Apps must have the `organization_administration` read permission to use this endpoint. + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. */ - "orgs/get-audit-log": { + "reactions/list-for-team-discussion-in-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; }; query: { - /** A search phrase. For more information, see [Searching the audit log](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization#searching-the-audit-log). */ - phrase?: components["parameters"]["audit-log-phrase"]; - /** - * The event types to include: - * - * - `web` - returns web (non-Git) events - * - `git` - returns Git events - * - `all` - returns both web and Git events - * - * The default is `web`. - */ - include?: components["parameters"]["audit-log-include"]; - /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ - after?: components["parameters"]["audit-log-after"]; - /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ - before?: components["parameters"]["audit-log-before"]; - /** - * The order of audit log events. To list newest events first, specify `desc`. To list oldest events first, specify `asc`. - * - * The default is `desc`. - */ - order?: components["parameters"]["audit-log-order"]; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { /** Response */ 200: { + headers: {}; content: { - "application/json": components["schemas"]["audit-log-event"][]; + "application/json": components["schemas"]["reaction"][]; }; }; }; }; - /** List the users blocked by an organization. */ - "orgs/list-blocked-users": { + /** + * Create a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + */ + "reactions/create-for-team-discussion-in-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["simple-user"][]; + "application/json": components["schemas"]["reaction"]; }; }; - 415: components["responses"]["preview_header_missing"]; - }; - }; - "orgs/check-blocked-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** If the user is blocked: */ - 204: never; - /** If the user is not blocked: */ - 404: { + /** Response */ + 201: { content: { - "application/json": components["schemas"]["basic-error"]; + "application/json": components["schemas"]["reaction"]; }; }; }; - }; - "orgs/block-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion. + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; }; }; - responses: { - /** Empty response */ - 204: never; - 422: components["responses"]["validation_failed"]; - }; }; - "orgs/unblock-user": { + /** + * **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions/:reaction_id`. + * + * Delete a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "reactions/delete-for-team-discussion": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; - username: components["parameters"]["username"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; }; }; /** - * Listing and deleting credential authorizations is available to organizations with GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products). + * Lists a connection between a team and an external group. * - * An authenticated organization owner with the `read:org` scope can list all credential authorizations for an organization that uses SAML single sign-on (SSO). The credentials are either personal access tokens or SSH keys that organization members have authorized for the organization. For more information, see [About authentication with SAML single sign-on](https://help.github.com/en/articles/about-authentication-with-saml-single-sign-on). + * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. */ - "orgs/list-saml-sso-authorizations": { + "teams/list-linked-external-idp-groups-to-team-for-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["credential-authorization"][]; + "application/json": components["schemas"]["external-groups"]; }; }; }; }; /** - * Listing and deleting credential authorizations is available to organizations with GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products). + * Deletes a connection between a team and an external group. * - * An authenticated organization owner with the `admin:org` scope can remove a credential authorization for an organization that uses SAML SSO. Once you remove someone's credential authorization, they will need to create a new personal access token or SSH key and authorize it for the organization they want to access. + * You can manage team membership with your IdP using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ - "orgs/remove-saml-sso-authorization": { + "teams/unlink-external-idp-group-from-team-for-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; - credential_id: number; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; - 404: components["responses"]["not_found"]; }; }; - "activity/list-public-org-events": { + /** + * Creates a connection between a team and an external group. Only one external group can be linked to a team. + * + * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. + */ + "teams/link-external-idp-group-to-team-for-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; - }; - query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["event"][]; + "application/json": components["schemas"]["external-group"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description External Group Id + * @example 1 + */ + group_id: number; }; }; }; }; - /** The return hash contains `failed_at` and `failed_reason` fields which represent the time at which the invitation failed and the reason for the failure. */ - "orgs/list-failed-invitations": { + /** + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/invitations`. + */ + "teams/list-pending-invitations-in-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { "application/json": components["schemas"]["organization-invitation"][]; }; }; - 404: components["responses"]["not_found"]; }; }; - "orgs/list-webhooks": { + /** + * Team members will include the members of child teams. + * + * To list members in a team, the team must be visible to the authenticated user. + */ + "teams/list-members-in-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** Filters members returned by their role in the team. */ + role?: "member" | "maintainer" | "all"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": components["schemas"]["org-hook"][]; + "application/json": components["schemas"]["simple-user"][]; }; }; - 404: components["responses"]["not_found"]; }; }; - /** Here's how you can create a hook that posts payloads in JSON format: */ - "orgs/create-webhook": { + /** + * Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/memberships/{username}`. + * + * **Note:** + * The response contains the `state` of the membership and the member's `role`. + * + * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see see [Create a team](https://docs.github.com/rest/reference/teams#create-a-team). + */ + "teams/get-membership-for-user-in-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; }; }; responses: { - /** response */ - 201: { - headers: { - Location?: string; - }; + /** Response */ + 200: { content: { - "application/json": components["schemas"]["org-hook"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - requestBody: { - content: { - "application/json": { - /** Must be passed as "web". */ - name: string; - /** Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/orgs#create-hook-config-params). */ - config: { - url: components["schemas"]["webhook-config-url"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - secret?: components["schemas"]["webhook-config-secret"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - username?: string; - password?: string; - }; - /** Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. */ - events?: string[]; - /** Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. */ - active?: boolean; + "application/json": components["schemas"]["team-membership"]; }; }; + /** if user has no team membership */ + 404: unknown; }; }; - /** Returns a webhook configured in an organization. To get only the webhook `config` properties, see "[Get a webhook configuration for an organization](/rest/reference/orgs#get-a-webhook-configuration-for-an-organization)." */ - "orgs/get-webhook": { + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Adds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * An organization owner can add someone who is not part of the team's organization to a team. When an organization owner adds someone to a team who is not an organization member, this endpoint will send an invitation to the person via email. This newly-created membership will be in the "pending" state until the person accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/memberships/{username}`. + */ + "teams/add-or-update-membership-for-user-in-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; - hook_id: components["parameters"]["hook-id"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["org-hook"]; + "application/json": components["schemas"]["team-membership"]; + }; + }; + /** Forbidden if team synchronization is set up */ + 403: unknown; + /** Unprocessable Entity if you attempt to add an organization to a team */ + 422: unknown; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The role that this user should have in the team. + * @default member + * @enum {string} + */ + role?: "member" | "maintainer"; }; }; - 404: components["responses"]["not_found"]; }; }; - "orgs/delete-webhook": { + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/memberships/{username}`. + */ + "teams/remove-membership-for-user-in-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; - hook_id: components["parameters"]["hook-id"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; - 404: components["responses"]["not_found"]; + /** Forbidden if team synchronization is set up */ + 403: unknown; }; }; - /** Updates a webhook configured in an organization. When you update a webhook, the `secret` will be overwritten. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for an organization](/rest/reference/orgs#update-a-webhook-configuration-for-an-organization)." */ - "orgs/update-webhook": { + /** + * Lists the organization projects for a team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects`. + */ + "teams/list-projects-in-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; - hook_id: components["parameters"]["hook-id"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { + headers: {}; content: { - "application/json": components["schemas"]["org-hook"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - requestBody: { - content: { - "application/json": { - /** Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/orgs#update-hook-config-params). */ - config?: { - url: components["schemas"]["webhook-config-url"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - secret?: components["schemas"]["webhook-config-secret"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - }; - /** Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. */ - events?: string[]; - /** Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. */ - active?: boolean; - name?: string; + "application/json": components["schemas"]["team-project"][]; }; }; }; }; /** - * Returns the webhook configuration for an organization. To get more information about the webhook, including the `active` state and `events`, use "[Get an organization webhook ](/rest/reference/orgs#get-an-organization-webhook)." + * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. * - * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:read` permission. + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects/{project_id}`. */ - "orgs/get-webhook-config-for-org": { + "teams/check-permissions-for-project-in-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; - hook_id: components["parameters"]["hook-id"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; }; }; responses: { - /** Default response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["webhook-config"]; + "application/json": components["schemas"]["team-project"]; }; }; + /** Not Found if project is not managed by this team */ + 404: unknown; }; }; /** - * Updates the webhook configuration for an organization. To update more information about the webhook, including the `active` state and `events`, use "[Update an organization webhook ](/rest/reference/orgs#update-an-organization-webhook)." + * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. * - * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:write` permission. + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/projects/{project_id}`. */ - "orgs/update-webhook-config-for-org": { + "teams/add-or-update-project-permissions-in-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; - hook_id: components["parameters"]["hook-id"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; }; }; responses: { - /** Default response */ - 200: { + /** Response */ + 204: never; + /** Forbidden if the project is not owned by the organization */ + 403: { content: { - "application/json": components["schemas"]["webhook-config"]; + "application/json": { + message?: string; + documentation_url?: string; + }; }; }; }; requestBody: { content: { "application/json": { - url?: components["schemas"]["webhook-config-url"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - secret?: components["schemas"]["webhook-config-secret"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - }; + /** + * @description The permission to grant to the team for this project. Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * @enum {string} + */ + permission?: "read" | "write" | "admin"; + } | null; }; }; }; - /** This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. */ - "orgs/ping-webhook": { + /** + * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. This endpoint removes the project from the team, but does not delete the project. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/projects/{project_id}`. + */ + "teams/remove-project-in-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; - hook_id: components["parameters"]["hook-id"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; - 404: components["responses"]["not_found"]; }; }; /** - * Enables an authenticated GitHub App to find the organization's installation information. + * Lists a team's repositories visible to the authenticated user. * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos`. */ - "apps/get-org-installation": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["installation"]; - }; - }; - }; - }; - /** Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint. */ - "orgs/list-app-installations": { + "teams/list-repos-in-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": { - total_count: number; - installations: components["schemas"]["installation"][]; - }; + "application/json": components["schemas"]["minimal-repository"][]; }; }; }; }; - /** Shows which type of GitHub user can interact with this organization and when the restriction expires. If there is no restrictions, you will see an empty response. */ - "interactions/get-restrictions-for-org": { + /** + * Checks whether a team has `admin`, `push`, `maintain`, `triage`, or `pull` permission for a repository. Repositories inherited through a parent team will also be checked. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `application/vnd.github.v3.repository+json` accept header. + * + * If a team doesn't have permission for the repository, you will receive a `404 Not Found` response status. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + */ + "teams/check-permissions-for-repo-in-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; }; }; responses: { - /** response */ + /** Alternative response with repository permissions */ 200: { content: { - "application/json": components["schemas"]["interaction-limit-response"]; + "application/json": components["schemas"]["team-repository"]; }; }; + /** Response if team has permission for the repository. This is the response when the repository media type hasn't been provded in the Accept header. */ + 204: never; + /** Not Found if team does not have permission for the repository */ + 404: unknown; }; }; - /** Temporarily restricts interactions to a certain type of GitHub user in any public repository in the given organization. You must be an organization owner to set these restrictions. Setting the interaction limit at the organization level will overwrite any interaction limits that are set for individual repositories owned by the organization. */ - "interactions/set-restrictions-for-org": { + /** + * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + * + * For more information about the permission levels, see "[Repository permission levels for an organization](https://docs.github.com/en/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". + */ + "teams/add-or-update-repo-permissions-in-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; }; }; responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["interaction-limit-response"]; - }; - }; - 422: components["responses"]["validation_failed"]; + /** Response */ + 204: never; }; requestBody: { content: { - "application/json": components["schemas"]["interaction-limit"]; + "application/json": { + /** + * @description The permission to grant the team on this repository. In addition to the enumerated values, you can also specify a custom repository role name, if the owning organization has defined any. If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. + * @default push + * @enum {string} + */ + permission?: "pull" | "push" | "admin" | "maintain" | "triage"; + }; }; }; }; - /** Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions. */ - "interactions/remove-restrictions-for-org": { + /** + * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + */ + "teams/remove-repo-in-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; }; }; - /** The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. */ - "orgs/list-pending-invitations": { + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * List IdP groups connected to a team on GitHub. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/team-sync/group-mappings`. + */ + "teams/list-idp-groups-in-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; - }; - query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; }; }; responses: { - /** response */ + /** Response */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["organization-invitation"][]; + "application/json": components["schemas"]["group-mapping"]; }; }; - 404: components["responses"]["not_found"]; }; }; /** - * Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner. + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Creates, updates, or removes a connection between a team and an IdP group. When adding groups to a team, you must include all new and existing groups to avoid replacing existing groups with the new ones. Specifying an empty `groups` array will remove all connections for a team. * - * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/team-sync/group-mappings`. */ - "orgs/create-invitation": { + "teams/create-or-update-idp-group-connections-in-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; }; }; responses: { - /** response */ - 201: { + /** Response */ + 200: { content: { - "application/json": components["schemas"]["organization-invitation"]; + "application/json": components["schemas"]["group-mapping"]; }; }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - /** **Required unless you provide `email`**. GitHub user ID for the person you are inviting. */ - invitee_id?: number; - /** **Required unless you provide `invitee_id`**. Email address of the person you are inviting, which can be an existing GitHub user. */ - email?: string; - /** - * Specify role for new member. Can be one of: - * \* `admin` - Organization owners with full administrative rights to the organization and complete access to all repositories and teams. - * \* `direct_member` - Non-owner organization members with ability to see other members and join teams by invitation. - * \* `billing_manager` - Non-owner organization members with ability to manage the billing settings of your organization. - */ - role?: "admin" | "direct_member" | "billing_manager"; - /** Specify IDs for the teams you want to invite new members to. */ - team_ids?: number[]; + /** @description The IdP groups you want to connect to a GitHub team. When updating, the new `groups` object will replace the original one. You must include any existing groups that you don't want to remove. */ + groups?: { + /** @description ID of the IdP group. */ + group_id: string; + /** @description Name of the IdP group. */ + group_name: string; + /** @description Description of the IdP group. */ + group_description: string; + }[]; }; }; }; }; /** - * Cancel an organization invitation. In order to cancel an organization invitation, the authenticated user must be an organization owner. + * Lists the child teams of the team specified by `{team_slug}`. * - * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). - */ - "orgs/cancel-invitation": { - parameters: { - path: { - org: components["parameters"]["org"]; - /** invitation_id parameter */ - invitation_id: components["parameters"]["invitation_id"]; - }; - }; - responses: { - /** Empty response */ - 204: never; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner. */ - "orgs/list-invitation-teams": { + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`. + */ + "teams/list-child-in-org": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; - /** invitation_id parameter */ - invitation_id: components["parameters"]["invitation_id"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** if child teams exist */ 200: { headers: {}; content: { "application/json": components["schemas"]["team"][]; }; }; - 404: components["responses"]["not_found"]; }; }; - /** - * List issues in an organization assigned to the authenticated user. - * - * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. - */ - "issues/list-for-org": { + "projects/get-card": { parameters: { path: { - org: components["parameters"]["org"]; - }; - query: { - /** - * Indicates which sorts of issues to return. Can be one of: - * \* `assigned`: Issues assigned to you - * \* `created`: Issues created by you - * \* `mentioned`: Issues mentioning you - * \* `subscribed`: Issues you're subscribed to updates for - * \* `all`: All issues the authenticated user can see, regardless of participation or creation - */ - filter?: "assigned" | "created" | "mentioned" | "subscribed" | "all"; - /** Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. */ - state?: "open" | "closed" | "all"; - /** A list of comma separated label names. Example: `bug,ui,@high` */ - labels?: components["parameters"]["labels"]; - /** What to sort results by. Can be either `created`, `updated`, `comments`. */ - sort?: "created" | "updated" | "comments"; - /** One of `asc` (ascending) or `desc` (descending). */ - direction?: components["parameters"]["direction"]; - /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - since?: components["parameters"]["since"]; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** The unique identifier of the card. */ + card_id: components["parameters"]["card-id"]; }; }; responses: { - /** response */ + /** Response */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["issue"][]; + "application/json": components["schemas"]["project-card"]; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; }; }; - /** List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned. */ - "orgs/list-members": { + "projects/delete-card": { parameters: { path: { - org: components["parameters"]["org"]; - }; - query: { - /** - * Filter members returned in the list. Can be one of: - * \* `2fa_disabled` - Members without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled. Available for organization owners. - * \* `all` - All members the authenticated user can see. - */ - filter?: "2fa_disabled" | "all"; - /** - * Filter members returned by their role. Can be one of: - * \* `all` - All members of the organization, regardless of role. - * \* `admin` - Organization owners. - * \* `member` - Non-owner organization members. - */ - role?: "all" | "admin" | "member"; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** The unique identifier of the card. */ + card_id: components["parameters"]["card-id"]; }; }; responses: { - /** response */ - 200: { - headers: {}; + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** Forbidden */ + 403: { content: { - "application/json": components["schemas"]["simple-user"][]; + "application/json": { + message?: string; + documentation_url?: string; + errors?: string[]; + }; }; }; - /** Response if requester is not an organization member */ - 302: never; - 422: components["responses"]["validation_failed"]; + 404: components["responses"]["not_found"]; }; }; - /** Check if a user is, publicly or privately, a member of the organization. */ - "orgs/check-membership-for-user": { + "projects/update-card": { parameters: { path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; + /** The unique identifier of the card. */ + card_id: components["parameters"]["card-id"]; }; }; responses: { - /** Response if requester is an organization member and user is a member */ - 204: never; - /** Response if requester is not an organization member */ - 302: never; - /** Response if requester is an organization member and user is not a member */ - 404: unknown; + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["project-card"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The project card's note + * @example Update all gems + */ + note?: string | null; + /** + * @description Whether or not the card is archived + * @example false + */ + archived?: boolean; + }; + }; }; }; - /** Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories. */ - "orgs/remove-member": { + "projects/move-card": { parameters: { path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; + /** The unique identifier of the card. */ + card_id: components["parameters"]["card-id"]; }; }; responses: { - /** Empty response */ - 204: never; - 403: components["responses"]["forbidden"]; + /** Response */ + 201: { + content: { + "application/json": { [key: string]: unknown }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** Forbidden */ + 403: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + errors?: { + code?: string; + message?: string; + resource?: string; + field?: string; + }[]; + }; + }; + }; + 422: components["responses"]["validation_failed"]; + /** Response */ + 503: { + content: { + "application/json": { + code?: string; + message?: string; + documentation_url?: string; + errors?: { + code?: string; + message?: string; + }[]; + }; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The position of the card in a column. Can be one of: `top`, `bottom`, or `after:` to place after the specified card. + * @example bottom + */ + position: string; + /** + * @description The unique identifier of the column the card should be moved to + * @example 42 + */ + column_id?: number; + }; + }; }; }; - /** In order to get a user's membership with an organization, the authenticated user must be an organization member. */ - "orgs/get-membership-for-user": { + "projects/get-column": { parameters: { path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; + /** The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["org-membership"]; + "application/json": components["schemas"]["project-column"]; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; }; }; - /** - * Only authenticated organization owners can add a member to the organization or update the member's role. - * - * * If the authenticated user is _adding_ a member to the organization, the invited user will receive an email inviting them to the organization. The user's [membership status](https://docs.github.com/rest/reference/orgs#get-organization-membership-for-a-user) will be `pending` until they accept the invitation. - * - * * Authenticated users can _update_ a user's membership by passing the `role` parameter. If the authenticated user changes a member's role to `admin`, the affected user will receive an email notifying them that they've been made an organization owner. If the authenticated user changes an owner's role to `member`, no email will be sent. - * - * **Rate limits** - * - * To prevent abuse, the authenticated user is limited to 50 organization invitations per 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period. - */ - "orgs/set-membership-for-user": { + "projects/delete-column": { parameters: { path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; + /** The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; }; }; responses: { - /** response */ + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "projects/update-column": { + parameters: { + path: { + /** The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; + }; + }; + responses: { + /** Response */ 200: { content: { - "application/json": components["schemas"]["org-membership"]; + "application/json": components["schemas"]["project-column"]; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { /** - * The role to give the user in the organization. Can be one of: - * \* `admin` - The user will become an owner of the organization. - * \* `member` - The user will become a non-owner member of the organization. + * @description Name of the project column + * @example Remaining tasks */ - role?: "admin" | "member"; + name: string; }; }; }; }; - /** - * In order to remove a user's membership with an organization, the authenticated user must be an organization owner. - * - * If the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases. - */ - "orgs/remove-membership-for-user": { + "projects/list-cards": { parameters: { path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; + /** The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; + }; + query: { + /** Filters the project cards that are returned by the card's state. */ + archived_state?: "all" | "archived" | "not_archived"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** Empty response */ - 204: never; + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["project-card"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; }; }; - /** Lists the most recent migrations. */ - "migrations/list-for-org": { + "projects/create-card": { parameters: { path: { - org: components["parameters"]["org"]; + /** The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; }; - query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["project-card"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** Validation failed */ + 422: { + content: { + "application/json": + | components["schemas"]["validation-error"] + | components["schemas"]["validation-error-simple"]; + }; }; - }; - responses: { - /** response */ - 200: { - headers: {}; + /** Response */ + 503: { content: { - "application/json": components["schemas"]["migration"][]; + "application/json": { + code?: string; + message?: string; + documentation_url?: string; + errors?: { + code?: string; + message?: string; + }[]; + }; }; }; }; + requestBody: { + content: { + "application/json": + | { + /** + * @description The project card's note + * @example Update all gems + */ + note: string | null; + } + | { + /** + * @description The unique identifier of the content associated with the card + * @example 42 + */ + content_id: number; + /** + * @description The piece of content associated with the card + * @example PullRequest + */ + content_type: string; + }; + }; + }; }; - /** Initiates the generation of a migration archive. */ - "migrations/start-for-org": { + "projects/move-column": { parameters: { path: { - org: components["parameters"]["org"]; + /** The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; }; }; responses: { - /** response */ + /** Response */ 201: { content: { - "application/json": components["schemas"]["migration"]; + "application/json": { [key: string]: unknown }; }; }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed_simple"]; }; requestBody: { content: { "application/json": { - /** A list of arrays indicating which repositories should be migrated. */ - repositories: string[]; - /** Indicates whether repositories should be locked (to prevent manipulation) while migrating data. */ - lock_repositories?: boolean; - /** Indicates whether attachments should be excluded from the migration (to reduce migration archive file size). */ - exclude_attachments?: boolean; - exclude?: string[]; + /** + * @description The position of the column in a project. Can be one of: `first`, `last`, or `after:` to place after the specified column. + * @example last + */ + position: string; }; }; }; }; - /** - * Fetches the status of a migration. - * - * The `state` of a migration can be one of the following values: - * - * * `pending`, which means the migration hasn't started yet. - * * `exporting`, which means the migration is in progress. - * * `exported`, which means the migration finished successfully. - * * `failed`, which means the migration failed. - */ - "migrations/get-status-for-org": { + /** Gets a project by its `id`. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + "projects/get": { parameters: { path: { - org: components["parameters"]["org"]; - /** migration_id parameter */ - migration_id: components["parameters"]["migration_id"]; + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; }; }; responses: { - /** - * * `pending`, which means the migration hasn't started yet. - * * `exporting`, which means the migration is in progress. - * * `exported`, which means the migration finished successfully. - * * `failed`, which means the migration failed. - */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["migration"]; + "application/json": components["schemas"]["project"]; }; }; - 404: components["responses"]["not_found"]; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; }; }; - /** Fetches the URL to a migration archive. */ - "migrations/download-archive-for-org": { + /** Deletes a project board. Returns a `404 Not Found` status if projects are disabled. */ + "projects/delete": { parameters: { path: { - org: components["parameters"]["org"]; - /** migration_id parameter */ - migration_id: components["parameters"]["migration_id"]; + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; }; }; responses: { - /** response */ - 302: never; + /** Delete Success */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** Forbidden */ + 403: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + errors?: string[]; + }; + }; + }; 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; }; }; - /** Deletes a previous migration archive. Migration archives are automatically deleted after seven days. */ - "migrations/delete-archive-for-org": { + /** Updates a project board's information. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + "projects/update": { parameters: { path: { - org: components["parameters"]["org"]; - /** migration_id parameter */ - migration_id: components["parameters"]["migration_id"]; + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; }; }; responses: { - /** Empty response */ - 204: never; - 404: components["responses"]["not_found"]; - }; - }; - /** Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://docs.github.com/rest/reference/repos#delete-a-repository) when the migration is complete and you no longer need the source data. */ - "migrations/unlock-repo-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - /** migration_id parameter */ - migration_id: components["parameters"]["migration_id"]; - /** repo_name parameter */ - repo_name: components["parameters"]["repo_name"]; + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** Forbidden */ + 403: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + errors?: string[]; + }; + }; }; + /** Not Found if the authenticated user does not have access to the project */ + 404: unknown; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed_simple"]; }; - responses: { - /** Empty response */ - 204: never; - 404: components["responses"]["not_found"]; + requestBody: { + content: { + "application/json": { + /** + * @description Name of the project + * @example Week One Sprint + */ + name?: string; + /** + * @description Body of the project + * @example This project represents the sprint of the first week in January + */ + body?: string | null; + /** + * @description State of the project; either 'open' or 'closed' + * @example open + */ + state?: string; + /** + * @description The baseline permission that all organization members have on this project + * @enum {string} + */ + organization_permission?: "read" | "write" | "admin" | "none"; + /** @description Whether or not this project can be seen by everyone. */ + private?: boolean; + }; + }; }; }; - /** List all the repositories for this organization migration. */ - "migrations/list-repos-for-org": { + /** Lists the collaborators for an organization project. For a project, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. You must be an organization owner or a project `admin` to list collaborators. */ + "projects/list-collaborators": { parameters: { path: { - org: components["parameters"]["org"]; - /** migration_id parameter */ - migration_id: components["parameters"]["migration_id"]; + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** Filters the collaborators by their affiliation. `outside` means outside collaborators of a project that are not a member of the project's organization. `direct` means collaborators with permissions to a project, regardless of organization membership status. `all` means all collaborators the authenticated user can see. */ + affiliation?: "outside" | "direct" | "all"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": components["schemas"]["minimal-repository"][]; + "application/json": components["schemas"]["simple-user"][]; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; - /** List all users who are outside collaborators of an organization. */ - "orgs/list-outside-collaborators": { + /** Adds a collaborator to an organization project and sets their permission level. You must be an organization owner or a project `admin` to add a collaborator. */ + "projects/add-collaborator": { parameters: { path: { - org: components["parameters"]["org"]; - }; - query: { - /** - * Filter the list of outside collaborators. Can be one of: - * \* `2fa_disabled`: Outside collaborators without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled. - * \* `all`: All outside collaborators. - */ - filter?: "2fa_disabled" | "all"; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; }; }; responses: { - /** response */ - 200: { - headers: {}; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The permission to grant the collaborator. + * @default write + * @example write + * @enum {string} + */ + permission?: "read" | "write" | "admin"; + } | null; }; }; }; - /** When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see "[Converting an organization member to an outside collaborator](https://help.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)". */ - "orgs/convert-member-to-outside-collaborator": { + /** Removes a collaborator from an organization project. You must be an organization owner or a project `admin` to remove a collaborator. */ + "projects/remove-collaborator": { parameters: { path: { - org: components["parameters"]["org"]; + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + /** The handle for the GitHub user account. */ username: components["parameters"]["username"]; }; }; responses: { - /** User is getting converted asynchronously */ - 202: unknown; - /** User was converted */ + /** Response */ 204: never; - /** response */ - 403: { - content: { - "application/json": { - message?: string; - documentation_url?: string; - }; - }; - }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; - /** Removing a user from this list will remove them from all the organization's repositories. */ - "orgs/remove-outside-collaborator": { + /** Returns the collaborator's permission level for an organization project. Possible values for the `permission` key: `admin`, `write`, `read`, `none`. You must be an organization owner or a project `admin` to review a user's permission level. */ + "projects/get-permission-for-user": { parameters: { path: { - org: components["parameters"]["org"]; + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + /** The handle for the GitHub user account. */ username: components["parameters"]["username"]; }; }; responses: { - /** Empty response */ - 204: never; - /** Response if user is a member of the organization */ - 422: { + /** Response */ + 200: { content: { - "application/json": { - message?: string; - documentation_url?: string; - }; + "application/json": components["schemas"]["project-collaborator-permission"]; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; - /** Lists the projects in an organization. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ - "projects/list-for-org": { + "projects/list-columns": { parameters: { path: { - org: components["parameters"]["org"]; + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; }; query: { - /** Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. */ - state?: "open" | "closed" | "all"; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": components["schemas"]["project"][]; + "application/json": components["schemas"]["project-column"][]; }; }; - 422: components["responses"]["validation_failed_simple"]; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; }; }; - /** Creates an organization project board. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ - "projects/create-for-org": { + "projects/create-column": { parameters: { path: { - org: components["parameters"]["org"]; + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; }; }; responses: { - /** response */ + /** Response */ 201: { content: { - "application/json": components["schemas"]["project"]; + "application/json": components["schemas"]["project-column"]; }; }; + 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; 422: components["responses"]["validation_failed_simple"]; }; requestBody: { content: { "application/json": { - /** The name of the project. */ + /** + * @description Name of the project column + * @example Remaining tasks + */ name: string; - /** The description of the project. */ - body?: string; }; }; }; }; - /** Members of an organization can choose to have their membership publicized or not. */ - "orgs/list-public-members": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; - }; - }; + /** + * **Note:** Accessing this endpoint does not count against your REST API rate limit. + * + * **Note:** The `rate` object is deprecated. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object. + */ + "rate-limit/get": { + parameters: {}; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": components["schemas"]["simple-user"][]; + "application/json": components["schemas"]["rate-limit-overview"]; }; }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; }; }; - "orgs/check-public-membership-for-user": { + /** The `parent` and `source` objects are present when the repository is a fork. `parent` is the repository this repository was forked from, `source` is the ultimate source for the network. */ + "repos/get": { parameters: { path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; }; }; responses: { - /** Response if user is a public member */ - 204: never; - /** Response if user is not a public member */ - 404: unknown; + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; /** - * The user can publicize their own membership. (A user cannot publicize the membership for another user.) + * Deleting a repository requires admin access. If OAuth is used, the `delete_repo` scope is required. * - * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * If an organization owner has configured the organization to prevent members from deleting organization-owned + * repositories, you will get a `403 Forbidden` response. */ - "orgs/set-public-membership-for-authenticated-user": { + "repos/delete": { parameters: { path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; - 403: components["responses"]["forbidden"]; + 307: components["responses"]["temporary_redirect"]; + /** If an organization owner has configured the organization to prevent members from deleting organization-owned repositories, a member will get this response: */ + 403: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + 404: components["responses"]["not_found"]; }; }; - "orgs/remove-public-membership-for-authenticated-user": { + /** **Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/reference/repos#replace-all-repository-topics) endpoint. */ + "repos/update": { parameters: { path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; }; }; responses: { - /** Empty response */ - 204: never; + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + 307: components["responses"]["temporary_redirect"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the repository. */ + name?: string; + /** @description A short description of the repository. */ + description?: string; + /** @description A URL with more information about the repository. */ + homepage?: string; + /** + * @description Either `true` to make the repository private or `false` to make it public. Default: `false`. + * **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://docs.github.com/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private. **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://docs.github.com/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private. + * @default false + */ + private?: boolean; + /** + * @description Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`." + * @enum {string} + */ + visibility?: "public" | "private" | "internal"; + /** @description Specify which security and analysis features to enable or disable. For example, to enable GitHub Advanced Security, use this data in the body of the PATCH request: `{"security_and_analysis": {"advanced_security": {"status": "enabled"}}}`. If you have admin permissions for a private repository covered by an Advanced Security license, you can check which security and analysis features are currently enabled by using a `GET /repos/{owner}/{repo}` request. */ + security_and_analysis?: { + /** @description Use the `status` property to enable or disable GitHub Advanced Security for this repository. For more information, see "[About GitHub Advanced Security](/github/getting-started-with-github/learning-about-github/about-github-advanced-security)." */ + advanced_security?: { + /** @description Can be `enabled` or `disabled`. */ + status?: string; + }; + /** @description Use the `status` property to enable or disable secret scanning for this repository. For more information, see "[About secret scanning](/code-security/secret-security/about-secret-scanning)." */ + secret_scanning?: { + /** @description Can be `enabled` or `disabled`. */ + status?: string; + }; + /** @description Use the `status` property to enable or disable secret scanning push protection for this repository. For more information, see "[Protecting pushes with secret scanning](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)." */ + secret_scanning_push_protection?: { + /** @description Can be `enabled` or `disabled`. */ + status?: string; + }; + } | null; + /** + * @description Either `true` to enable issues for this repository or `false` to disable them. + * @default true + */ + has_issues?: boolean; + /** + * @description Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. + * @default true + */ + has_projects?: boolean; + /** + * @description Either `true` to enable the wiki for this repository or `false` to disable it. + * @default true + */ + has_wiki?: boolean; + /** + * @description Either `true` to make this repo available as a template repository or `false` to prevent it. + * @default false + */ + is_template?: boolean; + /** @description Updates the default branch for this repository. */ + default_branch?: string; + /** + * @description Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + * @default true + */ + allow_squash_merge?: boolean; + /** + * @description Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Either `true` to allow auto-merge on pull requests, or `false` to disallow auto-merge. + * @default false + */ + allow_auto_merge?: boolean; + /** + * @description Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + * @default false + */ + delete_branch_on_merge?: boolean; + /** + * @description Either `true` to always allow a pull request head branch that is behind its base branch to be updated even if it is not required to be up to date before merging, or false otherwise. + * @default false + */ + allow_update_branch?: boolean; + /** + * @description Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** + * @description `true` to archive this repository. **Note**: You cannot unarchive repositories through the API. + * @default false + */ + archived?: boolean; + /** + * @description Either `true` to allow private forks, or `false` to prevent private forks. + * @default false + */ + allow_forking?: boolean; + }; + }; }; }; - /** Lists repositories for the specified organization. */ - "repos/list-for-org": { + /** Lists all artifacts for a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + "actions/list-artifacts-for-repo": { parameters: { path: { - org: components["parameters"]["org"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; }; query: { - /** Specifies the types of repositories you want returned. Can be one of `all`, `public`, `private`, `forks`, `sources`, `member`, `internal`. Default: `all`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `type` can also be `internal`. */ - type?: - | "all" - | "public" - | "private" - | "forks" - | "sources" - | "member" - | "internal"; - /** Can be one of `created`, `updated`, `pushed`, `full_name`. */ - sort?: "created" | "updated" | "pushed" | "full_name"; - /** Can be one of `asc` or `desc`. Default: when using `full_name`: `asc`, otherwise `desc` */ - direction?: "asc" | "desc"; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": components["schemas"]["minimal-repository"][]; + "application/json": { + total_count: number; + artifacts: components["schemas"]["artifact"][]; + }; }; }; }; }; - /** - * Creates a new repository in the specified organization. The authenticated user must be a member of the organization. - * - * **OAuth scope requirements** - * - * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: - * - * * `public_repo` scope or `repo` scope to create a public repository - * * `repo` scope to create a private repository - */ - "repos/create-in-org": { + /** Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + "actions/get-artifact": { parameters: { path: { - org: components["parameters"]["org"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the artifact. */ + artifact_id: components["parameters"]["artifact-id"]; }; }; responses: { - /** response */ - 201: { - headers: { - Location?: string; - }; + /** Response */ + 200: { content: { - "application/json": components["schemas"]["repository"]; + "application/json": components["schemas"]["artifact"]; }; }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; }; - requestBody: { - content: { - "application/json": { - /** The name of the repository. */ - name: string; - /** A short description of the repository. */ - description?: string; - /** A URL with more information about the repository. */ - homepage?: string; - /** Either `true` to create a private repository or `false` to create a public one. */ - private?: boolean; - /** - * Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`. For more information, see "[Creating an internal repository](https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-repository-visibility#about-internal-repositories)" in the GitHub Help documentation. - * The `visibility` parameter overrides the `private` parameter when you use both parameters with the `nebula-preview` preview header. - */ - visibility?: "public" | "private" | "visibility" | "internal"; - /** Either `true` to enable issues for this repository or `false` to disable them. */ - has_issues?: boolean; - /** Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. */ - has_projects?: boolean; - /** Either `true` to enable the wiki for this repository or `false` to disable it. */ - has_wiki?: boolean; - /** Either `true` to make this repo available as a template repository or `false` to prevent it. */ - is_template?: boolean; - /** The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. */ - team_id?: number; - /** Pass `true` to create an initial commit with empty README. */ - auto_init?: boolean; - /** Desired language or platform [.gitignore template](https://github.com/github/gitignore) to apply. Use the name of the template without the extension. For example, "Haskell". */ - gitignore_template?: string; - /** Choose an [open source license template](https://choosealicense.com/) that best suits your needs, and then use the [license keyword](https://help.github.com/articles/licensing-a-repository/#searching-github-by-license-type) as the `license_template` string. For example, "mit" or "mpl-2.0". */ - license_template?: string; - /** Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. */ - allow_squash_merge?: boolean; - /** Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. */ - allow_merge_commit?: boolean; - /** Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. */ - allow_rebase_merge?: boolean; - /** Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. */ - delete_branch_on_merge?: boolean; - }; + }; + /** Deletes an artifact for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ + "actions/delete-artifact": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the artifact. */ + artifact_id: components["parameters"]["artifact-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in + * the response header to find the URL for the download. The `:archive_format` must be `zip`. Anyone with read access to + * the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. + * GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + "actions/download-artifact": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the artifact. */ + artifact_id: components["parameters"]["artifact-id"]; + archive_format: string; }; }; + responses: { + /** Response */ + 302: never; + 410: components["responses"]["gone"]; + }; }; /** - * Gets the summary of the free and paid GitHub Actions minutes used. - * - * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". - * - * Access tokens must have the `repo` or `admin:org` scope. + * Gets GitHub Actions cache usage for a repository. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ - "billing/get-github-actions-billing-org": { + "actions/get-actions-cache-usage": { parameters: { path: { - org: components["parameters"]["org"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["actions-billing-usage"]; + "application/json": components["schemas"]["actions-cache-usage-by-repository"]; }; }; }; }; /** - * Gets the free and paid storage usued for GitHub Packages in gigabytes. - * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." - * - * Access tokens must have the `repo` or `admin:org` scope. + * Lists the GitHub Actions caches for a repository. + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `actions:read` permission to use this endpoint. */ - "billing/get-github-packages-billing-org": { + "actions/get-actions-cache-list": { parameters: { path: { - org: components["parameters"]["org"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ + ref?: components["parameters"]["git-ref"]; + /** An explicit key or prefix for identifying the cache */ + key?: components["parameters"]["actions-cache-key"]; + /** The property to sort the results by. `created_at` means when the cache was created. `last_accessed_at` means when the cache was last accessed. `size_in_bytes` is the size of the cache in bytes. */ + sort?: components["parameters"]["actions-cache-list-sort"]; + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; }; }; responses: { - /** response */ + /** Response */ 200: { + headers: {}; content: { - "application/json": components["schemas"]["packages-billing-usage"]; + "application/json": components["schemas"]["actions-cache-list"]; }; }; }; }; /** - * Gets the estimated paid and estimated total storage used for GitHub Actions and Github Packages. + * Deletes one or more GitHub Actions caches for a repository, using a complete cache key. By default, all caches that match the provided key are deleted, but you can optionally provide a Git ref to restrict deletions to caches that match both the provided key and the Git ref. * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * You must authenticate using an access token with the `repo` scope to use this endpoint. * - * Access tokens must have the `repo` or `admin:org` scope. + * GitHub Apps must have the `actions:write` permission to use this endpoint. */ - "billing/get-shared-storage-billing-org": { + "actions/delete-actions-cache-by-key": { parameters: { path: { - org: components["parameters"]["org"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** A key for identifying the cache. */ + key: components["parameters"]["actions-cache-key-required"]; + /** The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ + ref?: components["parameters"]["git-ref"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["combined-billing-usage"]; + "application/json": components["schemas"]["actions-cache-list"]; }; }; }; }; /** - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Deletes a GitHub Actions cache for a repository, using a cache ID. * - * List IdP groups available in an organization. You can limit your page results using the `per_page` parameter. GitHub generates a url-encoded `page` token using a cursor value for where the next page begins. For more information on cursor pagination, see "[Offset and Cursor Pagination explained](https://dev.to/jackmarchant/offset-and-cursor-pagination-explained-b89)." + * You must authenticate using an access token with the `repo` scope to use this endpoint. * - * The `per_page` parameter provides pagination for a list of IdP groups the authenticated user can access in an organization. For example, if the user `octocat` wants to see two groups per page in `octo-org` via cURL, it would look like this: + * GitHub Apps must have the `actions:write` permission to use this endpoint. */ - "teams/list-idp-groups-for-org": { + "actions/delete-actions-cache-by-id": { parameters: { path: { - org: components["parameters"]["org"]; - }; - query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the GitHub Actions cache. */ + cache_id: components["parameters"]["cache-id"]; }; }; responses: { - /** response */ - 200: { - headers: { - Link?: string; - }; - content: { - "application/json": components["schemas"]["group-mapping"]; - }; - }; + /** Response */ + 204: never; }; }; - /** Lists all teams in an organization that are visible to the authenticated user. */ - "teams/list": { + /** Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + "actions/get-job-for-workflow-run": { parameters: { path: { - org: components["parameters"]["org"]; - }; - query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the job. */ + job_id: components["parameters"]["job-id"]; }; }; responses: { - /** response */ + /** Response */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["team"][]; + "application/json": components["schemas"]["job"]; }; }; - 403: components["responses"]["forbidden"]; }; }; /** - * To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://help.github.com/en/articles/setting-team-creation-permissions-in-your-organization)." - * - * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/about-teams)". + * Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look + * for `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can + * use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must + * have the `actions:read` permission to use this endpoint. */ - "teams/create": { + "actions/download-job-logs-for-workflow-run": { parameters: { path: { - org: components["parameters"]["org"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the job. */ + job_id: components["parameters"]["job-id"]; }; }; responses: { - /** response */ + /** Response */ + 302: never; + }; + }; + /** Re-run a job and its dependent jobs in a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ + "actions/re-run-job-for-workflow-run": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the job. */ + job_id: components["parameters"]["job-id"]; + }; + }; + responses: { + /** Response */ 201: { content: { - "application/json": components["schemas"]["team-full"]; + "application/json": components["schemas"]["empty-object"]; }; }; 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - /** The name of the team. */ - name: string; - /** The description of the team. */ - description?: string; - /** List GitHub IDs for organization members who will become team maintainers. */ - maintainers?: string[]; - /** The full name (e.g., "organization-name/repository-name") of repositories to add the team to. */ - repo_names?: string[]; - /** - * The level of privacy this team should have. The options are: - * **For a non-nested team:** - * \* `secret` - only visible to organization owners and members of this team. - * \* `closed` - visible to all members of this organization. - * Default: `secret` - * **For a parent or child team:** - * \* `closed` - visible to all members of this organization. - * Default for child team: `closed` - */ - privacy?: "secret" | "closed"; /** - * **Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of: - * \* `pull` - team members can pull, but not push to or administer newly-added repositories. - * \* `push` - team members can pull and push, but not administer newly-added repositories. - * \* `admin` - team members can pull, push and administer newly-added repositories. + * @description Whether to enable debug logging for the re-run. + * @default false */ - permission?: "pull" | "push" | "admin"; - /** The ID of a team to set as the parent team. */ - parent_team_id?: number; - }; + enable_debug_logging?: boolean; + } | null; }; }; }; /** - * Gets a team using the team's `slug`. GitHub generates the `slug` from the team `name`. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}`. + * Gets the `opt-out` flag of a GitHub Actions OpenID Connect (OIDC) subject claim customization for a repository. + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. GitHub Apps must have the `organization_administration:read` permission to use this endpoint. */ - "teams/get-by-name": { + "actions/get-custom-oidc-sub-claim-for-repo": { parameters: { path: { - org: components["parameters"]["org"]; - /** team_slug parameter */ - team_slug: components["parameters"]["team_slug"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; }; }; responses: { - /** response */ + /** Status response */ 200: { content: { - "application/json": components["schemas"]["team-full"]; + "application/json": components["schemas"]["opt-out-oidc-custom-sub"]; }; }; + 400: components["responses"]["bad_request"]; 404: components["responses"]["not_found"]; }; }; /** - * To delete a team, the authenticated user must be an organization owner or team maintainer. - * - * If you are an organization owner, deleting a parent team will delete all of its child teams as well. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}`. + * Sets the `opt-out` flag of a GitHub Actions OpenID Connect (OIDC) subject claim customization for a repository. + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ - "teams/delete-in-org": { + "actions/set-custom-oidc-sub-claim-for-repo": { parameters: { path: { - org: components["parameters"]["org"]; - /** team_slug parameter */ - team_slug: components["parameters"]["team_slug"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; }; }; responses: { /** Empty response */ - 204: never; + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["opt-out-oidc-custom-sub"]; + }; }; }; /** - * To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions and reusable workflows allowed to run in the repository. * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}`. + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. */ - "teams/update-in-org": { + "actions/get-github-actions-permissions-repository": { parameters: { path: { - org: components["parameters"]["org"]; - /** team_slug parameter */ - team_slug: components["parameters"]["team_slug"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; }; }; responses: { - /** response */ - 201: { + /** Response */ + 200: { content: { - "application/json": components["schemas"]["team-full"]; + "application/json": components["schemas"]["actions-repository-permissions"]; }; }; }; + }; + /** + * Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions and reusable workflows in the repository. + * + * If the repository belongs to an organization or enterprise that has set restrictive permissions at the organization or enterprise levels, such as `allowed_actions` to `selected` actions and reusable workflows, then you cannot override them for the repository. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + "actions/set-github-actions-permissions-repository": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; requestBody: { content: { "application/json": { - /** The name of the team. */ - name: string; - /** The description of the team. */ - description?: string; - /** - * The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. When a team is nested, the `privacy` for parent teams cannot be `secret`. The options are: - * **For a non-nested team:** - * \* `secret` - only visible to organization owners and members of this team. - * \* `closed` - visible to all members of this organization. - * **For a parent or child team:** - * \* `closed` - visible to all members of this organization. - */ - privacy?: "secret" | "closed"; - /** - * **Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of: - * \* `pull` - team members can pull, but not push to or administer newly-added repositories. - * \* `push` - team members can pull and push, but not administer newly-added repositories. - * \* `admin` - team members can pull, push and administer newly-added repositories. - */ - permission?: "pull" | "push" | "admin"; - /** The ID of a team to set as the parent team. */ - parent_team_id?: number; + enabled: components["schemas"]["actions-enabled"]; + allowed_actions?: components["schemas"]["allowed-actions"]; }; }; }; }; /** - * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * Gets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. + * This endpoint only applies to internal repositories. For more information, see "[Managing GitHub Actions settings for a repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-an-internal-repository)." * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions`. + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the + * repository `administration` permission to use this endpoint. */ - "teams/list-discussions-in-org": { + "actions/get-workflow-access-to-repository": { parameters: { path: { - org: components["parameters"]["org"]; - /** team_slug parameter */ - team_slug: components["parameters"]["team_slug"]; - }; - query: { - /** One of `asc` (ascending) or `desc` (descending). */ - direction?: components["parameters"]["direction"]; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; }; }; responses: { - /** response */ + /** Response */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["team-discussion"][]; + "application/json": components["schemas"]["actions-workflow-access-to-repository"]; }; }; }; }; /** - * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + * Sets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. + * This endpoint only applies to internal repositories. For more information, see "[Managing GitHub Actions settings for a repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-an-internal-repository)." * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`. + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the + * repository `administration` permission to use this endpoint. */ - "teams/create-discussion-in-org": { + "actions/set-workflow-access-to-repository": { parameters: { path: { - org: components["parameters"]["org"]; - /** team_slug parameter */ - team_slug: components["parameters"]["team_slug"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; }; }; responses: { - /** response */ - 201: { - content: { - "application/json": components["schemas"]["team-discussion"]; - }; - }; + /** Response */ + 204: never; }; requestBody: { content: { - "application/json": { - /** The discussion post's title. */ - title: string; - /** The discussion post's body text. */ - body: string; - /** Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. */ - private?: boolean; - }; + "application/json": components["schemas"]["actions-workflow-access-to-repository"]; }; }; }; /** - * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * Gets the settings for selected actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. */ - "teams/get-discussion-in-org": { + "actions/get-allowed-actions-repository": { parameters: { - path: { - org: components["parameters"]["org"]; - /** team_slug parameter */ - team_slug: components["parameters"]["team_slug"]; - discussion_number: components["parameters"]["discussion-number"]; + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["team-discussion"]; + "application/json": components["schemas"]["selected-actions"]; }; }; }; }; /** - * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * Sets the actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + * If the repository belongs to an organization or enterprise that has `selected` actions and reusable workflows set at the organization or enterprise levels, then you cannot override any of the allowed actions and reusable workflows settings. + * + * To use the `patterns_allowed` setting for private repositories, the repository must belong to an enterprise. If the repository does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. */ - "teams/delete-discussion-in-org": { + "actions/set-allowed-actions-repository": { parameters: { path: { - org: components["parameters"]["org"]; - /** team_slug parameter */ - team_slug: components["parameters"]["team_slug"]; - discussion_number: components["parameters"]["discussion-number"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; }; + requestBody: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; }; /** - * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, + * as well as if GitHub Actions can submit approving pull request reviews. + * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the repository `administration` permission to use this API. */ - "teams/update-discussion-in-org": { + "actions/get-github-actions-default-workflow-permissions-repository": { parameters: { path: { - org: components["parameters"]["org"]; - /** team_slug parameter */ - team_slug: components["parameters"]["team_slug"]; - discussion_number: components["parameters"]["discussion-number"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["team-discussion"]; + "application/json": components["schemas"]["actions-get-default-workflow-permissions"]; }; }; }; + }; + /** + * Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, and sets if GitHub Actions + * can submit approving pull request reviews. + * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the repository `administration` permission to use this API. + */ + "actions/set-github-actions-default-workflow-permissions-repository": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Success response */ + 204: never; + /** Conflict response when changing a setting is prevented by the owning organization or enterprise */ + 409: unknown; + }; requestBody: { content: { - "application/json": { - /** The discussion post's title. */ - title?: string; - /** The discussion post's body text. */ - body?: string; - }; + "application/json": components["schemas"]["actions-set-default-workflow-permissions"]; }; }; }; - /** - * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. - */ - "teams/list-discussion-comments-in-org": { + /** Lists all self-hosted runners configured in a repository. You must authenticate using an access token with the `repo` scope to use this endpoint. */ + "actions/list-self-hosted-runners-for-repo": { parameters: { path: { - org: components["parameters"]["org"]; - /** team_slug parameter */ - team_slug: components["parameters"]["team_slug"]; - discussion_number: components["parameters"]["discussion-number"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; }; query: { - /** One of `asc` (ascending) or `desc` (descending). */ - direction?: components["parameters"]["direction"]; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": components["schemas"]["team-discussion-comment"][]; + "application/json": { + total_count: number; + runners: components["schemas"]["runner"][]; + }; }; }; }; }; /** - * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + * Lists binaries for the runner application that you can download and run. * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. + * You must authenticate using an access token with the `repo` scope to use this endpoint. */ - "teams/create-discussion-comment-in-org": { + "actions/list-runner-applications-for-repo": { parameters: { path: { - org: components["parameters"]["org"]; - /** team_slug parameter */ - team_slug: components["parameters"]["team_slug"]; - discussion_number: components["parameters"]["discussion-number"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; }; }; responses: { - /** response */ - 201: { + /** Response */ + 200: { content: { - "application/json": components["schemas"]["team-discussion-comment"]; - }; - }; - }; - requestBody: { - content: { - "application/json": { - /** The discussion comment's body text. */ - body: string; + "application/json": components["schemas"]["runner-application"][]; }; }; }; }; /** - * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * Returns a token that you can pass to the `config` script. The token expires after one hour. You must authenticate + * using an access token with the `repo` scope to use this endpoint. * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + * #### Example using registration token + * + * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. + * + * ``` + * ./config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN + * ``` */ - "teams/get-discussion-comment-in-org": { + "actions/create-registration-token-for-repo": { parameters: { path: { - org: components["parameters"]["org"]; - /** team_slug parameter */ - team_slug: components["parameters"]["team_slug"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; }; }; responses: { - /** response */ - 200: { + /** Response */ + 201: { content: { - "application/json": components["schemas"]["team-discussion-comment"]; + "application/json": components["schemas"]["authentication-token"]; }; }; }; }; /** - * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * Returns a token that you can pass to remove a self-hosted runner from a repository. The token expires after one hour. + * You must authenticate using an access token with the `repo` scope to use this endpoint. * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. - */ - "teams/delete-discussion-comment-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - /** team_slug parameter */ - team_slug: components["parameters"]["team_slug"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; - }; - }; - responses: { - /** Empty response */ - 204: never; - }; - }; - /** - * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * #### Example using remove token * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + * To remove your self-hosted runner from a repository, replace TOKEN with the remove token provided by this endpoint. + * + * ``` + * ./config.sh remove --token TOKEN + * ``` */ - "teams/update-discussion-comment-in-org": { + "actions/create-remove-token-for-repo": { parameters: { path: { - org: components["parameters"]["org"]; - /** team_slug parameter */ - team_slug: components["parameters"]["team_slug"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; }; }; responses: { - /** response */ - 200: { + /** Response */ + 201: { content: { - "application/json": components["schemas"]["team-discussion-comment"]; - }; - }; - }; - requestBody: { - content: { - "application/json": { - /** The discussion comment's body text. */ - body: string; + "application/json": components["schemas"]["authentication-token"]; }; }; }; }; /** - * List the reactions to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments/). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * Gets a specific self-hosted runner configured in a repository. * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. */ - "reactions/list-for-team-discussion-comment-in-org": { + "actions/get-self-hosted-runner-for-repo": { parameters: { path: { - org: components["parameters"]["org"]; - /** team_slug parameter */ - team_slug: components["parameters"]["team_slug"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; - }; - query: { - /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion comment. */ - content?: - | "+1" - | "-1" - | "laugh" - | "confused" - | "heart" - | "hooray" - | "rocket" - | "eyes"; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; }; }; responses: { - /** response */ + /** Response */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["reaction"][]; + "application/json": components["schemas"]["runner"]; }; }; }; }; /** - * Create a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion comment. + * Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + * You must authenticate using an access token with the `repo` + * scope to use this endpoint. */ - "reactions/create-for-team-discussion-comment-in-org": { + "actions/delete-self-hosted-runner-from-repo": { parameters: { path: { - org: components["parameters"]["org"]; - /** team_slug parameter */ - team_slug: components["parameters"]["team_slug"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; }; }; responses: { - /** response */ - 201: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - }; - requestBody: { - content: { - "application/json": { - /** The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion comment. */ - content: - | "+1" - | "-1" - | "laugh" - | "confused" - | "heart" - | "hooray" - | "rocket" - | "eyes"; - }; - }; + /** Response */ + 204: never; }; }; /** - * **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`. + * Lists all labels for a self-hosted runner configured in a repository. * - * Delete a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. */ - "reactions/delete-for-team-discussion-comment": { + "actions/list-labels-for-self-hosted-runner-for-repo": { parameters: { path: { - org: components["parameters"]["org"]; - /** team_slug parameter */ - team_slug: components["parameters"]["team_slug"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; - reaction_id: components["parameters"]["reaction-id"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; }; }; responses: { - /** Empty response */ - 204: never; + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; }; }; /** - * List the reactions to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in a repository. * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. */ - "reactions/list-for-team-discussion-in-org": { + "actions/set-custom-labels-for-self-hosted-runner-for-repo": { parameters: { path: { - org: components["parameters"]["org"]; - /** team_slug parameter */ - team_slug: components["parameters"]["team_slug"]; - discussion_number: components["parameters"]["discussion-number"]; - }; - query: { - /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion. */ - content?: - | "+1" - | "-1" - | "laugh" - | "confused" - | "heart" - | "hooray" - | "rocket" - | "eyes"; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; }; }; responses: { - /** response */ - 200: { - headers: {}; - content: { - "application/json": components["schemas"]["reaction"][]; + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels. */ + labels: string[]; }; }; }; }; /** - * Create a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion. + * Add custom labels to a self-hosted runner configured in a repository. * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. */ - "reactions/create-for-team-discussion-in-org": { + "actions/add-custom-labels-to-self-hosted-runner-for-repo": { parameters: { path: { - org: components["parameters"]["org"]; - /** team_slug parameter */ - team_slug: components["parameters"]["team_slug"]; - discussion_number: components["parameters"]["discussion-number"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; }; }; responses: { - /** response */ - 201: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; }; requestBody: { content: { "application/json": { - /** The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion. */ - content: - | "+1" - | "-1" - | "laugh" - | "confused" - | "heart" - | "hooray" - | "rocket" - | "eyes"; + /** @description The names of the custom labels to add to the runner. */ + labels: string[]; }; }; }; }; /** - * **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions/:reaction_id`. + * Remove all custom labels from a self-hosted runner configured in a + * repository. Returns the remaining read-only labels from the runner. * - * Delete a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. */ - "reactions/delete-for-team-discussion": { + "actions/remove-all-custom-labels-from-self-hosted-runner-for-repo": { parameters: { path: { - org: components["parameters"]["org"]; - /** team_slug parameter */ - team_slug: components["parameters"]["team_slug"]; - discussion_number: components["parameters"]["discussion-number"]; - reaction_id: components["parameters"]["reaction-id"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; }; }; responses: { - /** Empty response */ - 204: never; + 200: components["responses"]["actions_runner_labels_readonly"]; + 404: components["responses"]["not_found"]; }; }; /** - * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + * Remove a custom label from a self-hosted runner configured + * in a repository. Returns the remaining labels from the runner. * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/invitations`. + * This endpoint returns a `404 Not Found` status if the custom label is not + * present on the runner. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. */ - "teams/list-pending-invitations-in-org": { + "actions/remove-custom-label-from-self-hosted-runner-for-repo": { parameters: { path: { - org: components["parameters"]["org"]; - /** team_slug parameter */ - team_slug: components["parameters"]["team_slug"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + /** The name of a self-hosted runner's custom label. */ + name: components["parameters"]["runner-label-name"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + "actions/list-workflow-runs-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. */ + actor?: components["parameters"]["actor"]; + /** Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */ + branch?: components["parameters"]["workflow-run-branch"]; + /** Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://docs.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */ + event?: components["parameters"]["event"]; + /** Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`. For a list of the possible `status` and `conclusion` options, see "[Create a check run](https://docs.github.com/rest/reference/checks#create-a-check-run)." */ + status?: components["parameters"]["workflow-run-status"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; + /** Returns workflow runs created within the given date-time range. For more information on the syntax, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ + created?: components["parameters"]["created"]; + /** If `true` pull requests are omitted from the response (empty array). */ + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; + /** Returns workflow runs with the `check_suite_id` that you specify. */ + check_suite_id?: components["parameters"]["workflow-run-check-suite-id"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": components["schemas"]["organization-invitation"][]; + "application/json": { + total_count: number; + workflow_runs: components["schemas"]["workflow-run"][]; + }; }; }; }; }; - /** - * Team members will include the members of child teams. - * - * To list members in a team, the team must be visible to the authenticated user. - */ - "teams/list-members-in-org": { + /** Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + "actions/get-workflow-run": { parameters: { path: { - org: components["parameters"]["org"]; - /** team_slug parameter */ - team_slug: components["parameters"]["team_slug"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; }; query: { - /** - * Filters members returned by their role in the team. Can be one of: - * \* `member` - normal members of the team. - * \* `maintainer` - team maintainers. - * \* `all` - all members of the team. - */ - role?: "member" | "maintainer" | "all"; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** If `true` pull requests are omitted from the response (empty array). */ + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; }; }; responses: { - /** response */ + /** Response */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["simple-user"][]; + "application/json": components["schemas"]["workflow-run"]; }; }; }; }; /** - * Team members will include the members of child teams. - * - * To get a user's membership with a team, the team must be visible to the authenticated user. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/memberships/{username}`. - * - * **Note:** The `role` for organization owners returns as `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/reference/teams#create-a-team). + * Delete a specific workflow run. Anyone with write access to the repository can use this endpoint. If the repository is + * private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:write` permission to use + * this endpoint. */ - "teams/get-membership-for-user-in-org": { + "actions/delete-workflow-run": { parameters: { path: { - org: components["parameters"]["org"]; - /** team_slug parameter */ - team_slug: components["parameters"]["team_slug"]; - username: components["parameters"]["username"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; }; }; responses: { - /** response */ + /** Response */ + 204: never; + }; + }; + /** Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + "actions/get-reviews-for-run": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** Response */ 200: { content: { - "application/json": components["schemas"]["team-membership"]; + "application/json": components["schemas"]["environment-approvals"][]; }; }; - /** Response if user has no team membership */ - 404: unknown; }; }; /** - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Adds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a team. + * Approves a workflow run for a pull request from a public fork of a first time contributor. For more information, see ["Approving workflow runs from public forks](https://docs.github.com/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks)." * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - * - * An organization owner can add someone who is not part of the team's organization to a team. When an organization owner adds someone to a team who is not an organization member, this endpoint will send an invitation to the person via email. This newly-created membership will be in the "pending" state until the person accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. - * - * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/memberships/{username}`. + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ - "teams/add-or-update-membership-for-user-in-org": { + "actions/approve-workflow-run": { parameters: { path: { - org: components["parameters"]["org"]; - /** team_slug parameter */ - team_slug: components["parameters"]["team_slug"]; - username: components["parameters"]["username"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; }; }; responses: { - /** response */ - 200: { + /** Response */ + 201: { content: { - "application/json": components["schemas"]["team-membership"]; + "application/json": components["schemas"]["empty-object"]; }; }; - /** Response if team synchronization is set up */ - 403: unknown; - /** Response if you attempt to add an organization to a team */ - 422: { + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + "actions/list-workflow-run-artifacts": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; content: { "application/json": { - message?: string; - errors?: { - code?: string; - field?: string; - resource?: string; - }[]; + total_count: number; + artifacts: components["schemas"]["artifact"][]; }; }; }; }; - requestBody: { - content: { - "application/json": { - /** - * The role that this user should have in the team. Can be one of: - * \* `member` - a normal member of the team. - * \* `maintainer` - a team maintainer. Able to add/remove other team members, promote other team members to team maintainer, and edit the team's name and description. - */ - role?: "member" | "maintainer"; - }; - }; - }; }; /** - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/memberships/{username}`. + * Gets a specific workflow run attempt. Anyone with read access to the repository + * can use this endpoint. If the repository is private you must use an access token + * with the `repo` scope. GitHub Apps must have the `actions:read` permission to + * use this endpoint. */ - "teams/remove-membership-for-user-in-org": { + "actions/get-workflow-run-attempt": { parameters: { path: { - org: components["parameters"]["org"]; - /** team_slug parameter */ - team_slug: components["parameters"]["team_slug"]; - username: components["parameters"]["username"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + /** The attempt number of the workflow run. */ + attempt_number: components["parameters"]["attempt-number"]; + }; + query: { + /** If `true` pull requests are omitted from the response (empty array). */ + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; }; }; responses: { - /** Empty response */ - 204: never; - /** Response if team synchronization is set up */ - 403: unknown; - }; - }; - /** - * Lists the organization projects for a team. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects`. - */ - "teams/list-projects-in-org": { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["workflow-run"]; + }; + }; + }; + }; + /** Lists jobs for a specific workflow run attempt. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). */ + "actions/list-jobs-for-workflow-run-attempt": { parameters: { path: { - org: components["parameters"]["org"]; - /** team_slug parameter */ - team_slug: components["parameters"]["team_slug"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + /** The attempt number of the workflow run. */ + attempt_number: components["parameters"]["attempt-number"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": components["schemas"]["team-project"][]; + "application/json": { + total_count: number; + jobs: components["schemas"]["job"][]; + }; }; }; + 404: components["responses"]["not_found"]; }; }; /** - * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects/{project_id}`. + * Gets a redirect URL to download an archive of log files for a specific workflow run attempt. This link expires after + * 1 minute. Look for `Location:` in the response header to find the URL for the download. Anyone with read access to + * the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. + * GitHub Apps must have the `actions:read` permission to use this endpoint. */ - "teams/check-permissions-for-project-in-org": { + "actions/download-workflow-run-attempt-logs": { parameters: { path: { - org: components["parameters"]["org"]; - /** team_slug parameter */ - team_slug: components["parameters"]["team_slug"]; - project_id: components["parameters"]["project-id"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + /** The attempt number of the workflow run. */ + attempt_number: components["parameters"]["attempt-number"]; }; }; responses: { - /** response */ - 200: { + /** Response */ + 302: never; + }; + }; + /** Cancels a workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ + "actions/cancel-workflow-run": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** Response */ + 202: { content: { - "application/json": components["schemas"]["team-project"]; + "application/json": { [key: string]: unknown }; }; }; - /** Response if project is not managed by this team */ - 404: unknown; + 409: components["responses"]["conflict"]; }; }; - /** - * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/projects/{project_id}`. - */ - "teams/add-or-update-project-permissions-in-org": { + /** Lists jobs for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). */ + "actions/list-jobs-for-workflow-run": { parameters: { path: { - org: components["parameters"]["org"]; - /** team_slug parameter */ - team_slug: components["parameters"]["team_slug"]; - project_id: components["parameters"]["project-id"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + query: { + /** Filters jobs by their `completed_at` timestamp. `latest` returns jobs from the most recent execution of the workflow run. `all` returns all jobs for a workflow run, including from old executions of the workflow run. */ + filter?: "latest" | "all"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** Empty response */ - 204: never; - /** Response if the project is not owned by the organization */ - 403: { + /** Response */ + 200: { + headers: {}; content: { "application/json": { - message?: string; - documentation_url?: string; + total_count: number; + jobs: components["schemas"]["job"][]; }; }; }; }; - requestBody: { - content: { - "application/json": { - /** - * The permission to grant to the team for this project. Can be one of: - * \* `read` - team members can read, but not write to or administer this project. - * \* `write` - team members can read and write, but not administer this project. - * \* `admin` - team members can read, write and administer this project. - * Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - permission?: "read" | "write" | "admin"; - }; - }; - }; }; /** - * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. This endpoint removes the project from the team, but does not delete the project. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/projects/{project_id}`. + * Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for + * `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use + * this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have + * the `actions:read` permission to use this endpoint. */ - "teams/remove-project-in-org": { + "actions/download-workflow-run-logs": { parameters: { path: { - org: components["parameters"]["org"]; - /** team_slug parameter */ - team_slug: components["parameters"]["team_slug"]; - project_id: components["parameters"]["project-id"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; }; }; responses: { - /** Empty response */ - 204: never; + /** Response */ + 302: never; }; }; - /** - * Lists a team's repositories visible to the authenticated user. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos`. - */ - "teams/list-repos-in-org": { + /** Deletes all logs for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ + "actions/delete-workflow-run-logs": { parameters: { path: { - org: components["parameters"]["org"]; - /** team_slug parameter */ - team_slug: components["parameters"]["team_slug"]; - }; - query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; }; }; responses: { - /** response */ - 200: { - headers: {}; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; + /** Response */ + 204: never; + 403: components["responses"]["forbidden"]; + 500: components["responses"]["internal_error"]; }; }; /** - * Checks whether a team has `admin`, `push`, `maintain`, `triage`, or `pull` permission for a repository. Repositories inherited through a parent team will also be checked. - * - * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `application/vnd.github.v3.repository+json` accept header. + * Get all deployment environments for a workflow run that are waiting for protection rules to pass. * - * If a team doesn't have permission for the repository, you will receive a `404 Not Found` response status. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ - "teams/check-permissions-for-repo-in-org": { + "actions/get-pending-deployments-for-run": { parameters: { path: { - org: components["parameters"]["org"]; - /** team_slug parameter */ - team_slug: components["parameters"]["team_slug"]; + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; }; }; responses: { - /** Alternative response with repository permissions */ + /** Response */ 200: { content: { - "application/vnd.github.v3.repository+json": components["schemas"]["team-repository"]; + "application/json": components["schemas"]["pending-deployment"][]; }; }; - /** Response if team has permission for the repository */ - 204: never; - /** Response if team does not have permission for the repository */ - 404: unknown; }; }; /** - * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + * Approve or reject pending deployments that are waiting on approval by a required reviewer. * - * For more information about the permission levels, see "[Repository permission levels for an organization](https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". + * Required reviewers with read access to the repository contents and deployments can use this endpoint. Required reviewers must authenticate using an access token with the `repo` scope to use this endpoint. */ - "teams/add-or-update-repo-permissions-in-org": { + "actions/review-pending-deployments-for-run": { parameters: { path: { - org: components["parameters"]["org"]; - /** team_slug parameter */ - team_slug: components["parameters"]["team_slug"]; + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; }; }; responses: { - /** Empty response */ - 204: never; + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["deployment"][]; + }; + }; }; requestBody: { content: { "application/json": { /** - * The permission to grant the team on this repository. Can be one of: - * \* `pull` - team members can pull, but not push to or administer this repository. - * \* `push` - team members can pull and push, but not administer this repository. - * \* `admin` - team members can pull, push and administer this repository. - * \* `maintain` - team members can manage the repository without access to sensitive or destructive actions. Recommended for project managers. Only applies to repositories owned by organizations. - * \* `triage` - team members can proactively manage issues and pull requests without write access. Recommended for contributors who triage a repository. Only applies to repositories owned by organizations. - * - * If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. + * @description The list of environment ids to approve or reject + * @example [ + * 161171787, + * 161171795 + * ] */ - permission?: "pull" | "push" | "admin" | "maintain" | "triage"; + environment_ids: number[]; + /** + * @description Whether to approve or reject deployment to the specified environments. + * @example approved + * @enum {string} + */ + state: "approved" | "rejected"; + /** + * @description A comment to accompany the deployment review + * @example Ship it! + */ + comment: string; }; }; }; }; - /** - * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. - */ - "teams/remove-repo-in-org": { + /** Re-runs your workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ + "actions/re-run-workflow": { parameters: { path: { - org: components["parameters"]["org"]; - /** team_slug parameter */ - team_slug: components["parameters"]["team_slug"]; + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; }; }; responses: { - /** Empty response */ - 204: never; + /** Response */ + 201: { + content: { + "application/json": { [key: string]: unknown }; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Whether to enable debug logging for the re-run. + * @default false + */ + enable_debug_logging?: boolean; + } | null; + }; }; }; - /** - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * List IdP groups connected to a team on GitHub. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/team-sync/group-mappings`. - */ - "teams/list-idp-groups-in-org": { + /** Re-run all of the failed jobs and their dependent jobs in a workflow run using the `id` of the workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. */ + "actions/re-run-workflow-failed-jobs": { parameters: { path: { - org: components["parameters"]["org"]; - /** team_slug parameter */ - team_slug: components["parameters"]["team_slug"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; }; }; responses: { - /** response */ - 200: { + /** Response */ + 201: { content: { - "application/json": components["schemas"]["group-mapping"]; + "application/json": components["schemas"]["empty-object"]; }; }; }; + requestBody: { + content: { + "application/json": { + /** + * @description Whether to enable debug logging for the re-run. + * @default false + */ + enable_debug_logging?: boolean; + } | null; + }; + }; }; /** - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Creates, updates, or removes a connection between a team and an IdP group. When adding groups to a team, you must include all new and existing groups to avoid replacing existing groups with the new ones. Specifying an empty `groups` array will remove all connections for a team. + * Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/team-sync/group-mappings`. + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ - "teams/create-or-update-idp-group-connections-in-org": { + "actions/get-workflow-run-usage": { parameters: { path: { - org: components["parameters"]["org"]; - /** team_slug parameter */ - team_slug: components["parameters"]["team_slug"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["group-mapping"]; - }; - }; - }; - requestBody: { - content: { - "application/json": { - /** The IdP groups you want to connect to a GitHub team. When updating, the new `groups` object will replace the original one. You must include any existing groups that you don't want to remove. */ - groups: { - /** ID of the IdP group. */ - group_id: string; - /** Name of the IdP group. */ - group_name: string; - /** Description of the IdP group. */ - group_description: string; - }[]; + "application/json": components["schemas"]["workflow-run-usage"]; }; }; }; }; - /** - * Lists the child teams of the team specified by `{team_slug}`. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`. - */ - "teams/list-child-in-org": { + /** Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + "actions/list-repo-secrets": { parameters: { path: { - org: components["parameters"]["org"]; - /** team_slug parameter */ - team_slug: components["parameters"]["team_slug"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** Response if child teams exist */ + /** Response */ 200: { headers: {}; content: { - "application/json": components["schemas"]["team"][]; + "application/json": { + total_count: number; + secrets: components["schemas"]["actions-secret"][]; + }; }; }; }; }; - "projects/get-card": { + /** Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + "actions/get-repo-public-key": { parameters: { path: { - /** card_id parameter */ - card_id: components["parameters"]["card_id"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["project-card"]; + "application/json": components["schemas"]["actions-public-key"]; }; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; }; }; - "projects/delete-card": { + /** Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + "actions/get-repo-secret": { parameters: { path: { - /** card_id parameter */ - card_id: components["parameters"]["card_id"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; }; }; responses: { - /** Empty response */ - 204: never; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - /** Forbidden */ - 403: { + /** Response */ + 200: { content: { - "application/json": { - message?: string; - documentation_url?: string; - errors?: string[]; - }; + "application/json": components["schemas"]["actions-secret"]; }; }; - 404: components["responses"]["not_found"]; }; }; - "projects/update-card": { + /** + * Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use + * this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + "actions/create-or-update-repo-secret": { parameters: { path: { - /** card_id parameter */ - card_id: components["parameters"]["card_id"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; }; }; responses: { - /** response */ - 200: { + /** Response when creating a secret */ + 201: { content: { - "application/json": components["schemas"]["project-card"]; + "application/json": { [key: string]: unknown }; }; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; + /** Response when updating a secret */ + 204: never; }; requestBody: { content: { "application/json": { - /** The project card's note */ - note?: string | null; - /** Whether or not the card is archived */ - archived?: boolean; + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/reference/actions#get-a-repository-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; }; }; }; }; - "projects/move-card": { + /** Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + "actions/delete-repo-secret": { parameters: { path: { - /** card_id parameter */ - card_id: components["parameters"]["card_id"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; }; }; responses: { - /** response */ - 201: { - content: { - "application/json": { [key: string]: any }; - }; + /** Response */ + 204: never; + }; + }; + /** Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + "actions/list-repo-workflows": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - /** Forbidden */ - 403: { - content: { - "application/json": { - message?: string; - documentation_url?: string; - errors?: { - code?: string; - message?: string; - resource?: string; - field?: string; - }[]; - }; - }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; - 422: components["responses"]["validation_failed"]; - /** Service Unavailable */ - 503: { + }; + responses: { + /** Response */ + 200: { + headers: {}; content: { "application/json": { - code?: string; - message?: string; - documentation_url?: string; - errors?: { - code?: string; - message?: string; - }[]; + total_count: number; + workflows: components["schemas"]["workflow"][]; }; }; }; }; - requestBody: { - content: { - "application/json": { - /** The position of the card in a column */ - position: string; - /** The unique identifier of the column the card should be moved to */ - column_id?: number; - }; - }; - }; }; - "projects/get-column": { + /** Gets a specific workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + "actions/get-workflow": { parameters: { path: { - /** column_id parameter */ - column_id: components["parameters"]["column_id"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["project-column"]; + "application/json": components["schemas"]["workflow"]; }; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; }; }; - "projects/delete-column": { + /** + * Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + "actions/disable-workflow": { parameters: { path: { - /** column_id parameter */ - column_id: components["parameters"]["column_id"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; }; }; - "projects/update-column": { + /** + * You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must configure your GitHub Actions workflow to run when the [`workflow_dispatch` webhook](/developers/webhooks-and-events/webhook-events-and-payloads#workflow_dispatch) event occurs. The `inputs` are configured in the workflow file. For more information about how to configure the `workflow_dispatch` event in the workflow file, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_dispatch)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see "[Creating a personal access token for the command line](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line)." + */ + "actions/create-workflow-dispatch": { parameters: { path: { - /** column_id parameter */ - column_id: components["parameters"]["column_id"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; }; }; responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["project-column"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; + /** Response */ + 204: never; }; requestBody: { content: { "application/json": { - /** Name of the project column */ - name: string; + /** @description The git reference for the workflow. The reference can be a branch or tag name. */ + ref: string; + /** @description Input keys and values configured in the workflow file. The maximum number of properties is 10. Any default properties configured in the workflow file will be used when `inputs` are omitted. */ + inputs?: { [key: string]: string }; }; }; }; }; - "projects/list-cards": { + /** + * Enables a workflow and sets the `state` of the workflow to `active`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + "actions/enable-workflow": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. + */ + "actions/list-workflow-runs": { parameters: { path: { - /** column_id parameter */ - column_id: components["parameters"]["column_id"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; }; query: { - /** Filters the project cards that are returned by the card's state. Can be one of `all`,`archived`, or `not_archived`. */ - archived_state?: "all" | "archived" | "not_archived"; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. */ + actor?: components["parameters"]["actor"]; + /** Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */ + branch?: components["parameters"]["workflow-run-branch"]; + /** Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://docs.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */ + event?: components["parameters"]["event"]; + /** Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`. For a list of the possible `status` and `conclusion` options, see "[Create a check run](https://docs.github.com/rest/reference/checks#create-a-check-run)." */ + status?: components["parameters"]["workflow-run-status"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; + /** Returns workflow runs created within the given date-time range. For more information on the syntax, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ + created?: components["parameters"]["created"]; + /** If `true` pull requests are omitted from the response (empty array). */ + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; + /** Returns workflow runs with the `check_suite_id` that you specify. */ + check_suite_id?: components["parameters"]["workflow-run-check-suite-id"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": components["schemas"]["project-card"][]; + "application/json": { + total_count: number; + workflow_runs: components["schemas"]["workflow-run"][]; + }; }; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; }; }; /** - * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. + * Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". * - * Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + * You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ - "projects/create-card": { + "actions/get-workflow-usage": { parameters: { path: { - /** column_id parameter */ - column_id: components["parameters"]["column_id"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; }; }; responses: { - /** response */ - 201: { - content: { - "application/json": components["schemas"]["project-card"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - /** Validation Failed */ - 422: { - content: { - "application/json": - | components["schemas"]["validation-error"] - | components["schemas"]["validation-error-simple"]; - }; - }; - /** Service Unavailable */ - 503: { + /** Response */ + 200: { content: { - "application/json": { - code?: string; - message?: string; - documentation_url?: string; - errors?: { - code?: string; - message?: string; - }[]; - }; + "application/json": components["schemas"]["workflow-usage"]; }; }; }; - requestBody: { - content: { - "application/json": - | { - /** The project card's note */ - note: string | null; - } - | { - /** The unique identifier of the content associated with the card */ - content_id: number; - /** The piece of content associated with the card */ - content_type: string; - }; - }; - }; }; - "projects/move-column": { + /** Lists the [available assignees](https://docs.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository. */ + "issues/list-assignees": { parameters: { path: { - /** column_id parameter */ - column_id: components["parameters"]["column_id"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** response */ - 201: { + /** Response */ + 200: { + headers: {}; content: { - "application/json": { [key: string]: any }; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed_simple"]; - }; - requestBody: { - content: { - "application/json": { - /** The position of the column in a project */ - position: string; + "application/json": components["schemas"]["simple-user"][]; }; }; + 404: components["responses"]["not_found"]; }; }; - /** Gets a project by its `id`. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ - "projects/get": { + /** + * Checks if a user has permission to be assigned to an issue in this repository. + * + * If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. + * + * Otherwise a `404` status code is returned. + */ + "issues/check-user-can-be-assigned": { parameters: { path: { - project_id: components["parameters"]["project-id"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + assignee: string; }; }; responses: { - /** response */ - 200: { + /** If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. */ + 204: never; + /** Otherwise a `404` status code is returned. */ + 404: { content: { - "application/json": components["schemas"]["project"]; + "application/json": components["schemas"]["basic-error"]; }; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; }; }; - /** Deletes a project board. Returns a `404 Not Found` status if projects are disabled. */ - "projects/delete": { + /** + * This returns a list of autolinks configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + "repos/list-autolinks": { parameters: { path: { - project_id: components["parameters"]["project-id"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** Delete Success */ - 204: never; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - /** Forbidden */ - 403: { + /** Response */ + 200: { content: { - "application/json": { - message?: string; - documentation_url?: string; - errors?: string[]; - }; + "application/json": components["schemas"]["autolink"][]; }; }; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; }; }; - /** Updates a project board's information. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ - "projects/update": { + /** Users with admin access to the repository can create an autolink. */ + "repos/create-autolink": { parameters: { path: { - project_id: components["parameters"]["project-id"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; }; }; responses: { /** response */ - 200: { - content: { - "application/json": components["schemas"]["project"]; + 201: { + headers: { + Location?: string; }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - /** Forbidden */ - 403: { content: { - "application/json": { - message?: string; - documentation_url?: string; - errors?: string[]; - }; + "application/json": components["schemas"]["autolink"]; }; }; - /** Response if the authenticated user does not have access to the project */ - 404: unknown; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed_simple"]; + 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - /** Name of the project */ - name?: string; - /** Body of the project */ - body?: string | null; - /** State of the project; either 'open' or 'closed' */ - state?: string; - /** The baseline permission that all organization members have on this project */ - organization_permission?: "read" | "write" | "admin" | "none"; - /** Whether or not this project can be seen by everyone. */ - private?: boolean; + /** @description The prefix appended by alphanumeric characters will generate a link any time it is found in an issue, pull request, or commit. */ + key_prefix: string; + /** @description The URL must contain `` for the reference number. `` matches alphanumeric characters `A-Z` (case insensitive), `0-9`, and `-`. */ + url_template: string; }; }; }; }; - /** Lists the collaborators for an organization project. For a project, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. You must be an organization owner or a project `admin` to list collaborators. */ - "projects/list-collaborators": { + /** + * This returns a single autolink reference by ID that was configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + "repos/get-autolink": { parameters: { path: { - project_id: components["parameters"]["project-id"]; - }; - query: { - /** - * Filters the collaborators by their affiliation. Can be one of: - * \* `outside`: Outside collaborators of a project that are not a member of the project's organization. - * \* `direct`: Collaborators with permissions to a project, regardless of organization membership status. - * \* `all`: All collaborators the authenticated user can see. - */ - affiliation?: "outside" | "direct" | "all"; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the autolink. */ + autolink_id: components["parameters"]["autolink-id"]; }; }; responses: { - /** response */ + /** Response */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["simple-user"][]; + "application/json": components["schemas"]["autolink"]; }; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; - 415: components["responses"]["preview_header_missing"]; - 422: components["responses"]["validation_failed"]; }; }; - /** Adds a collaborator to an organization project and sets their permission level. You must be an organization owner or a project `admin` to add a collaborator. */ - "projects/add-collaborator": { + /** + * This deletes a single autolink reference by ID that was configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + "repos/delete-autolink": { parameters: { path: { - project_id: components["parameters"]["project-id"]; - username: components["parameters"]["username"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the autolink. */ + autolink_id: components["parameters"]["autolink-id"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; - 415: components["responses"]["preview_header_missing"]; - 422: components["responses"]["validation_failed"]; }; - requestBody: { - content: { - "application/json": { - /** The permission to grant the collaborator. */ - permission?: "read" | "write" | "admin"; - }; + }; + /** Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/en/articles/configuring-automated-security-fixes)". */ + "repos/enable-automated-security-fixes": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** Disables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/en/articles/configuring-automated-security-fixes)". */ + "repos/disable-automated-security-fixes": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; }; }; + responses: { + /** Response */ + 204: never; + }; }; - /** Removes a collaborator from an organization project. You must be an organization owner or a project `admin` to remove a collaborator. */ - "projects/remove-collaborator": { + "repos/list-branches": { parameters: { path: { - project_id: components["parameters"]["project-id"]; - username: components["parameters"]["username"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** Setting to `true` returns only protected branches. When set to `false`, only unprotected branches are returned. Omitting this parameter returns all branches. */ + protected?: boolean; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** Empty response */ - 204: never; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["short-branch"][]; + }; + }; 404: components["responses"]["not_found"]; - 415: components["responses"]["preview_header_missing"]; - 422: components["responses"]["validation_failed"]; }; }; - /** Returns the collaborator's permission level for an organization project. Possible values for the `permission` key: `admin`, `write`, `read`, `none`. You must be an organization owner or a project `admin` to review a user's permission level. */ - "projects/get-permission-for-user": { + "repos/get-branch": { parameters: { path: { - project_id: components["parameters"]["project-id"]; - username: components["parameters"]["username"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["repository-collaborator-permission"]; + "application/json": components["schemas"]["branch-with-protection"]; }; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; + 301: components["responses"]["moved_permanently"]; 404: components["responses"]["not_found"]; - 415: components["responses"]["preview_header_missing"]; - 422: components["responses"]["validation_failed"]; }; }; - "projects/list-columns": { + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/get-branch-protection": { parameters: { path: { - project_id: components["parameters"]["project-id"]; - }; - query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; }; }; responses: { - /** response */ + /** Response */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["project-column"][]; + "application/json": components["schemas"]["branch-protection"]; }; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; - "projects/create-column": { + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Protecting a branch requires admin or owner permissions to the repository. + * + * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. + * + * **Note**: The list of users, apps, and teams in total is limited to 100 items. + */ + "repos/update-branch-protection": { parameters: { path: { - project_id: components["parameters"]["project-id"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; }; }; responses: { - /** response */ - 201: { + /** Response */ + 200: { content: { - "application/json": components["schemas"]["project-column"]; + "application/json": components["schemas"]["protected-branch"]; }; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed_simple"]; }; requestBody: { content: { "application/json": { - /** Name of the project column */ - name: string; + /** @description Require status checks to pass before merging. Set to `null` to disable. */ + required_status_checks: { + /** @description Require branches to be up to date before merging. */ + strict: boolean; + /** + * @deprecated + * @description **Deprecated**: The list of status checks to require in order to merge into this branch. If any of these checks have recently been set by a particular GitHub App, they will be required to come from that app in future for the branch to merge. Use `checks` instead of `contexts` for more fine-grained control. + */ + contexts: string[]; + /** @description The list of status checks to require in order to merge into this branch. */ + checks?: { + /** @description The name of the required check */ + context: string; + /** @description The ID of the GitHub App that must provide this check. Omit this field to automatically select the GitHub App that has recently provided this check, or any app if it was not set by a GitHub App. Pass -1 to explicitly allow any app to set the status. */ + app_id?: number; + }[]; + } | null; + /** @description Enforce all configured restrictions for administrators. Set to `true` to enforce required status checks for repository administrators. Set to `null` to disable. */ + enforce_admins: boolean | null; + /** @description Require at least one approving review on a pull request, before merging. Set to `null` to disable. */ + required_pull_request_reviews: { + /** @description Specify which users, teams, and apps can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories. */ + dismissal_restrictions?: { + /** @description The list of user `login`s with dismissal access */ + users?: string[]; + /** @description The list of team `slug`s with dismissal access */ + teams?: string[]; + /** @description The list of app `slug`s with dismissal access */ + apps?: string[]; + }; + /** @description Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. */ + dismiss_stale_reviews?: boolean; + /** @description Blocks merging pull requests until [code owners](https://docs.github.com/articles/about-code-owners/) review them. */ + require_code_owner_reviews?: boolean; + /** @description Specify the number of reviewers required to approve pull requests. Use a number between 1 and 6 or 0 to not require reviewers. */ + required_approving_review_count?: number; + /** @description Allow specific users, teams, or apps to bypass pull request requirements. */ + bypass_pull_request_allowances?: { + /** @description The list of user `login`s allowed to bypass pull request requirements. */ + users?: string[]; + /** @description The list of team `slug`s allowed to bypass pull request requirements. */ + teams?: string[]; + /** @description The list of app `slug`s allowed to bypass pull request requirements. */ + apps?: string[]; + }; + } | null; + /** @description Restrict who can push to the protected branch. User, app, and team `restrictions` are only available for organization-owned repositories. Set to `null` to disable. */ + restrictions: { + /** @description The list of user `login`s with push access */ + users: string[]; + /** @description The list of team `slug`s with push access */ + teams: string[]; + /** @description The list of app `slug`s with push access */ + apps?: string[]; + } | null; + /** @description Enforces a linear commit Git history, which prevents anyone from pushing merge commits to a branch. Set to `true` to enforce a linear commit history. Set to `false` to disable a linear commit Git history. Your repository must allow squash merging or rebase merging before you can enable a linear commit history. Default: `false`. For more information, see "[Requiring a linear commit history](https://docs.github.com/github/administering-a-repository/requiring-a-linear-commit-history)" in the GitHub Help documentation. */ + required_linear_history?: boolean; + /** @description Permits force pushes to the protected branch by anyone with write access to the repository. Set to `true` to allow force pushes. Set to `false` or `null` to block force pushes. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://docs.github.com/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation." */ + allow_force_pushes?: boolean | null; + /** @description Allows deletion of the protected branch by anyone with write access to the repository. Set to `false` to prevent deletion of the protected branch. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://docs.github.com/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation. */ + allow_deletions?: boolean; + /** @description If set to `true`, the `restrictions` branch protection settings which limits who can push will also block pushes which create new branches, unless the push is initiated by a user, team, or app which has the ability to push. Set to `true` to restrict new branch creation. Default: `false`. */ + block_creations?: boolean; + /** @description Requires all conversations on code to be resolved before a pull request can be merged into a branch that matches this rule. Set to `false` to disable. Default: `false`. */ + required_conversation_resolution?: boolean; + }; + }; + }; + }; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/delete-branch-protection": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 204: never; + 403: components["responses"]["forbidden"]; + }; + }; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/get-admin-branch-protection": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; }; }; }; }; /** - * **Note:** Accessing this endpoint does not count against your REST API rate limit. + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * **Note:** The `rate` object is deprecated. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object. + * Adding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. */ - "rate-limit/get": { - parameters: {}; + "repos/set-admin-branch-protection": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; responses: { - /** response */ + /** Response */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["rate-limit-overview"]; + "application/json": components["schemas"]["protected-branch-admin-enforced"]; }; }; - 304: components["responses"]["not_modified"]; - 404: components["responses"]["not_found"]; }; }; /** - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Reactions API. We recommend migrating your existing code to use the new delete reactions endpoints. For more information, see this [blog post](https://developer.github.com/changes/2020-02-26-new-delete-reactions-endpoints/). + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), when deleting a [team discussion](https://docs.github.com/rest/reference/teams#discussions) or [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). + * Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. */ - "reactions/delete-legacy": { + "repos/delete-admin-branch-protection": { parameters: { path: { - reaction_id: components["parameters"]["reaction-id"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 410: components["responses"]["gone"]; - 415: components["responses"]["preview_header_missing"]; + 404: components["responses"]["not_found"]; }; }; - /** - * When you pass the `scarlet-witch-preview` media type, requests to get a repository will also return the repository's code of conduct if it can be detected from the repository's code of conduct file. - * - * The `parent` and `source` objects are present when the repository is a fork. `parent` is the repository this repository was forked from, `source` is the ultimate source for the network. - */ - "repos/get": { + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/get-pull-request-review-protection": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["full-repository"]; + "application/json": components["schemas"]["protected-branch-pull-request-review"]; }; }; - 301: components["responses"]["moved_permanently"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; }; }; - /** - * Deleting a repository requires admin access. If OAuth is used, the `delete_repo` scope is required. - * - * If an organization owner has configured the organization to prevent members from deleting organization-owned - * repositories, you will get a `403 Forbidden` response. - */ - "repos/delete": { + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/delete-pull-request-review-protection": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; - /** If an organization owner has configured the organization to prevent members from deleting organization-owned repositories, a member will get this response: */ - 403: { - content: { - "application/json": { - message?: string; - documentation_url?: string; - }; - }; - }; 404: components["responses"]["not_found"]; }; }; - /** **Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/reference/repos#replace-all-repository-topics) endpoint. */ - "repos/update": { + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + * + * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. + */ + "repos/update-pull-request-review-protection": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["full-repository"]; + "application/json": components["schemas"]["protected-branch-pull-request-review"]; }; }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - /** The name of the repository. */ - name?: string; - /** A short description of the repository. */ - description?: string; - /** A URL with more information about the repository. */ - homepage?: string; - /** - * Either `true` to make the repository private or `false` to make it public. Default: `false`. - * **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://help.github.com/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private. **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://help.github.com/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private. - */ - private?: boolean; - /** Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`. The `visibility` parameter overrides the `private` parameter when you use both along with the `nebula-preview` preview header. */ - visibility?: "public" | "private" | "visibility" | "internal"; - /** Either `true` to enable issues for this repository or `false` to disable them. */ - has_issues?: boolean; - /** Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. */ - has_projects?: boolean; - /** Either `true` to enable the wiki for this repository or `false` to disable it. */ - has_wiki?: boolean; - /** Either `true` to make this repo available as a template repository or `false` to prevent it. */ - is_template?: boolean; - /** Updates the default branch for this repository. */ - default_branch?: string; - /** Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. */ - allow_squash_merge?: boolean; - /** Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. */ - allow_merge_commit?: boolean; - /** Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. */ - allow_rebase_merge?: boolean; - /** Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. */ - delete_branch_on_merge?: boolean; - /** `true` to archive this repository. **Note**: You cannot unarchive repositories through the API. */ - archived?: boolean; + /** @description Specify which users, teams, and apps can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories. */ + dismissal_restrictions?: { + /** @description The list of user `login`s with dismissal access */ + users?: string[]; + /** @description The list of team `slug`s with dismissal access */ + teams?: string[]; + /** @description The list of app `slug`s with dismissal access */ + apps?: string[]; + }; + /** @description Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. */ + dismiss_stale_reviews?: boolean; + /** @description Blocks merging pull requests until [code owners](https://docs.github.com/articles/about-code-owners/) have reviewed. */ + require_code_owner_reviews?: boolean; + /** @description Specifies the number of reviewers required to approve pull requests. Use a number between 1 and 6 or 0 to not require reviewers. */ + required_approving_review_count?: number; + /** @description Allow specific users, teams, or apps to bypass pull request requirements. */ + bypass_pull_request_allowances?: { + /** @description The list of user `login`s allowed to bypass pull request requirements. */ + users?: string[]; + /** @description The list of team `slug`s allowed to bypass pull request requirements. */ + teams?: string[]; + /** @description The list of app `slug`s allowed to bypass pull request requirements. */ + apps?: string[]; + }; }; }; }; }; - /** Lists all artifacts for a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ - "actions/list-artifacts-for-repo": { + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of `true` indicates you must sign commits on this branch. For more information, see [Signing commits with GPG](https://docs.github.com/articles/signing-commits-with-gpg) in GitHub Help. + * + * **Note**: You must enable branch protection to require signed commits. + */ + "repos/get-commit-signature-protection": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - }; - query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; }; }; responses: { - /** response */ + /** Response */ 200: { - headers: {}; content: { - "application/json": { - total_count: number; - artifacts: components["schemas"]["artifact"][]; - }; + "application/json": components["schemas"]["protected-branch-admin-enforced"]; }; }; + 404: components["responses"]["not_found"]; }; }; - /** Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ - "actions/get-artifact": { + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits. + */ + "repos/create-commit-signature-protection": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** artifact_id parameter */ - artifact_id: components["parameters"]["artifact_id"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["artifact"]; + "application/json": components["schemas"]["protected-branch-admin-enforced"]; }; }; + 404: components["responses"]["not_found"]; }; }; - /** Deletes an artifact for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ - "actions/delete-artifact": { + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits. + */ + "repos/delete-commit-signature-protection": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** artifact_id parameter */ - artifact_id: components["parameters"]["artifact_id"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; + 404: components["responses"]["not_found"]; }; }; - /** - * Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in - * the response header to find the URL for the download. The `:archive_format` must be `zip`. Anyone with read access to - * the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. - * GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/download-artifact": { + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/get-status-checks-protection": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** artifact_id parameter */ - artifact_id: components["parameters"]["artifact_id"]; - archive_format: string; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; }; }; responses: { - /** response */ - 302: never; + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["status-check-policy"]; + }; + }; + 404: components["responses"]["not_found"]; }; }; - /** Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ - "actions/get-job-for-workflow-run": { + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/remove-status-check-protection": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** job_id parameter */ - job_id: components["parameters"]["job_id"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; }; }; responses: { - /** response */ - 202: { - content: { - "application/json": components["schemas"]["job"]; - }; - }; + /** Response */ + 204: never; }; }; /** - * Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look - * for `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can - * use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must - * have the `actions:read` permission to use this endpoint. + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. */ - "actions/download-job-logs-for-workflow-run": { + "repos/update-status-check-protection": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** job_id parameter */ - job_id: components["parameters"]["job_id"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; }; }; responses: { - /** response */ - 302: never; + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["status-check-policy"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description Require branches to be up to date before merging. */ + strict?: boolean; + /** + * @deprecated + * @description **Deprecated**: The list of status checks to require in order to merge into this branch. If any of these checks have recently been set by a particular GitHub App, they will be required to come from that app in future for the branch to merge. Use `checks` instead of `contexts` for more fine-grained control. + */ + contexts?: string[]; + /** @description The list of status checks to require in order to merge into this branch. */ + checks?: { + /** @description The name of the required check */ + context: string; + /** @description The ID of the GitHub App that must provide this check. Omit this field to automatically select the GitHub App that has recently provided this check, or any app if it was not set by a GitHub App. Pass -1 to explicitly allow any app to set the status. */ + app_id?: number; + }[]; + }; + }; }; }; - /** - * Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions allowed to run in the repository. - * - * You must authenticate using an access token with the `repo` scope to use this - * endpoint. GitHub Apps must have the `administration` repository permission to use this API. - */ - "actions/get-github-actions-permissions-repository": { + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/get-all-status-check-contexts": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["actions-repository-permissions"]; + "application/json": string[]; }; }; + 404: components["responses"]["not_found"]; }; }; - /** - * Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions in the repository. - * - * If the repository belongs to an organization or enterprise that has set restrictive permissions at the organization or enterprise levels, such as `allowed_actions` to `selected` actions, then you cannot override them for the repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. - */ - "actions/set-github-actions-permissions-repository": { + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/set-status-check-contexts": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; }; }; responses: { - /** Empty response */ - 204: never; + /** Response */ + 200: { + content: { + "application/json": string[]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - enabled: components["schemas"]["actions-enabled"]; - allowed_actions?: components["schemas"]["allowed-actions"]; + /** @description contexts parameter */ + contexts: string[]; }; }; }; }; - /** - * Gets the settings for selected actions that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. - */ - "actions/get-allowed-actions-repository": { + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/add-status-check-contexts": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["selected-actions"]; + "application/json": string[]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description contexts parameter */ + contexts: string[]; }; }; }; }; - /** - * Sets the actions that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." - * - * If the repository belongs to an organization or enterprise that has `selected` actions set at the organization or enterprise levels, then you cannot override any of the allowed actions settings. - * - * To use the `patterns_allowed` setting for private repositories, the repository must belong to an enterprise. If the repository does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. - */ - "actions/set-allowed-actions-repository": { + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/remove-status-check-contexts": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; }; }; responses: { - /** Empty response */ - 204: never; + /** Response */ + 200: { + content: { + "application/json": string[]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; requestBody: { content: { - "application/json": components["schemas"]["selected-actions"]; + "application/json": { + /** @description contexts parameter */ + contexts: string[]; + }; }; }; }; - /** Lists all self-hosted runners configured in a repository. You must authenticate using an access token with the `repo` scope to use this endpoint. */ - "actions/list-self-hosted-runners-for-repo": { + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists who has access to this protected branch. + * + * **Note**: Users, apps, and teams `restrictions` are only available for organization-owned repositories. + */ + "repos/get-access-restrictions": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - }; - query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; }; }; responses: { - /** response */ + /** Response */ 200: { - headers: {}; content: { - "application/json": { - total_count: number; - runners: components["schemas"]["runner"][]; - }; + "application/json": components["schemas"]["branch-restriction-policy"]; }; }; + 404: components["responses"]["not_found"]; }; }; /** - * Lists binaries for the runner application that you can download and run. + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * You must authenticate using an access token with the `repo` scope to use this endpoint. + * Disables the ability to restrict who can push to this branch. */ - "actions/list-runner-applications-for-repo": { + "repos/delete-access-restrictions": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; }; }; responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["runner-application"][]; - }; - }; + /** Response */ + 204: never; }; }; /** - * Returns a token that you can pass to the `config` script. The token expires after one hour. You must authenticate - * using an access token with the `repo` scope to use this endpoint. - * - * #### Example using registration token + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. - * - * ``` - * ./config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN - * ``` + * Lists the GitHub Apps that have push access to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. */ - "actions/create-registration-token-for-repo": { + "repos/get-apps-with-access-to-protected-branch": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; }; }; responses: { - /** response */ - 201: { + /** Response */ + 200: { content: { - "application/json": components["schemas"]["authentication-token"]; + "application/json": components["schemas"]["integration"][]; }; }; + 404: components["responses"]["not_found"]; }; }; /** - * Returns a token that you can pass to remove a self-hosted runner from a repository. The token expires after one hour. - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * - * #### Example using remove token + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * To remove your self-hosted runner from a repository, replace TOKEN with the remove token provided by this endpoint. + * Replaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. * - * ``` - * ./config.sh remove --token TOKEN - * ``` + * | Type | Description | + * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | */ - "actions/create-remove-token-for-repo": { + "repos/set-app-access-restrictions": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; }; }; responses: { - /** response */ - 201: { + /** Response */ + 200: { content: { - "application/json": components["schemas"]["authentication-token"]; + "application/json": components["schemas"]["integration"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description apps parameter */ + apps: string[]; }; }; }; }; /** - * Gets a specific self-hosted runner configured in a repository. + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * You must authenticate using an access token with the `repo` scope to use this - * endpoint. + * Grants the specified apps push access for this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * + * | Type | Description | + * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | */ - "actions/get-self-hosted-runner-for-repo": { + "repos/add-app-access-restrictions": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** Unique identifier of the self-hosted runner. */ - runner_id: components["parameters"]["runner_id"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["runner"]; + "application/json": components["schemas"]["integration"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description apps parameter */ + apps: string[]; }; }; }; }; /** - * Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * You must authenticate using an access token with the `repo` - * scope to use this endpoint. + * Removes the ability of an app to push to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * + * | Type | Description | + * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | */ - "actions/delete-self-hosted-runner-from-repo": { + "repos/remove-app-access-restrictions": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** Unique identifier of the self-hosted runner. */ - runner_id: components["parameters"]["runner_id"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; }; }; responses: { - /** Empty response */ - 204: never; + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["integration"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description apps parameter */ + apps: string[]; + }; + }; }; }; /** - * Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * Lists the teams who have push access to this branch. The list includes child teams. */ - "actions/list-workflow-runs-for-repo": { + "repos/get-teams-with-access-to-protected-branch": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - }; - query: { - /** Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. */ - actor?: components["parameters"]["actor"]; - /** Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */ - branch?: components["parameters"]["workflow-run-branch"]; - /** Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */ - event?: components["parameters"]["event"]; - /** Returns workflow runs associated with the check run `status` or `conclusion` you specify. For example, a conclusion can be `success` or a status can be `completed`. For more information, see the `status` and `conclusion` options available in "[Create a check run](https://docs.github.com/rest/reference/checks#create-a-check-run)." */ - status?: components["parameters"]["workflow-run-status"]; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; }; }; responses: { - /** response */ + /** Response */ 200: { - headers: {}; content: { - "application/json": { - total_count: number; - workflow_runs: components["schemas"]["workflow-run"][]; - }; + "application/json": components["schemas"]["team"][]; }; }; + 404: components["responses"]["not_found"]; }; }; - /** Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ - "actions/get-workflow-run": { + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams. + * + * | Type | Description | + * | ------- | ------------------------------------------------------------------------------------------------------------------------------------------ | + * | `array` | The teams that can have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + "repos/set-team-access-restrictions": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["workflow-run"]; + "application/json": components["schemas"]["team"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description teams parameter */ + teams: string[]; }; }; }; }; /** - * Delete a specific workflow run. Anyone with write access to the repository can use this endpoint. If the repository is - * private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:write` permission to use - * this endpoint. + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified teams push access for this branch. You can also give push access to child teams. + * + * | Type | Description | + * | ------- | ------------------------------------------------------------------------------------------------------------------------------------------ | + * | `array` | The teams that can have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | */ - "actions/delete-workflow-run": { + "repos/add-team-access-restrictions": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; }; }; responses: { - /** Empty response */ - 204: never; + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description teams parameter */ + teams: string[]; + }; + }; }; }; - /** Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ - "actions/list-workflow-run-artifacts": { + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a team to push to this branch. You can also remove push access for child teams. + * + * | Type | Description | + * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Teams that should no longer have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + "repos/remove-team-access-restrictions": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; }; }; responses: { - /** response */ + /** Response */ 200: { - headers: {}; content: { - "application/json": { - total_count: number; - artifacts: components["schemas"]["artifact"][]; - }; + "application/json": components["schemas"]["team"][]; }; }; + 422: components["responses"]["validation_failed"]; }; - }; - /** Cancels a workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ - "actions/cancel-workflow-run": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; + requestBody: { + content: { + "application/json": { + /** @description teams parameter */ + teams: string[]; + }; }; }; - responses: { - /** response */ - 202: unknown; - }; }; - /** Lists jobs for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). */ - "actions/list-jobs-for-workflow-run": { + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the people who have push access to this branch. + */ + "repos/get-users-with-access-to-protected-branch": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - query: { - /** - * Filters jobs by their `completed_at` timestamp. Can be one of: - * \* `latest`: Returns jobs from the most recent execution of the workflow run. - * \* `all`: Returns all jobs for a workflow run, including from old executions of the workflow run. - */ - filter?: "latest" | "all"; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; }; }; responses: { - /** response */ + /** Response */ 200: { - headers: {}; content: { - "application/json": { - total_count: number; - jobs: components["schemas"]["job"][]; - }; + "application/json": components["schemas"]["simple-user"][]; }; }; + 404: components["responses"]["not_found"]; }; }; /** - * Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for - * `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use - * this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have - * the `actions:read` permission to use this endpoint. + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | */ - "actions/download-workflow-run-logs": { + "repos/set-user-access-restrictions": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; }; }; responses: { - /** response */ - 302: never; - }; - }; - /** Deletes all logs for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ - "actions/delete-workflow-run-logs": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["simple-user"][]; + }; }; + 422: components["responses"]["validation_failed"]; }; - responses: { - /** Empty response */ - 204: never; + requestBody: { + content: { + "application/json": { + /** @description users parameter */ + users: string[]; + }; + }; }; }; - /** Re-runs your workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ - "actions/re-run-workflow": { + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified people push access for this branch. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + "repos/add-user-access-restrictions": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; }; }; responses: { - /** response */ - 201: unknown; + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description users parameter */ + users: string[]; + }; + }; }; }; /** - * Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * Removes the ability of a user to push to this branch. + * + * | Type | Description | + * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames of the people who should no longer have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | */ - "actions/get-workflow-run-usage": { + "repos/remove-user-access-restrictions": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["workflow-run-usage"]; + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description users parameter */ + users: string[]; }; }; }; }; - /** Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ - "actions/list-repo-secrets": { + /** + * Renames a branch in a repository. + * + * **Note:** Although the API responds immediately, the branch rename process might take some extra time to complete in the background. You won't be able to push to the old branch name while the rename process is in progress. For more information, see "[Renaming a branch](https://docs.github.com/github/administering-a-repository/renaming-a-branch)". + * + * The permissions required to use this endpoint depends on whether you are renaming the default branch. + * + * To rename a non-default branch: + * + * * Users must have push access. + * * GitHub Apps must have the `contents:write` repository permission. + * + * To rename the default branch: + * + * * Users must have admin or owner permissions. + * * GitHub Apps must have the `administration:write` repository permission. + */ + "repos/rename-branch": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - }; - query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; }; }; responses: { - /** response */ - 200: { - headers: {}; + /** Response */ + 201: { content: { - "application/json": { - total_count: number; - secrets: components["schemas"]["actions-secret"][]; - }; + "application/json": components["schemas"]["branch-with-protection"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The new name of the branch. */ + new_name: string; }; }; }; }; - /** Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ - "actions/get-repo-public-key": { + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Creates a new check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to create check runs. + * + * In a check suite, GitHub limits the number of check runs with the same name to 1000. Once these check runs exceed 1000, GitHub will start to automatically delete older check runs. + */ + "checks/create": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; }; }; responses: { - /** response */ - 200: { + /** Response */ + 201: { content: { - "application/json": components["schemas"]["actions-public-key"]; + "application/json": components["schemas"]["check-run"]; + }; + }; + }; + requestBody: { + content: { + "application/json": ( + | ({ + /** @enum {undefined} */ + status: "completed"; + } & { + conclusion: unknown; + } & { [key: string]: unknown }) + | ({ + /** @enum {undefined} */ + status?: "queued" | "in_progress"; + } & { [key: string]: unknown }) + ) & { + /** @description The name of the check. For example, "code-coverage". */ + name: string; + /** @description The SHA of the commit. */ + head_sha: string; + /** @description The URL of the integrator's site that has the full details of the check. If the integrator does not provide this, then the homepage of the GitHub app is used. */ + details_url?: string; + /** @description A reference for the run on the integrator's system. */ + external_id?: string; + /** + * @description The current status. + * @default queued + * @enum {string} + */ + status?: "queued" | "in_progress" | "completed"; + /** + * Format: date-time + * @description The time that the check run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at?: string; + /** + * @description **Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. + * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. You cannot change a check run conclusion to `stale`, only GitHub can set this. + * @enum {string} + */ + conclusion?: + | "action_required" + | "cancelled" + | "failure" + | "neutral" + | "success" + | "skipped" + | "stale" + | "timed_out"; + /** + * Format: date-time + * @description The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + completed_at?: string; + /** @description Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. See the [`output` object](https://docs.github.com/rest/reference/checks#output-object) description. */ + output?: { + /** @description The title of the check run. */ + title: string; + /** @description The summary of the check run. This parameter supports Markdown. */ + summary: string; + /** @description The details of the check run. This parameter supports Markdown. */ + text?: string; + /** @description Adds information from your analysis to specific lines of code. Annotations are visible on GitHub in the **Checks** and **Files changed** tab of the pull request. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/rest/reference/checks#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. For details about how you can view annotations on GitHub, see "[About status checks](https://docs.github.com/articles/about-status-checks#checks)". See the [`annotations` object](https://docs.github.com/rest/reference/checks#annotations-object) description for details about how to use this parameter. */ + annotations?: { + /** @description The path of the file to add an annotation to. For example, `assets/css/main.css`. */ + path: string; + /** @description The start line of the annotation. */ + start_line: number; + /** @description The end line of the annotation. */ + end_line: number; + /** @description The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. */ + start_column?: number; + /** @description The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. */ + end_column?: number; + /** + * @description The level of the annotation. + * @enum {string} + */ + annotation_level: "notice" | "warning" | "failure"; + /** @description A short description of the feedback for these lines of code. The maximum size is 64 KB. */ + message: string; + /** @description The title that represents the annotation. The maximum size is 255 characters. */ + title?: string; + /** @description Details about this annotation. The maximum size is 64 KB. */ + raw_details?: string; + }[]; + /** @description Adds images to the output displayed in the GitHub pull request UI. See the [`images` object](https://docs.github.com/rest/reference/checks#images-object) description for details. */ + images?: { + /** @description The alternative text for the image. */ + alt: string; + /** @description The full URL of the image. */ + image_url: string; + /** @description A short image description. */ + caption?: string; + }[]; + }; + /** @description Displays a button on GitHub that can be clicked to alert your app to do additional tasks. For example, a code linting app can display a button that automatically fixes detected errors. The button created in this object is displayed after the check run completes. When a user clicks the button, GitHub sends the [`check_run.requested_action` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) to your app. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. See the [`actions` object](https://docs.github.com/rest/reference/checks#actions-object) description. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://docs.github.com/rest/reference/checks#check-runs-and-requested-actions)." */ + actions?: { + /** @description The text to be displayed on a button in the web UI. The maximum size is 20 characters. */ + label: string; + /** @description A short explanation of what this action would do. The maximum size is 40 characters. */ + description: string; + /** @description A reference for the action on the integrator's system. The maximum size is 20 characters. */ + identifier: string; + }[]; }; }; }; }; - /** Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ - "actions/get-repo-secret": { + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Gets a single check run using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. + */ + "checks/get": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** secret_name parameter */ - secret_name: components["parameters"]["secret_name"]; + /** The unique identifier of the check run. */ + check_run_id: components["parameters"]["check-run-id"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["actions-secret"]; + "application/json": components["schemas"]["check-run"]; }; }; }; }; /** - * Creates or updates a repository secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access - * token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use - * this endpoint. - * - * #### Example encrypting a secret using Node.js - * - * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. - * - * ``` - * const sodium = require('tweetsodium'); - * - * const key = "base64-encoded-public-key"; - * const value = "plain-text-secret"; - * - * // Convert the message and key to Uint8Array's (Buffer implements that interface) - * const messageBytes = Buffer.from(value); - * const keyBytes = Buffer.from(key, 'base64'); - * - * // Encrypt using LibSodium. - * const encryptedBytes = sodium.seal(messageBytes, keyBytes); - * - * // Base64 the encrypted secret - * const encrypted = Buffer.from(encryptedBytes).toString('base64'); - * - * console.log(encrypted); - * ``` - * - * - * #### Example encrypting a secret using Python - * - * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/stable/public/#nacl-public-sealedbox) with Python 3. - * - * ``` - * from base64 import b64encode - * from nacl import encoding, public - * - * def encrypt(public_key: str, secret_value: str) -> str: - * """Encrypt a Unicode string using the public key.""" - * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) - * sealed_box = public.SealedBox(public_key) - * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) - * return b64encode(encrypted).decode("utf-8") - * ``` - * - * #### Example encrypting a secret using C# - * - * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. - * - * ``` - * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); - * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); - * - * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); - * - * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); - * ``` - * - * #### Example encrypting a secret using Ruby - * - * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. - * - * ```ruby - * require "rbnacl" - * require "base64" - * - * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") - * public_key = RbNaCl::PublicKey.new(key) - * - * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) - * encrypted_secret = box.encrypt("my_secret") - * - * # Print the base64 encoded secret - * puts Base64.strict_encode64(encrypted_secret) - * ``` + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Updates a check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to edit check runs. */ - "actions/create-or-update-repo-secret": { + "checks/update": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** secret_name parameter */ - secret_name: components["parameters"]["secret_name"]; + /** The unique identifier of the check run. */ + check_run_id: components["parameters"]["check-run-id"]; }; }; responses: { - /** Response when creating a secret */ - 201: unknown; - /** Response when updating a secret */ - 204: never; + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["check-run"]; + }; + }; }; requestBody: { content: { - "application/json": { - /** Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/reference/actions#get-a-repository-public-key) endpoint. */ - encrypted_value?: string; - /** ID of the key you used to encrypt the secret. */ - key_id?: string; + "application/json": (Partial< + { + /** @enum {undefined} */ + status?: "completed"; + } & { + conclusion: unknown; + } & { [key: string]: unknown } + > & + Partial< + { + /** @enum {undefined} */ + status?: "queued" | "in_progress"; + } & { [key: string]: unknown } + >) & { + /** @description The name of the check. For example, "code-coverage". */ + name?: string; + /** @description The URL of the integrator's site that has the full details of the check. */ + details_url?: string; + /** @description A reference for the run on the integrator's system. */ + external_id?: string; + /** + * Format: date-time + * @description This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at?: string; + /** + * @description The current status. + * @enum {string} + */ + status?: "queued" | "in_progress" | "completed"; + /** + * @description **Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. + * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. You cannot change a check run conclusion to `stale`, only GitHub can set this. + * @enum {string} + */ + conclusion?: + | "action_required" + | "cancelled" + | "failure" + | "neutral" + | "success" + | "skipped" + | "stale" + | "timed_out"; + /** + * Format: date-time + * @description The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + completed_at?: string; + /** @description Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. See the [`output` object](https://docs.github.com/rest/reference/checks#output-object-1) description. */ + output?: { + /** @description **Required**. */ + title?: string; + /** @description Can contain Markdown. */ + summary: string; + /** @description Can contain Markdown. */ + text?: string; + /** @description Adds information from your analysis to specific lines of code. Annotations are visible in GitHub's pull request UI. Annotations are visible in GitHub's pull request UI. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/rest/reference/checks#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. For details about annotations in the UI, see "[About status checks](https://docs.github.com/articles/about-status-checks#checks)". See the [`annotations` object](https://docs.github.com/rest/reference/checks#annotations-object-1) description for details. */ + annotations?: { + /** @description The path of the file to add an annotation to. For example, `assets/css/main.css`. */ + path: string; + /** @description The start line of the annotation. */ + start_line: number; + /** @description The end line of the annotation. */ + end_line: number; + /** @description The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. */ + start_column?: number; + /** @description The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. */ + end_column?: number; + /** + * @description The level of the annotation. + * @enum {string} + */ + annotation_level: "notice" | "warning" | "failure"; + /** @description A short description of the feedback for these lines of code. The maximum size is 64 KB. */ + message: string; + /** @description The title that represents the annotation. The maximum size is 255 characters. */ + title?: string; + /** @description Details about this annotation. The maximum size is 64 KB. */ + raw_details?: string; + }[]; + /** @description Adds images to the output displayed in the GitHub pull request UI. See the [`images` object](https://docs.github.com/rest/reference/checks#annotations-object-1) description for details. */ + images?: { + /** @description The alternative text for the image. */ + alt: string; + /** @description The full URL of the image. */ + image_url: string; + /** @description A short image description. */ + caption?: string; + }[]; + }; + /** @description Possible further actions the integrator can perform, which a user may trigger. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. See the [`actions` object](https://docs.github.com/rest/reference/checks#actions-object) description. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://docs.github.com/rest/reference/checks#check-runs-and-requested-actions)." */ + actions?: { + /** @description The text to be displayed on a button in the web UI. The maximum size is 20 characters. */ + label: string; + /** @description A short explanation of what this action would do. The maximum size is 40 characters. */ + description: string; + /** @description A reference for the action on the integrator's system. The maximum size is 20 characters. */ + identifier: string; + }[]; }; }; }; }; - /** Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ - "actions/delete-repo-secret": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** secret_name parameter */ - secret_name: components["parameters"]["secret_name"]; - }; - }; - responses: { - /** Empty response */ - 204: never; - }; - }; - /** Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ - "actions/list-repo-workflows": { + /** Lists annotations for a check run using the annotation `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get annotations for a check run. OAuth Apps and authenticated users must have the `repo` scope to get annotations for a check run in a private repository. */ + "checks/list-annotations": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The unique identifier of the check run. */ + check_run_id: components["parameters"]["check-run-id"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": { - total_count: number; - workflows: components["schemas"]["workflow"][]; - }; + "application/json": components["schemas"]["check-annotation"][]; }; }; }; }; - /** Gets a specific workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ - "actions/get-workflow": { + /** + * Triggers GitHub to rerequest an existing check run, without pushing new code to a repository. This endpoint will trigger the [`check_run` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) event with the action `rerequested`. When a check run is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. + * + * To rerequest a check run, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository. + */ + "checks/rerequest-run": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The ID of the workflow. You can also pass the workflow file name as a string. */ - workflow_id: components["parameters"]["workflow-id"]; + /** The unique identifier of the check run. */ + check_run_id: components["parameters"]["check-run-id"]; }; }; responses: { - /** response */ - 200: { + /** Response */ + 201: { content: { - "application/json": components["schemas"]["workflow"]; + "application/json": { [key: string]: unknown }; + }; + }; + /** Forbidden if the check run is not rerequestable or doesn't belong to the authenticated GitHub App */ + 403: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 404: components["responses"]["not_found"]; + /** Validation error if the check run is not rerequestable */ + 422: { + content: { + "application/json": components["schemas"]["basic-error"]; }; }; }; }; /** - * Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + * By default, check suites are automatically created when you create a [check run](https://docs.github.com/rest/reference/checks#check-runs). You only need to use this endpoint for manually creating check suites when you've disabled automatic creation using "[Update repository preferences for check suites](https://docs.github.com/rest/reference/checks#update-repository-preferences-for-check-suites)". Your GitHub App must have the `checks:write` permission to create check suites. */ - "actions/disable-workflow": { + "checks/create-suite": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The ID of the workflow. You can also pass the workflow file name as a string. */ - workflow_id: components["parameters"]["workflow-id"]; }; }; responses: { - /** Empty response */ - 204: never; + /** Response when the suite already exists */ + 200: { + content: { + "application/json": components["schemas"]["check-suite"]; + }; + }; + /** Response when the suite was created */ + 201: { + content: { + "application/json": components["schemas"]["check-suite"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The sha of the head commit. */ + head_sha: string; + }; + }; }; }; - /** - * You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. - * - * You must configure your GitHub Actions workflow to run when the [`workflow_dispatch` webhook](/developers/webhooks-and-events/webhook-events-and-payloads#workflow_dispatch) event occurs. The `inputs` are configured in the workflow file. For more information about how to configure the `workflow_dispatch` event in the workflow file, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_dispatch)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see "[Creating a personal access token for the command line](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line)." - */ - "actions/create-workflow-dispatch": { + /** Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually [Create a check suite](https://docs.github.com/rest/reference/checks#create-a-check-suite). You must have admin permissions in the repository to set preferences for check suites. */ + "checks/set-suites-preferences": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The ID of the workflow. You can also pass the workflow file name as a string. */ - workflow_id: components["parameters"]["workflow-id"]; }; }; responses: { - /** Empty response */ - 204: never; + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["check-suite-preference"]; + }; + }; }; requestBody: { content: { "application/json": { - /** The git reference for the workflow. The reference can be a branch or tag name. */ - ref: string; - /** Input keys and values configured in the workflow file. The maximum number of properties is 10. Any default properties configured in the workflow file will be used when `inputs` are omitted. */ - inputs?: { [key: string]: string }; + /** @description Enables or disables automatic creation of CheckSuite events upon pushes to the repository. Enabled by default. See the [`auto_trigger_checks` object](https://docs.github.com/rest/reference/checks#auto_trigger_checks-object) description for details. */ + auto_trigger_checks?: { + /** @description The `id` of the GitHub App. */ + app_id: number; + /** + * @description Set to `true` to enable automatic creation of CheckSuite events upon pushes to the repository, or `false` to disable them. + * @default true + */ + setting: boolean; + }[]; }; }; }; }; /** - * Enables a workflow and sets the `state` of the workflow to `active`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + * Gets a single check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository. */ - "actions/enable-workflow": { + "checks/get-suite": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The ID of the workflow. You can also pass the workflow file name as a string. */ - workflow_id: components["parameters"]["workflow-id"]; + /** The unique identifier of the check suite. */ + check_suite_id: components["parameters"]["check-suite-id"]; }; }; responses: { - /** Empty response */ - 204: never; + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["check-suite"]; + }; + }; }; }; /** - * List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. * - * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. + * Lists check runs for a check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. */ - "actions/list-workflow-runs": { + "checks/list-for-suite": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The ID of the workflow. You can also pass the workflow file name as a string. */ - workflow_id: components["parameters"]["workflow-id"]; + /** The unique identifier of the check suite. */ + check_suite_id: components["parameters"]["check-suite-id"]; }; query: { - /** Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. */ - actor?: components["parameters"]["actor"]; - /** Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */ - branch?: components["parameters"]["workflow-run-branch"]; - /** Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */ - event?: components["parameters"]["event"]; - /** Returns workflow runs associated with the check run `status` or `conclusion` you specify. For example, a conclusion can be `success` or a status can be `completed`. For more information, see the `status` and `conclusion` options available in "[Create a check run](https://docs.github.com/rest/reference/checks#create-a-check-run)." */ - status?: components["parameters"]["workflow-run-status"]; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** Returns check runs with the specified `name`. */ + check_name?: components["parameters"]["check-name"]; + /** Returns check runs with the specified `status`. */ + status?: components["parameters"]["status"]; + /** Filters check runs by their `completed_at` timestamp. `latest` returns the most recent check runs. */ + filter?: "latest" | "all"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { "application/json": { total_count: number; - workflow_runs: components["schemas"]["workflow-run"][]; + check_runs: components["schemas"]["check-run"][]; }; }; }; }; }; /** - * Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://docs.github.com/webhooks/event-payloads/#check_suite) event with the action `rerequested`. When a check suite is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. * - * You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * To rerequest a check suite, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository. */ - "actions/get-workflow-usage": { + "checks/rerequest-suite": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The ID of the workflow. You can also pass the workflow file name as a string. */ - workflow_id: components["parameters"]["workflow-id"]; + /** The unique identifier of the check suite. */ + check_suite_id: components["parameters"]["check-suite-id"]; }; }; responses: { - /** response */ - 200: { + /** Response */ + 201: { content: { - "application/json": components["schemas"]["workflow-usage"]; + "application/json": { [key: string]: unknown }; }; }; }; }; - /** Lists the [available assignees](https://help.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository. */ - "issues/list-assignees": { + /** + * Lists all open code scanning alerts for the default branch (usually `main` + * or `master`). You must use an access token with the `security_events` scope to use + * this endpoint with private repos, the `public_repo` scope also grants permission to read + * security events on public repos only. GitHub Apps must have the `security_events` read + * permission to use this endpoint. + * + * The response includes a `most_recent_instance` object. + * This provides details of the most recent instance of this alert + * for the default branch or for the specified Git reference + * (if you used `ref` in the request). + */ + "code-scanning/list-alerts-for-repo": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both. */ + tool_name?: components["parameters"]["tool-name"]; + /** The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */ + tool_guid?: components["parameters"]["tool-guid"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ + ref?: components["parameters"]["git-ref"]; + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** The property by which to sort the results. . `number` is deprecated - we recommend that you use `created` instead. */ + sort?: "created" | "number" | "updated"; + /** Set to `open`, `closed, `fixed`, or `dismissed` to list code scanning alerts in a specific state. */ + state?: components["schemas"]["code-scanning-alert-state"]; }; }; responses: { - /** response */ + /** Response */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["simple-user"][]; + "application/json": components["schemas"]["code-scanning-alert-items"][]; }; }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["code_scanning_forbidden_read"]; 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; }; }; /** - * Checks if a user has permission to be assigned to an issue in this repository. - * - * If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. + * Gets a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. * - * Otherwise a `404` status code is returned. + * **Deprecation notice**: + * The instances field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The same information can now be retrieved via a GET request to the URL specified by `instances_url`. */ - "issues/check-user-can-be-assigned": { + "code-scanning/get-alert": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - assignee: string; + /** The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + alert_number: components["parameters"]["alert-number"]; }; }; responses: { - /** If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. */ - 204: never; - /** Otherwise a `404` status code is returned. */ - 404: { + /** Response */ + 200: { content: { - "application/json": components["schemas"]["basic-error"]; + "application/json": components["schemas"]["code-scanning-alert"]; }; }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; }; }; - /** Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://help.github.com/en/articles/configuring-automated-security-fixes)". */ - "repos/enable-automated-security-fixes": { + /** Updates the status of a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. */ + "code-scanning/update-alert": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + alert_number: components["parameters"]["alert-number"]; }; }; responses: { - /** Empty response */ - 204: never; + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-alert"]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + requestBody: { + content: { + "application/json": { + state: components["schemas"]["code-scanning-alert-set-state"]; + dismissed_reason?: components["schemas"]["code-scanning-alert-dismissed-reason"]; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + }; + }; }; }; - /** Disables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://help.github.com/en/articles/configuring-automated-security-fixes)". */ - "repos/disable-automated-security-fixes": { + /** + * Lists all instances of the specified code scanning alert. + * You must use an access token with the `security_events` scope to use this endpoint with private repos, + * the `public_repo` scope also grants permission to read security events on public repos only. + * GitHub Apps must have the `security_events` read permission to use this endpoint. + */ + "code-scanning/list-alert-instances": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + alert_number: components["parameters"]["alert-number"]; + }; + query: { + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ + ref?: components["parameters"]["git-ref"]; }; }; responses: { - /** Empty response */ - 204: never; + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-alert-instance"][]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; }; }; - "repos/list-branches": { + /** + * Lists the details of all code scanning analyses for a repository, + * starting with the most recent. + * The response is paginated and you can use the `page` and `per_page` parameters + * to list the analyses you're interested in. + * By default 30 analyses are listed per page. + * + * The `rules_count` field in the response give the number of rules + * that were run in the analysis. + * For very old analyses this data is not available, + * and `0` is returned in this field. + * + * You must use an access token with the `security_events` scope to use this endpoint with private repos, + * the `public_repo` scope also grants permission to read security events on public repos only. + * GitHub Apps must have the `security_events` read permission to use this endpoint. + * + * **Deprecation notice**: + * The `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field. + */ + "code-scanning/list-recent-analyses": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; }; query: { - /** Setting to `true` returns only protected branches. When set to `false`, only unprotected branches are returned. Omitting this parameter returns all branches. */ - protected?: boolean; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both. */ + tool_name?: components["parameters"]["tool-name"]; + /** The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */ + tool_guid?: components["parameters"]["tool-guid"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** The Git reference for the analyses you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ + ref?: components["schemas"]["code-scanning-ref"]; + /** Filter analyses belonging to the same SARIF upload. */ + sarif_id?: components["schemas"]["code-scanning-analysis-sarif-id"]; }; }; responses: { - /** response */ + /** Response */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["short-branch"][]; + "application/json": components["schemas"]["code-scanning-analysis"][]; }; }; + 403: components["responses"]["code_scanning_forbidden_read"]; 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; }; }; - "repos/get-branch": { + /** + * Gets a specified code scanning analysis for a repository. + * You must use an access token with the `security_events` scope to use this endpoint with private repos, + * the `public_repo` scope also grants permission to read security events on public repos only. + * GitHub Apps must have the `security_events` read permission to use this endpoint. + * + * The default JSON response contains fields that describe the analysis. + * This includes the Git reference and commit SHA to which the analysis relates, + * the datetime of the analysis, the name of the code scanning tool, + * and the number of alerts. + * + * The `rules_count` field in the default response give the number of rules + * that were run in the analysis. + * For very old analyses this data is not available, + * and `0` is returned in this field. + * + * If you use the Accept header `application/sarif+json`, + * the response contains the analysis data that was uploaded. + * This is formatted as + * [SARIF version 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html). + */ + "code-scanning/get-analysis": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The name of the branch. */ - branch: components["parameters"]["branch"]; + /** The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation. */ + analysis_id: number; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["branch-with-protection"]; + "application/json": components["schemas"]["code-scanning-analysis"]; + "application/json+sarif": { [key: string]: unknown }; }; }; + 403: components["responses"]["code_scanning_forbidden_read"]; 404: components["responses"]["not_found"]; - 415: components["responses"]["preview_header_missing"]; + 503: components["responses"]["service_unavailable"]; }; }; - /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ - "repos/get-branch-protection": { + /** + * Deletes a specified code scanning analysis from a repository. For + * private repositories, you must use an access token with the `repo` scope. For public repositories, + * you must use an access token with `public_repo` scope. + * GitHub Apps must have the `security_events` write permission to use this endpoint. + * + * You can delete one analysis at a time. + * To delete a series of analyses, start with the most recent analysis and work backwards. + * Conceptually, the process is similar to the undo function in a text editor. + * + * When you list the analyses for a repository, + * one or more will be identified as deletable in the response: + * + * ``` + * "deletable": true + * ``` + * + * An analysis is deletable when it's the most recent in a set of analyses. + * Typically, a repository will have multiple sets of analyses + * for each enabled code scanning tool, + * where a set is determined by a unique combination of analysis values: + * + * * `ref` + * * `tool` + * * `analysis_key` + * * `environment` + * + * If you attempt to delete an analysis that is not the most recent in a set, + * you'll get a 400 response with the message: + * + * ``` + * Analysis specified is not deletable. + * ``` + * + * The response from a successful `DELETE` operation provides you with + * two alternative URLs for deleting the next analysis in the set: + * `next_analysis_url` and `confirm_delete_url`. + * Use the `next_analysis_url` URL if you want to avoid accidentally deleting the final analysis + * in a set. This is a useful option if you want to preserve at least one analysis + * for the specified tool in your repository. + * Use the `confirm_delete_url` URL if you are content to remove all analyses for a tool. + * When you delete the last analysis in a set, the value of `next_analysis_url` and `confirm_delete_url` + * in the 200 response is `null`. + * + * As an example of the deletion process, + * let's imagine that you added a workflow that configured a particular code scanning tool + * to analyze the code in a repository. This tool has added 15 analyses: + * 10 on the default branch, and another 5 on a topic branch. + * You therefore have two separate sets of analyses for this tool. + * You've now decided that you want to remove all of the analyses for the tool. + * To do this you must make 15 separate deletion requests. + * To start, you must find an analysis that's identified as deletable. + * Each set of analyses always has one that's identified as deletable. + * Having found the deletable analysis for one of the two sets, + * delete this analysis and then continue deleting the next analysis in the set until they're all deleted. + * Then repeat the process for the second set. + * The procedure therefore consists of a nested loop: + * + * **Outer loop**: + * * List the analyses for the repository, filtered by tool. + * * Parse this list to find a deletable analysis. If found: + * + * **Inner loop**: + * * Delete the identified analysis. + * * Parse the response for the value of `confirm_delete_url` and, if found, use this in the next iteration. + * + * The above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `confirm_delete_url` value. Alternatively, you could use the `next_analysis_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely. + */ + "code-scanning/delete-analysis": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The name of the branch. */ - branch: components["parameters"]["branch"]; + /** The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation. */ + analysis_id: number; + }; + query: { + /** Allow deletion if the specified analysis is the last in a set. If you attempt to delete the final analysis in a set without setting this parameter to `true`, you'll get a 400 response with the message: `Analysis is last of its type and deletion may result in the loss of historical alert data. Please specify confirm_delete.` */ + confirm_delete?: string | null; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["branch-protection"]; + "application/json": components["schemas"]["code-scanning-analysis-deletion"]; }; }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["code_scanning_forbidden_write"]; 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; }; }; /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint for private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. * - * Protecting a branch requires admin or owner permissions to the repository. + * There are two places where you can upload code scanning results. + * - If you upload to a pull request, for example `--ref refs/pull/42/merge` or `--ref refs/pull/42/head`, then the results appear as alerts in a pull request check. For more information, see "[Triaging code scanning alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)." + * - If you upload to a branch, for example `--ref refs/heads/my-branch`, then the results appear in the **Security** tab for your repository. For more information, see "[Managing code scanning alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)." * - * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. + * You must compress the SARIF-formatted analysis data that you want to upload, using `gzip`, and then encode it as a Base64 format string. For example: * - * **Note**: The list of users, apps, and teams in total is limited to 100 items. + * ``` + * gzip -c analysis-data.sarif | base64 -w0 + * ``` + * + * SARIF upload supports a maximum of 5000 results per analysis run. Any results over this limit are ignored and any SARIF uploads with more than 25,000 results are rejected. Typically, but not necessarily, a SARIF file contains a single run of a single tool. If a code scanning tool generates too many results, you should update the analysis configuration to run only the most important rules or queries. + * + * The `202 Accepted`, response includes an `id` value. + * You can use this ID to check the status of the upload by using this for the `/sarifs/{sarif_id}` endpoint. + * For more information, see "[Get information about a SARIF upload](/rest/reference/code-scanning#get-information-about-a-sarif-upload)." */ - "repos/update-branch-protection": { + "code-scanning/upload-sarif": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The name of the branch. */ - branch: components["parameters"]["branch"]; }; }; responses: { - /** response */ - 200: { + /** Response */ + 202: { content: { - "application/json": components["schemas"]["protected-branch"]; + "application/json": components["schemas"]["code-scanning-sarifs-receipt"]; }; }; - 403: components["responses"]["forbidden"]; + /** Bad Request if the sarif field is invalid */ + 400: unknown; + 403: components["responses"]["code_scanning_forbidden_write"]; 404: components["responses"]["not_found"]; - 415: components["responses"]["preview_header_missing"]; - 422: components["responses"]["validation_failed_simple"]; + /** Payload Too Large if the sarif field is too large */ + 413: unknown; + 503: components["responses"]["service_unavailable"]; }; requestBody: { content: { "application/json": { - /** Require status checks to pass before merging. Set to `null` to disable. */ - required_status_checks: { - /** Require branches to be up to date before merging. */ - strict: boolean; - /** The list of status checks to require in order to merge into this branch */ - contexts: string[]; - } | null; - /** Enforce all configured restrictions for administrators. Set to `true` to enforce required status checks for repository administrators. Set to `null` to disable. */ - enforce_admins: boolean | null; - /** Require at least one approving review on a pull request, before merging. Set to `null` to disable. */ - required_pull_request_reviews: { - /** Specify which users and teams can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories. */ - dismissal_restrictions?: { - /** The list of user `login`s with dismissal access */ - users?: string[]; - /** The list of team `slug`s with dismissal access */ - teams?: string[]; - }; - /** Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. */ - dismiss_stale_reviews?: boolean; - /** Blocks merging pull requests until [code owners](https://help.github.com/articles/about-code-owners/) review them. */ - require_code_owner_reviews?: boolean; - /** Specify the number of reviewers required to approve pull requests. Use a number between 1 and 6. */ - required_approving_review_count?: number; - } | null; - /** Restrict who can push to the protected branch. User, app, and team `restrictions` are only available for organization-owned repositories. Set to `null` to disable. */ - restrictions: { - /** The list of user `login`s with push access */ - users: string[]; - /** The list of team `slug`s with push access */ - teams: string[]; - /** The list of app `slug`s with push access */ - apps?: string[]; - } | null; - /** Enforces a linear commit Git history, which prevents anyone from pushing merge commits to a branch. Set to `true` to enforce a linear commit history. Set to `false` to disable a linear commit Git history. Your repository must allow squash merging or rebase merging before you can enable a linear commit history. Default: `false`. For more information, see "[Requiring a linear commit history](https://help.github.com/github/administering-a-repository/requiring-a-linear-commit-history)" in the GitHub Help documentation. */ - required_linear_history?: boolean; - /** Permits force pushes to the protected branch by anyone with write access to the repository. Set to `true` to allow force pushes. Set to `false` or `null` to block force pushes. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://help.github.com/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation." */ - allow_force_pushes?: boolean | null; - /** Allows deletion of the protected branch by anyone with write access to the repository. Set to `false` to prevent deletion of the protected branch. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://help.github.com/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation. */ - allow_deletions?: boolean; + commit_sha: components["schemas"]["code-scanning-analysis-commit-sha"]; + ref: components["schemas"]["code-scanning-ref"]; + sarif: components["schemas"]["code-scanning-analysis-sarif-file"]; + /** + * Format: uri + * @description The base directory used in the analysis, as it appears in the SARIF file. + * This property is used to convert file paths from absolute to relative, so that alerts can be mapped to their correct location in the repository. + * @example file:///github/workspace/ + */ + checkout_uri?: string; + /** + * Format: date-time + * @description The time that the analysis run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at?: string; + /** @description The name of the tool used to generate the code scanning analysis. If this parameter is not used, the tool name defaults to "API". If the uploaded SARIF contains a tool GUID, this will be available for filtering using the `tool_guid` parameter of operations such as `GET /repos/{owner}/{repo}/code-scanning/alerts`. */ + tool_name?: string; }; }; }; }; - /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ - "repos/delete-branch-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** The name of the branch. */ - branch: components["parameters"]["branch"]; - }; - }; - responses: { - /** Empty response */ - 204: never; - 403: components["responses"]["forbidden"]; - }; - }; - /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ - "repos/get-admin-branch-protection": { + /** Gets information about a SARIF upload, including the status and the URL of the analysis that was uploaded so that you can retrieve details of the analysis. For more information, see "[Get a code scanning analysis for a repository](/rest/reference/code-scanning#get-a-code-scanning-analysis-for-a-repository)." You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. */ + "code-scanning/get-sarif": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The name of the branch. */ - branch: components["parameters"]["branch"]; + /** The SARIF ID obtained after uploading. */ + sarif_id: string; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["protected-branch-admin-enforced"]; + "application/json": components["schemas"]["code-scanning-sarifs-status"]; }; }; + 403: components["responses"]["code_scanning_forbidden_read"]; + /** Not Found if the sarif id does not match any upload */ + 404: unknown; + 503: components["responses"]["service_unavailable"]; }; }; /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * List any syntax errors that are detected in the CODEOWNERS + * file. * - * Adding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + * For more information about the correct CODEOWNERS syntax, + * see "[About code owners](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners)." */ - "repos/set-admin-branch-protection": { + "repos/codeowners-errors": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The name of the branch. */ - branch: components["parameters"]["branch"]; + }; + query: { + /** A branch, tag or commit name used to determine which version of the CODEOWNERS file to use. Default: the repository's default branch (e.g. `main`) */ + ref?: string; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["protected-branch-admin-enforced"]; + "application/json": components["schemas"]["codeowners-errors"]; }; }; + /** Resource not found */ + 404: unknown; }; }; /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Lists the codespaces associated to a specified repository and the authenticated user. * - * Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. */ - "repos/delete-admin-branch-protection": { + "codespaces/list-in-repository-for-authenticated-user": { parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** The name of the branch. */ - branch: components["parameters"]["branch"]; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; - }; - responses: { - /** No Content */ - 204: never; - 404: components["responses"]["not_found"]; - }; - }; - /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ - "repos/get-pull-request-review-protection": { - parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The name of the branch. */ - branch: components["parameters"]["branch"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/vnd.github.luke-cage-preview+json": components["schemas"]["protected-branch-pull-request-review"]; + "application/json": { + total_count: number; + codespaces: components["schemas"]["codespace"][]; + }; }; }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; }; }; - /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ - "repos/delete-pull-request-review-protection": { + /** + * Creates a codespace owned by the authenticated user in the specified repository. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + "codespaces/create-with-repo-for-authenticated-user": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The name of the branch. */ - branch: components["parameters"]["branch"]; }; }; responses: { - /** No Content */ - 204: never; + /** Response when the codespace was successfully created */ + 201: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + /** Response when the codespace creation partially failed but is being retried in the background */ + 202: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; }; + requestBody: { + content: { + "application/json": { + /** @description Git ref (typically a branch name) for this codespace */ + ref?: string; + /** @description Location for this codespace. Assigned by IP if not provided */ + location?: string; + /** @description IP for location auto-detection when proxying a request */ + client_ip?: string; + /** @description Machine type to use for this codespace */ + machine?: string; + /** @description Path to devcontainer.json config to use for this codespace */ + devcontainer_path?: string; + /** @description Whether to authorize requested permissions from devcontainer.json */ + multi_repo_permissions_opt_out?: boolean; + /** @description Working directory for this codespace */ + working_directory?: string; + /** @description Time in minutes before codespace stops from inactivity */ + idle_timeout_minutes?: number; + /** @description Display name for this codespace */ + display_name?: string; + /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ + retention_period_minutes?: number; + } | null; + }; + }; }; /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Lists the devcontainer.json files associated with a specified repository and the authenticated user. These files + * specify launchpoint configurations for codespaces created within the repository. * - * Updating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + * You must authenticate using an access token with the `codespace` scope to use this endpoint. * - * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. + * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. */ - "repos/update-pull-request-review-protection": { + "codespaces/list-devcontainers-in-repository-for-authenticated-user": { parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The name of the branch. */ - branch: components["parameters"]["branch"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["protected-branch-pull-request-review"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - requestBody: { - content: { - "application/json": { - /** Specify which users and teams can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories. */ - dismissal_restrictions?: { - /** The list of user `login`s with dismissal access */ - users?: string[]; - /** The list of team `slug`s with dismissal access */ - teams?: string[]; + "application/json": { + total_count: number; + devcontainers: { + path: string; + name?: string; + }[]; }; - /** Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. */ - dismiss_stale_reviews?: boolean; - /** Blocks merging pull requests until [code owners](https://help.github.com/articles/about-code-owners/) have reviewed. */ - require_code_owner_reviews?: boolean; - /** Specifies the number of reviewers required to approve pull requests. Use a number between 1 and 6. */ - required_approving_review_count?: number; }; }; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; }; }; /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * List the machine types available for a given repository based on its configuration. * - * When authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of `true` indicates you must sign commits on this branch. For more information, see [Signing commits with GPG](https://help.github.com/articles/signing-commits-with-gpg) in GitHub Help. + * You must authenticate using an access token with the `codespace` scope to use this endpoint. * - * **Note**: You must enable branch protection to require signed commits. + * GitHub Apps must have write access to the `codespaces_metadata` repository permission to use this endpoint. */ - "repos/get-commit-signature-protection": { + "codespaces/repo-machines-for-authenticated-user": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The name of the branch. */ - branch: components["parameters"]["branch"]; + }; + query: { + /** The location to check for available machines. Assigned by IP if not provided. */ + location?: string; + /** IP for location auto-detection when proxying a request */ + client_ip?: string; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["protected-branch-admin-enforced"]; + "application/json": { + total_count: number; + machines: components["schemas"]["codespace-machine"][]; + }; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; }; }; /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Gets the default attributes for codespaces created by the user with the repository. * - * When authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits. + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. */ - "repos/create-commit-signature-protection": { + "codespaces/pre-flight-with-repo-for-authenticated-user": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The name of the branch. */ - branch: components["parameters"]["branch"]; + }; + query: { + /** The branch or commit to check for a default devcontainer path. If not specified, the default branch will be checked. */ + ref?: string; + /** An alternative IP for default location auto-detection, such as when proxying a request. */ + client_ip?: string; }; }; responses: { - /** response */ + /** Response when a user is able to create codespaces from the repository. */ 200: { content: { - "application/json": components["schemas"]["protected-branch-admin-enforced"]; + "application/json": { + billable_owner?: components["schemas"]["simple-user"]; + defaults?: { + location: string; + devcontainer_path: string | null; + }; + }; }; }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; }; }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * When authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits. - */ - "repos/delete-commit-signature-protection": { + /** Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `codespaces_secrets` repository permission to use this endpoint. */ + "codespaces/list-repo-secrets": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The name of the branch. */ - branch: components["parameters"]["branch"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** No Content */ - 204: never; - 404: components["responses"]["not_found"]; + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["repo-codespaces-secret"][]; + }; + }; + }; }; }; - /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ - "repos/get-status-checks-protection": { + /** Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `codespaces_secrets` repository permission to use this endpoint. */ + "codespaces/get-repo-public-key": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The name of the branch. */ - branch: components["parameters"]["branch"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["status-check-policy"]; + "application/json": components["schemas"]["codespaces-public-key"]; }; }; - 404: components["responses"]["not_found"]; }; }; - /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ - "repos/remove-status-check-protection": { + /** Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `codespaces_secrets` repository permission to use this endpoint. */ + "codespaces/get-repo-secret": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The name of the branch. */ - branch: components["parameters"]["branch"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; }; }; responses: { - /** No Content */ - 204: never; + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["repo-codespaces-secret"]; + }; + }; }; }; /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `repo` scope to use this endpoint. GitHub Apps must have the `codespaces_secrets` repository + * permission to use this endpoint. * - * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. + * #### Example of encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example of encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example of encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example of encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` */ - "repos/update-status-check-protection": { + "codespaces/create-or-update-repo-secret": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The name of the branch. */ - branch: components["parameters"]["branch"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; }; }; responses: { - /** response */ - 200: { + /** Response when creating a secret */ + 201: { content: { - "application/json": components["schemas"]["status-check-policy"]; + "application/json": { [key: string]: unknown }; }; }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; + /** Response when updating a secret */ + 204: never; }; requestBody: { content: { "application/json": { - /** Require branches to be up to date before merging. */ - strict?: boolean; - /** The list of status checks to require in order to merge into this branch */ - contexts?: string[]; + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/reference/codespaces#get-a-repository-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; }; }; }; }; - /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ - "repos/get-all-status-check-contexts": { + /** Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `codespaces_secrets` repository permission to use this endpoint. */ + "codespaces/delete-repo-secret": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The name of the branch. */ - branch: components["parameters"]["branch"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; }; }; responses: { - /** response */ - 200: { - content: { - "application/json": string[]; - }; - }; - 404: components["responses"]["not_found"]; + /** Response */ + 204: never; }; }; - /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ - "repos/set-status-check-contexts": { + /** + * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * Organization members with write, maintain, or admin privileges on the organization-owned repository can use this endpoint. + * + * Team members will include the members of child teams. + * + * You must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this + * endpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this + * endpoint. + */ + "repos/list-collaborators": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The name of the branch. */ - branch: components["parameters"]["branch"]; + }; + query: { + /** Filter collaborators returned by their affiliation. `outside` means all outside collaborators of an organization-owned repository. `direct` means all collaborators with permissions to an organization-owned repository, regardless of organization membership status. `all` means all collaborators the authenticated user can see. */ + affiliation?: "outside" | "direct" | "all"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { + headers: {}; content: { - "application/json": string[]; + "application/json": components["schemas"]["collaborator"][]; }; }; 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; }; - requestBody: { - content: { - "application/json": { - /** contexts parameter */ - contexts: string[]; - }; + }; + /** + * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * + * Team members will include the members of child teams. + * + * You must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this + * endpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this + * endpoint. + */ + "repos/check-collaborator": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; }; }; + responses: { + /** Response if user is a collaborator */ + 204: never; + /** Not Found if user is not a collaborator */ + 404: unknown; + }; }; - /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ - "repos/add-status-check-contexts": { + /** + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * Adding an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." + * + * For more information on permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". There are restrictions on which permissions can be granted to organization members when an organization base role is in place. In this case, the permission being given must be equal to or higher than the org base permission. Otherwise, the request will fail with: + * + * ``` + * Cannot assign {member} permission of {role name} + * ``` + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * + * The invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the [repository invitations API endpoints](https://docs.github.com/rest/reference/repos#invitations). + * + * **Updating an existing collaborator's permission level** + * + * The endpoint can also be used to change the permissions of an existing collaborator without first removing and re-adding the collaborator. To change the permissions, use the same endpoint and pass a different `permission` parameter. The response will be a `204`, with no other indication that the permission level changed. + * + * **Rate limits** + * + * You are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository. + */ + "repos/add-collaborator": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The name of the branch. */ - branch: components["parameters"]["branch"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; }; }; responses: { - /** response */ - 200: { + /** Response when a new invitation is created */ + 201: { content: { - "application/json": string[]; + "application/json": components["schemas"]["repository-invitation"]; }; }; + /** + * Response when: + * - an existing collaborator is added as a collaborator + * - an organization member is added as an individual collaborator + * - an existing team member (whose team is also a repository collaborator) is added as an individual collaborator + */ + 204: never; 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - /** contexts parameter */ - contexts: string[]; + /** + * @description The permission to grant the collaborator. **Only valid on organization-owned repositories.** In addition to the enumerated values, you can also specify a custom repository role name, if the owning organization has defined any. + * @default push + * @enum {string} + */ + permission?: "pull" | "push" | "admin" | "maintain" | "triage"; }; }; }; }; - /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ - "repos/remove-status-check-contexts": { + "repos/remove-collaborator": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The name of the branch. */ - branch: components["parameters"]["branch"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; }; }; responses: { - /** response */ - 200: { - content: { - "application/json": string[]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - requestBody: { - content: { - "application/json": { - /** contexts parameter */ - contexts: string[]; - }; - }; + /** Response */ + 204: never; }; }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists who has access to this protected branch. - * - * **Note**: Users, apps, and teams `restrictions` are only available for organization-owned repositories. - */ - "repos/get-access-restrictions": { + /** Checks the repository permission of a collaborator. The possible repository permissions are `admin`, `write`, `read`, and `none`. */ + "repos/get-collaborator-permission-level": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** The name of the branch. */ - branch: components["parameters"]["branch"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; }; }; responses: { - /** response */ + /** if user has admin permissions */ 200: { content: { - "application/json": components["schemas"]["branch-restriction-policy"]; + "application/json": components["schemas"]["repository-collaborator-permission"]; }; }; 404: components["responses"]["not_found"]; }; }; /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Commit Comments use [these custom media types](https://docs.github.com/rest/reference/repos#custom-media-types). You can read more about the use of media types in the API [here](https://docs.github.com/rest/overview/media-types/). * - * Disables the ability to restrict who can push to this branch. + * Comments are ordered by ascending ID. */ - "repos/delete-access-restrictions": { + "repos/list-commit-comments-for-repo": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The name of the branch. */ - branch: components["parameters"]["branch"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** No Content */ - 204: never; + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["commit-comment"][]; + }; + }; }; }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists the GitHub Apps that have push access to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. - */ - "repos/get-apps-with-access-to-protected-branch": { + "repos/get-commit-comment": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The name of the branch. */ - branch: components["parameters"]["branch"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["integration"][]; + "application/json": components["schemas"]["commit-comment"]; }; }; 404: components["responses"]["not_found"]; }; }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Replaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. - * - * | Type | Description | - * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | - * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | - */ - "repos/set-app-access-restrictions": { + "repos/delete-commit-comment": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The name of the branch. */ - branch: components["parameters"]["branch"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; }; }; responses: { - /** response */ + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + "repos/update-commit-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ 200: { content: { - "application/json": components["schemas"]["integration"][]; + "application/json": components["schemas"]["commit-comment"]; }; }; - 422: components["responses"]["validation_failed"]; + 404: components["responses"]["not_found"]; }; requestBody: { content: { "application/json": { - /** apps parameter */ - apps: string[]; + /** @description The contents of the comment */ + body: string; }; }; }; }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Grants the specified apps push access for this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. - * - * | Type | Description | - * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | - * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | - */ - "repos/add-app-access-restrictions": { + /** List the reactions to a [commit comment](https://docs.github.com/rest/reference/repos#comments). */ + "reactions/list-for-commit-comment": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The name of the branch. */ - branch: components["parameters"]["branch"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + query: { + /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a commit comment. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { + headers: {}; content: { - "application/json": components["schemas"]["integration"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - requestBody: { - content: { - "application/json": { - /** apps parameter */ - apps: string[]; + "application/json": components["schemas"]["reaction"][]; }; }; + 404: components["responses"]["not_found"]; }; }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Removes the ability of an app to push to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. - * - * | Type | Description | - * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | - * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | - */ - "repos/remove-app-access-restrictions": { + /** Create a reaction to a [commit comment](https://docs.github.com/rest/reference/repos#comments). A response with an HTTP `200` status means that you already added the reaction type to this commit comment. */ + "reactions/create-for-commit-comment": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The name of the branch. */ - branch: components["parameters"]["branch"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; }; }; responses: { - /** response */ + /** Reaction exists */ 200: { content: { - "application/json": components["schemas"]["integration"][]; + "application/json": components["schemas"]["reaction"]; + }; + }; + /** Reaction created */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; }; }; 422: components["responses"]["validation_failed"]; @@ -18519,1256 +33932,1689 @@ export interface operations { requestBody: { content: { "application/json": { - /** apps parameter */ - apps: string[]; + /** + * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the commit comment. + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; }; }; }; }; /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/comments/:comment_id/reactions/:reaction_id`. * - * Lists the teams who have push access to this branch. The list includes child teams. + * Delete a reaction to a [commit comment](https://docs.github.com/rest/reference/repos#comments). */ - "repos/get-teams-with-access-to-protected-branch": { + "reactions/delete-for-commit-comment": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The name of the branch. */ - branch: components["parameters"]["branch"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + /** The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; }; }; responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["team"][]; - }; - }; - 404: components["responses"]["not_found"]; + /** Response */ + 204: never; }; }; /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * **Signature verification object** * - * Replaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams. + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: * - * | Type | Description | - * | ------- | ------------------------------------------------------------------------------------------------------------------------------------------ | - * | `array` | The teams that can have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | */ - "repos/set-team-access-restrictions": { + "repos/list-commits": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The name of the branch. */ - branch: components["parameters"]["branch"]; + }; + query: { + /** SHA or branch to start listing commits from. Default: the repository’s default branch (usually `master`). */ + sha?: string; + /** Only commits containing this file path will be returned. */ + path?: string; + /** GitHub login or email address by which to filter by commit author. */ + author?: string; + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** Only commits before this date will be returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + until?: string; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { + headers: {}; content: { - "application/json": components["schemas"]["team"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - requestBody: { - content: { - "application/json": { - /** teams parameter */ - teams: string[]; + "application/json": components["schemas"]["commit"][]; }; }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 500: components["responses"]["internal_error"]; }; }; /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Grants the specified teams push access for this branch. You can also give push access to child teams. + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * | Type | Description | - * | ------- | ------------------------------------------------------------------------------------------------------------------------------------------ | - * | `array` | The teams that can have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + * Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch. */ - "repos/add-team-access-restrictions": { + "repos/list-branches-for-head-commit": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The name of the branch. */ - branch: components["parameters"]["branch"]; + /** The SHA of the commit. */ + commit_sha: components["parameters"]["commit-sha"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["team"][]; + "application/json": components["schemas"]["branch-short"][]; }; }; 422: components["responses"]["validation_failed"]; }; - requestBody: { - content: { - "application/json": { - /** teams parameter */ - teams: string[]; + }; + /** Use the `:commit_sha` to specify the commit that will have its comments listed. */ + "repos/list-comments-for-commit": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The SHA of the commit. */ + commit_sha: components["parameters"]["commit-sha"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["commit-comment"][]; }; }; }; }; /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Removes the ability of a team to push to this branch. You can also remove push access for child teams. + * Create a comment for a commit using its `:commit_sha`. * - * | Type | Description | - * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | - * | `array` | Teams that should no longer have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ - "repos/remove-team-access-restrictions": { + "repos/create-commit-comment": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The name of the branch. */ - branch: components["parameters"]["branch"]; + /** The SHA of the commit. */ + commit_sha: components["parameters"]["commit-sha"]; }; }; responses: { - /** response */ - 200: { + /** Response */ + 201: { + headers: { + Location?: string; + }; content: { - "application/json": components["schemas"]["team"][]; + "application/json": components["schemas"]["commit-comment"]; }; }; + 403: components["responses"]["forbidden"]; 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - /** teams parameter */ - teams: string[]; + /** @description The contents of the comment. */ + body: string; + /** @description Relative path of the file to comment on. */ + path?: string; + /** @description Line index in the diff to comment on. */ + position?: number; + /** @description **Deprecated**. Use **position** parameter instead. Line number in the file to comment on. */ + line?: number; }; }; }; }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists the people who have push access to this branch. - */ - "repos/get-users-with-access-to-protected-branch": { + /** Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, additionally returns open pull requests associated with the commit. The results may include open and closed pull requests. */ + "repos/list-pull-requests-associated-with-commit": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The name of the branch. */ - branch: components["parameters"]["branch"]; + /** The SHA of the commit. */ + commit_sha: components["parameters"]["commit-sha"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { + headers: {}; content: { - "application/json": components["schemas"]["simple-user"][]; + "application/json": components["schemas"]["pull-request-simple"][]; }; }; - 404: components["responses"]["not_found"]; }; }; /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint. * - * Replaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people. + * **Note:** If there are more than 300 files in the commit diff, the response will include pagination link headers for the remaining files, up to a limit of 3000 files. Each page contains the static commit information, and the only changes are to the file listing. * - * | Type | Description | - * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | - * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + * You can pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch `diff` and `patch` formats. Diffs with binary data will have no `patch` property. + * + * To return only the SHA-1 hash of the commit reference, you can provide the `sha` custom [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) in the `Accept` header. You can use this endpoint to check if a remote reference's SHA-1 hash is the same as your local reference's SHA-1 hash by providing the local SHA-1 reference as the ETag. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | */ - "repos/set-user-access-restrictions": { + "repos/get-commit": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The name of the branch. */ - branch: components["parameters"]["branch"]; + /** ref parameter */ + ref: string; + }; + query: { + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["simple-user"][]; + "application/json": components["schemas"]["commit"]; }; }; + 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; - }; - requestBody: { - content: { - "application/json": { - /** users parameter */ - users: string[]; - }; - }; + 500: components["responses"]["internal_error"]; }; }; /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Grants the specified people push access for this branch. + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. * - * | Type | Description | - * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | - * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + * Lists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. */ - "repos/add-user-access-restrictions": { + "checks/list-for-ref": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The name of the branch. */ - branch: components["parameters"]["branch"]; + /** ref parameter */ + ref: string; + }; + query: { + /** Returns check runs with the specified `name`. */ + check_name?: components["parameters"]["check-name"]; + /** Returns check runs with the specified `status`. */ + status?: components["parameters"]["status"]; + /** Filters check runs by their `completed_at` timestamp. `latest` returns the most recent check runs. */ + filter?: "latest" | "all"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + app_id?: number; }; }; responses: { - /** response */ + /** Response */ 200: { + headers: {}; content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - requestBody: { - content: { - "application/json": { - /** users parameter */ - users: string[]; + "application/json": { + total_count: number; + check_runs: components["schemas"]["check-run"][]; + }; }; }; }; }; /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Removes the ability of a user to push to this branch. + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. * - * | Type | Description | - * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- | - * | `array` | Usernames of the people who should no longer have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + * Lists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to list check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository. */ - "repos/remove-user-access-restrictions": { + "checks/list-suites-for-ref": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The name of the branch. */ - branch: components["parameters"]["branch"]; + /** ref parameter */ + ref: string; + }; + query: { + /** Filters check suites by GitHub App `id`. */ + app_id?: number; + /** Returns check runs with the specified `name`. */ + check_name?: components["parameters"]["check-name"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { + headers: {}; content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - requestBody: { - content: { - "application/json": { - /** users parameter */ - users: string[]; + "application/json": { + total_count: number; + check_suites: components["schemas"]["check-suite"][]; + }; }; }; }; }; /** - * Renames a branch in a repository. - * - * **Note:** Although the API responds immediately, the branch rename process might take some extra time to complete in the background. You won't be able to push to the old branch name while the rename process is in progress. For more information, see "[Renaming a branch](https://docs.github.com/github/administering-a-repository/renaming-a-branch)". - * - * The permissions required to use this endpoint depends on whether you are renaming the default branch. - * - * To rename a non-default branch: + * Users with pull access in a repository can access a combined view of commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. * - * * Users must have push access. - * * GitHub Apps must have the `contents:write` repository permission. * - * To rename the default branch: + * Additionally, a combined `state` is returned. The `state` is one of: * - * * Users must have admin or owner permissions. - * * GitHub Apps must have the `administration:write` repository permission. + * * **failure** if any of the contexts report as `error` or `failure` + * * **pending** if there are no statuses or a context is `pending` + * * **success** if the latest status for all contexts is `success` */ - "repos/rename-branch": { + "repos/get-combined-status-for-ref": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The name of the branch. */ - branch: components["parameters"]["branch"]; + /** ref parameter */ + ref: string; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** response */ - 201: { + /** Response */ + 200: { content: { - "application/json": components["schemas"]["branch-with-protection"]; + "application/json": components["schemas"]["combined-commit-status"]; }; }; - 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - requestBody: { - content: { - "application/json": { - /** The new name of the branch. */ - new_name: string; - }; - }; }; }; /** - * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Creates a new check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to create check runs. + * Users with pull access in a repository can view commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. Statuses are returned in reverse chronological order. The first status in the list will be the latest one. * - * In a check suite, GitHub limits the number of check runs with the same name to 1000. Once these check runs exceed 1000, GitHub will start to automatically delete older check runs. + * This resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`. */ - "checks/create": { + "repos/list-commit-statuses-for-ref": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** ref parameter */ + ref: string; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** response */ - 201: { + /** Response */ + 200: { + headers: {}; content: { - "application/json": components["schemas"]["check-run"]; + "application/json": components["schemas"]["status"][]; }; }; - }; - requestBody: { - content: { - "application/json": Partial< - { - status?: "completed"; - } & { [key: string]: any } - > & - Partial< - { - status?: "queued" | "in_progress"; - } & { [key: string]: any } - >; - }; + 301: components["responses"]["moved_permanently"]; }; }; /** - * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * This endpoint will return all community profile metrics, including an + * overall health score, repository description, the presence of documentation, detected + * code of conduct, detected license, and the presence of ISSUE\_TEMPLATE, PULL\_REQUEST\_TEMPLATE, + * README, and CONTRIBUTING files. * - * Gets a single check run using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. + * The `health_percentage` score is defined as a percentage of how many of + * these four documents are present: README, CONTRIBUTING, LICENSE, and + * CODE_OF_CONDUCT. For example, if all four documents are present, then + * the `health_percentage` is `100`. If only one is present, then the + * `health_percentage` is `25`. + * + * `content_reports_enabled` is only returned for organization-owned repositories. */ - "checks/get": { + "repos/get-community-profile-metrics": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** check_run_id parameter */ - check_run_id: components["parameters"]["check_run_id"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["check-run"]; + "application/json": components["schemas"]["community-profile"]; }; }; }; }; /** - * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * The `basehead` param is comprised of two parts: `base` and `head`. Both must be branch names in `repo`. To compare branches across other repositories in the same network as `repo`, use the format `:branch`. * - * Updates a check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to edit check runs. + * The response from the API is equivalent to running the `git log base..head` command; however, commits are returned in chronological order. Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + * + * The response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. + * + * **Working with large comparisons** + * + * To process a response with a large number of commits, you can use (`per_page` or `page`) to paginate the results. When using paging, the list of changed files is only returned with page 1, but includes all changed files for the entire comparison. For more information on working with pagination, see "[Traversing with pagination](/rest/guides/traversing-with-pagination)." + * + * When calling this API without any paging parameters (`per_page` or `page`), the returned list is limited to 250 commits and the last commit in the list is the most recent of the entire comparison. When a paging parameter is specified, the first commit in the returned list of each page is the earliest. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | */ - "checks/update": { + "repos/compare-commits-with-basehead": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** check_run_id parameter */ - check_run_id: components["parameters"]["check_run_id"]; + /** The base branch and head branch to compare. This parameter expects the format `{base}...{head}`. */ + basehead: string; + }; + query: { + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["check-run"]; + "application/json": components["schemas"]["commit-comparison"]; }; }; - }; - requestBody: { - content: { - "application/json": Partial< - { - status?: "completed"; - } & { [key: string]: any } - > & - Partial< - { - status?: "queued" | "in_progress"; - } & { [key: string]: any } - >; - }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; }; }; - /** Lists annotations for a check run using the annotation `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get annotations for a check run. OAuth Apps and authenticated users must have the `repo` scope to get annotations for a check run in a private repository. */ - "checks/list-annotations": { + /** + * Gets the contents of a file or directory in a repository. Specify the file path or directory in `:path`. If you omit + * `:path`, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories. + * + * Files and symlinks support [a custom media type](https://docs.github.com/rest/reference/repos#custom-media-types) for + * retrieving the raw content or rendered HTML (when supported). All content types support [a custom media + * type](https://docs.github.com/rest/reference/repos#custom-media-types) to ensure the content is returned in a consistent + * object format. + * + * **Note**: + * * To get a repository's contents recursively, you can [recursively get the tree](https://docs.github.com/rest/reference/git#trees). + * * This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the [Git Trees + * API](https://docs.github.com/rest/reference/git#get-a-tree). + * + * #### Size limits + * If the requested file's size is: + * * 1 MB or smaller: All features of this endpoint are supported. + * * Between 1-100 MB: Only the `raw` or `object` [custom media types](https://docs.github.com/rest/repos/contents#custom-media-types-for-repository-contents) are supported. Both will work as normal, except that when using the `object` media type, the `content` field will be an empty string and the `encoding` field will be `"none"`. To get the contents of these larger files, use the `raw` media type. + * * Greater than 100 MB: This endpoint is not supported. + * + * #### If the content is a directory + * The response will be an array of objects, one object for each item in the directory. + * When listing the contents of a directory, submodules have their "type" specified as "file". Logically, the value + * _should_ be "submodule". This behavior exists in API v3 [for backwards compatibility purposes](https://git.io/v1YCW). + * In the next major version of the API, the type will be returned as "submodule". + * + * #### If the content is a symlink + * If the requested `:path` points to a symlink, and the symlink's target is a normal file in the repository, then the + * API responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object + * describing the symlink itself. + * + * #### If the content is a submodule + * The `submodule_git_url` identifies the location of the submodule repository, and the `sha` identifies a specific + * commit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out + * the submodule at that specific commit. + * + * If the submodule repository is not hosted on github.com, the Git URLs (`git_url` and `_links["git"]`) and the + * github.com URLs (`html_url` and `_links["html"]`) will have null values. + */ + "repos/get-content": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** check_run_id parameter */ - check_run_id: components["parameters"]["check_run_id"]; + /** path parameter */ + path: string; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`) */ + ref?: string; }; }; responses: { - /** response */ + /** Response */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["check-annotation"][]; + "application/vnd.github.v3.object": components["schemas"]["content-tree"]; + "application/json": + | components["schemas"]["content-directory"] + | components["schemas"]["content-file"] + | components["schemas"]["content-symlink"] + | components["schemas"]["content-submodule"]; }; }; + 302: components["responses"]["found"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; - /** - * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - * - * By default, check suites are automatically created when you create a [check run](https://docs.github.com/rest/reference/checks#check-runs). You only need to use this endpoint for manually creating check suites when you've disabled automatic creation using "[Update repository preferences for check suites](https://docs.github.com/rest/reference/checks#update-repository-preferences-for-check-suites)". Your GitHub App must have the `checks:write` permission to create check suites. - */ - "checks/create-suite": { + /** Creates a new file or replaces an existing file in a repository. */ + "repos/create-or-update-file-contents": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** path parameter */ + path: string; }; }; responses: { - /** response */ + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["file-commit"]; + }; + }; + /** Response */ 201: { content: { - "application/json": components["schemas"]["check-suite"]; + "application/json": components["schemas"]["file-commit"]; }; }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - /** The sha of the head commit. */ - head_sha: string; + /** @description The commit message. */ + message: string; + /** @description The new file content, using Base64 encoding. */ + content: string; + /** @description **Required if you are updating a file**. The blob SHA of the file being replaced. */ + sha?: string; + /** @description The branch name. Default: the repository’s default branch (usually `master`) */ + branch?: string; + /** @description The person that committed the file. Default: the authenticated user. */ + committer?: { + /** @description The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. */ + name: string; + /** @description The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. */ + email: string; + /** @example "2013-01-05T13:13:22+05:00" */ + date?: string; + }; + /** @description The author of the file. Default: The `committer` or the authenticated user if you omit `committer`. */ + author?: { + /** @description The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. */ + name: string; + /** @description The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. */ + email: string; + /** @example "2013-01-15T17:13:22+05:00" */ + date?: string; + }; }; }; }; }; - /** Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually [Create a check suite](https://docs.github.com/rest/reference/checks#create-a-check-suite). You must have admin permissions in the repository to set preferences for check suites. */ - "checks/set-suites-preferences": { + /** + * Deletes a file in a repository. + * + * You can provide an additional `committer` parameter, which is an object containing information about the committer. Or, you can provide an `author` parameter, which is an object containing information about the author. + * + * The `author` section is optional and is filled in with the `committer` information if omitted. If the `committer` information is omitted, the authenticated user's information is used. + * + * You must provide values for both `name` and `email`, whether you choose to use `author` or `committer`. Otherwise, you'll receive a `422` status code. + */ + "repos/delete-file": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** path parameter */ + path: string; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["check-suite-preference"]; + "application/json": components["schemas"]["file-commit"]; }; }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; }; requestBody: { content: { "application/json": { - /** Enables or disables automatic creation of CheckSuite events upon pushes to the repository. Enabled by default. See the [`auto_trigger_checks` object](https://docs.github.com/rest/reference/checks#auto_trigger_checks-object) description for details. */ - auto_trigger_checks?: { - /** The `id` of the GitHub App. */ - app_id: number; - /** Set to `true` to enable automatic creation of CheckSuite events upon pushes to the repository, or `false` to disable them. */ - setting: boolean; - }[]; + /** @description The commit message. */ + message: string; + /** @description The blob SHA of the file being replaced. */ + sha: string; + /** @description The branch name. Default: the repository’s default branch (usually `master`) */ + branch?: string; + /** @description object containing information about the committer. */ + committer?: { + /** @description The name of the author (or committer) of the commit */ + name?: string; + /** @description The email of the author (or committer) of the commit */ + email?: string; + }; + /** @description object containing information about the author. */ + author?: { + /** @description The name of the author (or committer) of the commit */ + name?: string; + /** @description The email of the author (or committer) of the commit */ + email?: string; + }; }; }; }; }; /** - * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * Lists contributors to the specified repository and sorts them by the number of commits per contributor in descending order. This endpoint may return information that is a few hours old because the GitHub REST API v3 caches contributor data to improve performance. * - * Gets a single check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository. + * GitHub identifies contributors by author email address. This endpoint groups contribution counts by GitHub user, which includes all associated email addresses. To improve performance, only the first 500 author email addresses in the repository link to GitHub users. The rest will appear as anonymous contributors without associated GitHub user information. */ - "checks/get-suite": { + "repos/list-contributors": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** check_suite_id parameter */ - check_suite_id: components["parameters"]["check_suite_id"]; + }; + query: { + /** Set to `1` or `true` to include anonymous contributors in results. */ + anon?: string; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** if repository contains content */ 200: { + headers: {}; content: { - "application/json": components["schemas"]["check-suite"]; + "application/json": components["schemas"]["contributor"][]; }; }; + /** Response if repository is empty */ + 204: never; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; - /** - * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Lists check runs for a check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. - */ - "checks/list-for-suite": { + /** Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. */ + "dependabot/list-repo-secrets": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** check_suite_id parameter */ - check_suite_id: components["parameters"]["check_suite_id"]; }; query: { - /** Returns check runs with the specified `name`. */ - check_name?: components["parameters"]["check_name"]; - /** Returns check runs with the specified `status`. Can be one of `queued`, `in_progress`, or `completed`. */ - status?: components["parameters"]["status"]; - /** Filters check runs by their `completed_at` timestamp. Can be one of `latest` (returning the most recent check runs) or `all`. */ - filter?: "latest" | "all"; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { "application/json": { total_count: number; - check_runs: components["schemas"]["check-run"][]; + secrets: components["schemas"]["dependabot-secret"][]; }; }; }; }; }; - /** - * Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://docs.github.com/webhooks/event-payloads/#check_suite) event with the action `rerequested`. When a check suite is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. - * - * To rerequest a check suite, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository. - */ - "checks/rerequest-suite": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** check_suite_id parameter */ - check_suite_id: components["parameters"]["check_suite_id"]; - }; - }; - responses: { - /** response */ - 201: unknown; - }; - }; - /** Lists all open code scanning alerts for the default branch (usually `main` or `master`). You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint. */ - "code-scanning/list-alerts-for-repo": { + /** Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. */ + "dependabot/get-repo-public-key": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; }; - query: { - /** Set to `open`, `fixed`, or `dismissed` to list code scanning alerts in a specific state. */ - state?: components["schemas"]["code-scanning-alert-state"]; - /** Set a full Git reference to list alerts for a specific branch. The `ref` must be formatted as `refs/heads/`. */ - ref?: components["schemas"]["code-scanning-alert-ref"]; - }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["code-scanning-alert-code-scanning-alert-items"][]; + "application/json": components["schemas"]["dependabot-public-key"]; }; }; - /** Response if github advanced security is not enabled for this repository */ - 403: unknown; - /** Response if the ref does not match an existing ref */ - 404: unknown; - 503: components["responses"]["service_unavailable"]; }; }; - /** - * Gets a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint. - * - * The security `alert_number` is found at the end of the security alert's URL. For example, the security alert ID for `https://github.com/Octo-org/octo-repo/security/code-scanning/88` is `88`. - */ - "code-scanning/get-alert": { + /** Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. */ + "dependabot/get-repo-secret": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - alert_number: number; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["code-scanning-alert-code-scanning-alert"]; + "application/json": components["schemas"]["dependabot-secret"]; }; }; - /** Response if github advanced security is not enabled for this repository */ - 403: unknown; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; }; }; - /** Updates the status of a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` write permission to use this endpoint. */ - "code-scanning/update-alert": { + /** + * Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository + * permission to use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + "dependabot/create-or-update-repo-secret": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The security alert number, found at the end of the security alert's URL. */ - alert_number: components["parameters"]["alert_number"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; }; }; responses: { - /** response */ - 200: { + /** Response when creating a secret */ + 201: { content: { - "application/json": components["schemas"]["code-scanning-alert-code-scanning-alert"]; + "application/json": components["schemas"]["empty-object"]; }; }; - /** Response if the repository is archived, or if github advanced security is not enabled for this repository */ - 403: unknown; - /** Response when code scanning is not available and you should try again at a later time */ - 503: unknown; + /** Response when updating a secret */ + 204: never; }; requestBody: { content: { "application/json": { - state: components["schemas"]["code-scanning-alert-set-state"]; - dismissed_reason?: components["schemas"]["code-scanning-alert-dismissed-reason"]; + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/reference/dependabot#get-a-repository-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; }; }; }; }; - /** List the details of recent code scanning analyses for a repository. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint. */ - "code-scanning/list-recent-analyses": { + /** Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. */ + "dependabot/delete-repo-secret": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** Gets the diff of the dependency changes between two commits of a repository, based on the changes to the dependency manifests made in those commits. */ + "dependency-graph/diff-range": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The base and head Git revisions to compare. The Git revisions will be resolved to commit SHAs. Named revisions will be resolved to their corresponding HEAD commits, and an appropriate merge base will be determined. This parameter expects the format `{base}...{head}`. */ + basehead: string; }; query: { - /** Set a full Git reference to list alerts for a specific branch. The `ref` must be formatted as `refs/heads/`. */ - ref?: components["schemas"]["code-scanning-analysis-ref"]; - /** Set a single code scanning tool name to filter alerts by tool. */ - tool_name?: components["schemas"]["code-scanning-analysis-tool-name"]; + /** The full path, relative to the repository root, of the dependency manifest file. */ + name?: components["parameters"]["manifest-path"]; }; }; responses: { - /** response */ + /** Response */ 200: { + headers: {}; content: { - "application/json": components["schemas"]["code-scanning-analysis-code-scanning-analysis"][]; + "application/json": components["schemas"]["dependency-graph-diff"]; }; }; - /** Response if github advanced security is not enabled for this repository */ - 403: unknown; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; - /** Upload a SARIF file containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` write permission to use this endpoint. */ - "code-scanning/upload-sarif": { + /** Create a new snapshot of a repository's dependencies. You must authenticate using an access token with the `repo` scope to use this endpoint for a repository that the requesting user has access to. */ + "dependency-graph/create-repository-snapshot": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; }; }; responses: { - /** response */ - 202: unknown; - /** Response if the `sarif` field is invalid */ - 400: unknown; - /** Response if the repository is archived, or if github advanced security is not enabled for this repository */ - 403: unknown; - /** Response if `commit_sha` or `ref` cannot be found */ - 404: unknown; - /** Response if the `sarif` field is too large */ - 413: unknown; + /** Response */ + 201: { + content: { + "application/json": { + /** @description ID of the created snapshot. */ + id: number; + /** @description The time at which the snapshot was created. */ + created_at: string; + /** @description Either "SUCCESS", "ACCEPTED", or "INVALID". "SUCCESS" indicates that the snapshot was successfully created and the repository's dependencies were updated. "ACCEPTED" indicates that the snapshot was successfully created, but the repository's dependencies were not updated. "INVALID" indicates that the snapshot was malformed. */ + result: string; + /** @description A message providing further details about the result, such as why the dependencies were not updated. */ + message: string; + }; + }; + }; }; requestBody: { content: { - "application/json": { - commit_sha: components["schemas"]["code-scanning-analysis-commit-sha"]; - ref: components["schemas"]["code-scanning-analysis-ref"]; - sarif: components["schemas"]["code-scanning-analysis-sarif-file"]; - /** - * The base directory used in the analysis, as it appears in the SARIF file. - * This property is used to convert file paths from absolute to relative, so that alerts can be mapped to their correct location in the repository. - */ - checkout_uri?: string; - /** The time that the analysis run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - started_at?: string; - tool_name: components["schemas"]["code-scanning-analysis-tool-name"]; - }; + "application/json": components["schemas"]["snapshot"]; }; }; }; - /** - * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. - * - * Team members will include the members of child teams. - */ - "repos/list-collaborators": { + /** Simple filtering of deployments is available via query parameters: */ + "repos/list-deployments": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; }; query: { - /** - * Filter collaborators returned by their affiliation. Can be one of: - * \* `outside`: All outside collaborators of an organization-owned repository. - * \* `direct`: All collaborators with permissions to an organization-owned repository, regardless of organization membership status. - * \* `all`: All collaborators the authenticated user can see. - */ - affiliation?: "outside" | "direct" | "all"; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The SHA recorded at creation time. */ + sha?: string; + /** The name of the ref. This can be a branch, tag, or SHA. */ + ref?: string; + /** The name of the task for the deployment (e.g., `deploy` or `deploy:migrations`). */ + task?: string; + /** The name of the environment that was deployed to (e.g., `staging` or `production`). */ + environment?: string | null; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": components["schemas"]["collaborator"][]; + "application/json": components["schemas"]["deployment"][]; }; }; - 404: components["responses"]["not_found"]; }; }; /** - * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * Deployments offer a few configurable parameters with certain defaults. * - * Team members will include the members of child teams. - */ - "repos/check-collaborator": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** Response if user is a collaborator */ - 204: never; - /** Response if user is not a collaborator */ - 404: unknown; - }; - }; - /** - * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + * The `ref` parameter can be any named branch, tag, or SHA. At GitHub we often deploy branches and verify them + * before we merge a pull request. * - * For more information the permission levels, see "[Repository permission levels for an organization](https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". + * The `environment` parameter allows deployments to be issued to different runtime environments. Teams often have + * multiple environments for verifying their applications, such as `production`, `staging`, and `qa`. This parameter + * makes it easier to track which environments have requested deployments. The default environment is `production`. * - * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * The `auto_merge` parameter is used to ensure that the requested ref is not behind the repository's default branch. If + * the ref _is_ behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds, + * the API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will + * return a failure response. * - * The invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the [repository invitations API endpoints](https://docs.github.com/rest/reference/repos#invitations). + * By default, [commit statuses](https://docs.github.com/rest/commits/statuses) for every submitted context must be in a `success` + * state. The `required_contexts` parameter allows you to specify a subset of contexts that must be `success`, or to + * specify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do + * not require any contexts or create any commit statuses, the deployment will always succeed. * - * **Rate limits** + * The `payload` parameter is available for any extra information that a deployment system might need. It is a JSON text + * field that will be passed on when a deployment event is dispatched. + * + * The `task` parameter is used by the deployment system to allow different execution paths. In the web world this might + * be `deploy:migrations` to run schema changes on the system. In the compiled world this could be a flag to compile an + * application with debugging enabled. + * + * Users with `repo` or `repo_deployment` scopes can create a deployment for a given ref. + * + * #### Merged branch response + * You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating + * a deployment. This auto-merge happens when: + * * Auto-merge option is enabled in the repository + * * Topic branch does not include the latest changes on the base branch, which is `master` in the response example + * * There are no merge conflicts + * + * If there are no new commits in the base branch, a new request to create a deployment should give a successful + * response. + * + * #### Merge conflict response + * This error happens when the `auto_merge` option is enabled and when the default branch (in this case `master`), can't + * be merged into the branch that's being deployed (in this case `topic-branch`), due to merge conflicts. * - * To prevent abuse, you are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository. + * #### Failed commit status checks + * This error happens when the `required_contexts` parameter indicates that one or more contexts need to have a `success` + * status for the commit to be deployed, but one or more of the required contexts do not have a state of `success`. */ - "repos/add-collaborator": { + "repos/create-deployment": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - username: components["parameters"]["username"]; }; }; responses: { - /** Response when a new invitation is created */ + /** Response */ 201: { content: { - "application/json": components["schemas"]["repository-invitation"]; + "application/json": components["schemas"]["deployment"]; }; }; - /** Response when person is already a collaborator */ - 204: never; - 403: components["responses"]["forbidden"]; + /** Merged branch response */ + 202: { + content: { + "application/json": { + message?: string; + }; + }; + }; + /** Conflict when there is a merge conflict or the commit's status checks failed */ + 409: unknown; 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { + /** @description The ref to deploy. This can be a branch, tag, or SHA. */ + ref: string; /** - * The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: - * \* `pull` - can pull, but not push to or administer this repository. - * \* `push` - can pull and push, but not administer this repository. - * \* `admin` - can pull, push and administer this repository. - * \* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. - * \* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. + * @description Specifies a task to execute (e.g., `deploy` or `deploy:migrations`). + * @default deploy */ - permission?: "pull" | "push" | "admin" | "maintain" | "triage"; - permissions?: string; + task?: string; + /** + * @description Attempts to automatically merge the default branch into the requested ref, if it's behind the default branch. + * @default true + */ + auto_merge?: boolean; + /** @description The [status](https://docs.github.com/rest/commits/statuses) contexts to verify against commit status checks. If you omit this parameter, GitHub verifies all unique contexts before creating a deployment. To bypass checking entirely, pass an empty array. Defaults to all unique contexts. */ + required_contexts?: string[]; + payload?: { [key: string]: unknown } | string; + /** + * @description Name for the target deployment environment (e.g., `production`, `staging`, `qa`). + * @default production + */ + environment?: string; + /** + * @description Short description of the deployment. + * @default + */ + description?: string | null; + /** + * @description Specifies if the given environment is specific to the deployment and will no longer exist at some point in the future. Default: `false` + * @default false + */ + transient_environment?: boolean; + /** @description Specifies if the given environment is one that end-users directly interact with. Default: `true` when `environment` is `production` and `false` otherwise. */ + production_environment?: boolean; }; }; }; }; - "repos/remove-collaborator": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** Empty response */ - 204: never; - }; - }; - /** Checks the repository permission of a collaborator. The possible repository permissions are `admin`, `write`, `read`, and `none`. */ - "repos/get-collaborator-permission-level": { + "repos/get-deployment": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - username: components["parameters"]["username"]; + /** deployment_id parameter */ + deployment_id: components["parameters"]["deployment-id"]; }; }; responses: { - /** Response if user has admin permissions */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["repository-collaborator-permission"]; + "application/json": components["schemas"]["deployment"]; }; }; 404: components["responses"]["not_found"]; }; }; /** - * Commit Comments use [these custom media types](https://docs.github.com/rest/reference/repos#custom-media-types). You can read more about the use of media types in the API [here](https://docs.github.com/rest/overview/media-types/). + * If the repository only has one deployment, you can delete the deployment regardless of its status. If the repository has more than one deployment, you can only delete inactive deployments. This ensures that repositories with multiple deployments will always have an active deployment. Anyone with `repo` or `repo_deployment` scopes can delete a deployment. * - * Comments are ordered by ascending ID. + * To set a deployment as inactive, you must: + * + * * Create a new deployment that is active so that the system has a record of the current state, then delete the previously active deployment. + * * Mark the active deployment as inactive by adding any non-successful deployment status. + * + * For more information, see "[Create a deployment](https://docs.github.com/rest/reference/repos/#create-a-deployment)" and "[Create a deployment status](https://docs.github.com/rest/reference/repos#create-a-deployment-status)." */ - "repos/list-commit-comments-for-repo": { + "repos/delete-deployment": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - }; - query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** deployment_id parameter */ + deployment_id: components["parameters"]["deployment-id"]; }; }; responses: { - /** response */ - 200: { - headers: {}; - content: { - "application/json": components["schemas"]["commit-comment"][]; - }; - }; + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; }; }; - "repos/get-commit-comment": { + /** Users with pull access can view deployment statuses for a deployment: */ + "repos/list-deployment-statuses": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** comment_id parameter */ - comment_id: components["parameters"]["comment_id"]; + /** deployment_id parameter */ + deployment_id: components["parameters"]["deployment-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { + headers: {}; content: { - "application/json": components["schemas"]["commit-comment"]; + "application/json": components["schemas"]["deployment-status"][]; }; }; 404: components["responses"]["not_found"]; }; }; - "repos/delete-commit-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** comment_id parameter */ - comment_id: components["parameters"]["comment_id"]; - }; - }; - responses: { - /** Empty response */ - 204: never; - 404: components["responses"]["not_found"]; - }; - }; - "repos/update-commit-comment": { + /** + * Users with `push` access can create deployment statuses for a given deployment. + * + * GitHub Apps require `read & write` access to "Deployments" and `read-only` access to "Repo contents" (for private repos). OAuth Apps require the `repo_deployment` scope. + */ + "repos/create-deployment-status": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** comment_id parameter */ - comment_id: components["parameters"]["comment_id"]; + /** deployment_id parameter */ + deployment_id: components["parameters"]["deployment-id"]; }; }; responses: { - /** response */ - 200: { + /** Response */ + 201: { + headers: { + Location?: string; + }; content: { - "application/json": components["schemas"]["commit-comment"]; + "application/json": components["schemas"]["deployment-status"]; }; }; - 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - /** The contents of the comment */ - body: string; + /** + * @description The state of the status. When you set a transient deployment to `inactive`, the deployment will be shown as `destroyed` in GitHub. + * @enum {string} + */ + state: + | "error" + | "failure" + | "inactive" + | "in_progress" + | "queued" + | "pending" + | "success"; + /** + * @description The target URL to associate with this status. This URL should contain output to keep the user updated while the task is running or serve as historical information for what happened in the deployment. **Note:** It's recommended to use the `log_url` parameter, which replaces `target_url`. + * @default + */ + target_url?: string; + /** + * @description The full URL of the deployment's output. This parameter replaces `target_url`. We will continue to accept `target_url` to support legacy uses, but we recommend replacing `target_url` with `log_url`. Setting `log_url` will automatically set `target_url` to the same value. Default: `""` + * @default + */ + log_url?: string; + /** + * @description A short description of the status. The maximum description length is 140 characters. + * @default + */ + description?: string; + /** + * @description Name for the target deployment environment, which can be changed when setting a deploy status. For example, `production`, `staging`, or `qa`. + * @enum {string} + */ + environment?: "production" | "staging" | "qa"; + /** + * @description Sets the URL for accessing your environment. Default: `""` + * @default + */ + environment_url?: string; + /** @description Adds a new `inactive` status to all prior non-transient, non-production environment deployments with the same repository and `environment` name as the created status's deployment. An `inactive` status is only added to deployments that had a `success` state. Default: `true` */ + auto_inactive?: boolean; }; }; }; }; - /** List the reactions to a [commit comment](https://docs.github.com/rest/reference/repos#comments). */ - "reactions/list-for-commit-comment": { + /** Users with pull access can view a deployment status for a deployment: */ + "repos/get-deployment-status": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** comment_id parameter */ - comment_id: components["parameters"]["comment_id"]; - }; - query: { - /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a commit comment. */ - content?: - | "+1" - | "-1" - | "laugh" - | "confused" - | "heart" - | "hooray" - | "rocket" - | "eyes"; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** deployment_id parameter */ + deployment_id: components["parameters"]["deployment-id"]; + status_id: number; }; }; responses: { - /** response */ + /** Response */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["reaction"][]; + "application/json": components["schemas"]["deployment-status"]; }; }; 404: components["responses"]["not_found"]; - 415: components["responses"]["preview_header_missing"]; }; }; - /** Create a reaction to a [commit comment](https://docs.github.com/rest/reference/repos#comments). A response with a `Status: 200 OK` means that you already added the reaction type to this commit comment. */ - "reactions/create-for-commit-comment": { + /** + * You can use this endpoint to trigger a webhook event called `repository_dispatch` when you want activity that happens outside of GitHub to trigger a GitHub Actions workflow or GitHub App webhook. You must configure your GitHub Actions workflow or GitHub App to run when the `repository_dispatch` event occurs. For an example `repository_dispatch` webhook payload, see "[RepositoryDispatchEvent](https://docs.github.com/webhooks/event-payloads/#repository_dispatch)." + * + * The `client_payload` parameter is available for any extra information that your workflow might need. This parameter is a JSON payload that will be passed on when the webhook event is dispatched. For example, the `client_payload` can include a message that a user would like to send using a GitHub Actions workflow. Or the `client_payload` can be used as a test to debug your workflow. + * + * This endpoint requires write access to the repository by providing either: + * + * - Personal access tokens with `repo` scope. For more information, see "[Creating a personal access token for the command line](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line)" in the GitHub Help documentation. + * - GitHub Apps with both `metadata:read` and `contents:read&write` permissions. + * + * This input example shows how you can use the `client_payload` as a test to debug your workflow. + */ + "repos/create-dispatch-event": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** comment_id parameter */ - comment_id: components["parameters"]["comment_id"]; }; }; responses: { - /** Reaction exists */ - 200: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - /** Reaction created */ - 201: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - 415: components["responses"]["preview_header_missing"]; + /** Response */ + 204: never; 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - /** The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the commit comment. */ - content: - | "+1" - | "-1" - | "laugh" - | "confused" - | "heart" - | "hooray" - | "rocket" - | "eyes"; + /** @description A custom webhook event name. Must be 100 characters or fewer. */ + event_type: string; + /** @description JSON payload with extra information about the webhook event that your action or workflow may use. */ + client_payload?: { [key: string]: unknown }; }; }; }; }; /** - * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/comments/:comment_id/reactions/:reaction_id`. + * Get all environments for a repository. * - * Delete a reaction to a [commit comment](https://docs.github.com/rest/reference/repos#comments). + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ - "reactions/delete-for-commit-comment": { + "repos/get-all-environments": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** comment_id parameter */ - comment_id: components["parameters"]["comment_id"]; - reaction_id: components["parameters"]["reaction-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** Empty response */ - 204: never; + /** Response */ + 200: { + content: { + "application/json": { + /** + * @description The number of environments in this repository + * @example 5 + */ + total_count?: number; + environments?: components["schemas"]["environment"][]; + }; + }; + }; }; }; - /** - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - "repos/list-commits": { + /** Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + "repos/get-environment": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The name of the environment */ + environment_name: components["parameters"]["environment-name"]; }; - query: { - /** SHA or branch to start listing commits from. Default: the repository’s default branch (usually `master`). */ - sha?: string; - /** Only commits containing this file path will be returned. */ - path?: string; - /** GitHub login or email address by which to filter by commit author. */ - author?: string; - /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - since?: components["parameters"]["since"]; - /** Only commits before this date will be returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - until?: string; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["environment"]; + }; + }; + }; + }; + /** + * Create or update an environment with protection rules, such as required reviewers. For more information about environment protection rules, see "[Environments](/actions/reference/environments#environment-protection-rules)." + * + * **Note:** Although you can use this operation to specify that only branches that match specified name patterns can deploy to this environment, you must use the UI to set the name patterns. For more information, see "[Environments](/actions/reference/environments#deployment-branches)." + * + * **Note:** To create or update secrets for an environment, see "[Secrets](/rest/reference/actions#secrets)." + * + * You must authenticate using an access token with the repo scope to use this endpoint. + */ + "repos/create-or-update-environment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the environment */ + environment_name: components["parameters"]["environment-name"]; }; }; responses: { - /** response */ + /** Response */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["commit"][]; + "application/json": components["schemas"]["environment"]; }; }; - 400: components["responses"]["bad_request"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - 500: components["responses"]["internal_error"]; + /** Validation error when the environment name is invalid or when `protected_branches` and `custom_branch_policies` in `deployment_branch_policy` are set to the same value */ + 422: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + wait_timer?: components["schemas"]["wait-timer"]; + /** @description The people or teams that may review jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. */ + reviewers?: + | { + type?: components["schemas"]["deployment-reviewer-type"]; + /** + * @description The id of the user or team who can review the deployment + * @example 4532992 + */ + id?: number; + }[] + | null; + deployment_branch_policy?: components["schemas"]["deployment-branch-policy"]; + } | null; + }; }; }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch. - */ - "repos/list-branches-for-head-commit": { + /** You must authenticate using an access token with the repo scope to use this endpoint. */ + "repos/delete-an-environment": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** commit_sha parameter */ - commit_sha: components["parameters"]["commit_sha"]; + /** The name of the environment */ + environment_name: components["parameters"]["environment-name"]; }; }; responses: { - /** response */ + /** Default response */ + 204: never; + }; + }; + "activity/list-repo-events": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ 200: { content: { - "application/json": components["schemas"]["branch-short"][]; + "application/json": components["schemas"]["event"][]; }; }; - 415: components["responses"]["preview_header_missing"]; - 422: components["responses"]["validation_failed"]; }; }; - /** Use the `:commit_sha` to specify the commit that will have its comments listed. */ - "repos/list-comments-for-commit": { + "repos/list-forks": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** commit_sha parameter */ - commit_sha: components["parameters"]["commit_sha"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The sort order. Can be either `newest`, `oldest`, or `stargazers`. */ + sort?: "newest" | "oldest" | "stargazers" | "watchers"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": components["schemas"]["commit-comment"][]; + "application/json": components["schemas"]["minimal-repository"][]; }; }; + 400: components["responses"]["bad_request"]; }; }; /** - * Create a comment for a commit using its `:commit_sha`. + * Create a fork for the authenticated user. * - * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + * **Note**: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). */ - "repos/create-commit-comment": { + "repos/create-fork": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** commit_sha parameter */ - commit_sha: components["parameters"]["commit_sha"]; }; }; responses: { - /** response */ + /** Response */ + 202: { + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description Optional parameter to specify the organization name if forking into an organization. */ + organization?: string; + /** @description When forking from an existing repository, a new name for the fork. */ + name?: string; + } | null; + }; + }; + }; + "git/create-blob": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ 201: { headers: { Location?: string; }; content: { - "application/json": components["schemas"]["commit-comment"]; + "application/json": components["schemas"]["short-blob"]; }; }; 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - /** The contents of the comment. */ - body: string; - /** Relative path of the file to comment on. */ - path?: string; - /** Line index in the diff to comment on. */ - position?: number; - /** **Deprecated**. Use **position** parameter instead. Line number in the file to comment on. */ - line?: number; + /** @description The new blob's content. */ + content: string; + /** + * @description The encoding used for `content`. Currently, `"utf-8"` and `"base64"` are supported. + * @default utf-8 + */ + encoding?: string; }; }; }; }; - /** Lists all pull requests containing the provided commit SHA, which can be from any point in the commit history. The results will include open and closed pull requests. Additional preview headers may be required to see certain details for associated pull requests, such as whether a pull request is in a draft state. For more information about previews that might affect this endpoint, see the [List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests) endpoint. */ - "repos/list-pull-requests-associated-with-commit": { + /** + * The `content` in the response will always be Base64 encoded. + * + * _Note_: This API supports blobs up to 100 megabytes in size. + */ + "git/get-blob": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** commit_sha parameter */ - commit_sha: components["parameters"]["commit_sha"]; - }; - query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + file_sha: string; }; }; responses: { - /** response */ + /** Response */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["pull-request-simple"][]; + "application/json": components["schemas"]["blob"]; }; }; - 415: components["responses"]["preview_header_missing"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; /** - * Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint. - * - * **Note:** If there are more than 300 files in the commit diff, the response will include pagination link headers for the remaining files, up to a limit of 3000 files. Each page contains the static commit information, and the only changes are to the file listing. - * - * You can pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch `diff` and `patch` formats. Diffs with binary data will have no `patch` property. - * - * To return only the SHA-1 hash of the commit reference, you can provide the `sha` custom [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) in the `Accept` header. You can use this endpoint to check if a remote reference's SHA-1 hash is the same as your local reference's SHA-1 hash by providing the local SHA-1 reference as the ETag. + * Creates a new Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects). * * **Signature verification object** * @@ -19777,7 +35623,7 @@ export interface operations { * | Name | Type | Description | * | ---- | ---- | ----------- | * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | * | `signature` | `string` | The signature that was extracted from the commit. | * | `payload` | `string` | The value that was signed. | * @@ -19799,228 +35645,270 @@ export interface operations { * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | * | `valid` | None of the above errors applied, so the signature is considered to be verified. | */ - "repos/get-commit": { + "git/create-commit": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** ref+ parameter */ - ref: string; }; }; responses: { - /** response */ - 200: { + /** Response */ + 201: { + headers: { + Location?: string; + }; content: { - "application/json": components["schemas"]["commit"]; + "application/json": components["schemas"]["git-commit"]; }; }; 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The commit message */ + message: string; + /** @description The SHA of the tree object this commit points to */ + tree: string; + /** @description The SHAs of the commits that were the parents of this commit. If omitted or empty, the commit will be written as a root commit. For a single parent, an array of one SHA should be provided; for a merge commit, an array of more than one should be provided. */ + parents?: string[]; + /** @description Information about the author of the commit. By default, the `author` will be the authenticated user and the current date. See the `author` and `committer` object below for details. */ + author?: { + /** @description The name of the author (or committer) of the commit */ + name: string; + /** @description The email of the author (or committer) of the commit */ + email: string; + /** + * Format: date-time + * @description Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + date?: string; + }; + /** @description Information about the person who is making the commit. By default, `committer` will use the information set in `author`. See the `author` and `committer` object below for details. */ + committer?: { + /** @description The name of the author (or committer) of the commit */ + name?: string; + /** @description The email of the author (or committer) of the commit */ + email?: string; + /** + * Format: date-time + * @description Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + date?: string; + }; + /** @description The [PGP signature](https://en.wikipedia.org/wiki/Pretty_Good_Privacy) of the commit. GitHub adds the signature to the `gpgsig` header of the created commit. For a commit signature to be verifiable by Git or GitHub, it must be an ASCII-armored detached PGP signature over the string commit as it would be written to the object database. To pass a `signature` parameter, you need to first manually create a valid PGP signature, which can be complicated. You may find it easier to [use the command line](https://git-scm.com/book/id/v2/Git-Tools-Signing-Your-Work) to create signed commits. */ + signature?: string; + }; + }; }; }; /** - * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * Gets a Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects). * - * Lists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | */ - "checks/list-for-ref": { + "git/get-commit": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** ref+ parameter */ - ref: string; - }; - query: { - /** Returns check runs with the specified `name`. */ - check_name?: components["parameters"]["check_name"]; - /** Returns check runs with the specified `status`. Can be one of `queued`, `in_progress`, or `completed`. */ - status?: components["parameters"]["status"]; - /** Filters check runs by their `completed_at` timestamp. Can be one of `latest` (returning the most recent check runs) or `all`. */ - filter?: "latest" | "all"; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** The SHA of the commit. */ + commit_sha: components["parameters"]["commit-sha"]; }; }; responses: { - /** response */ + /** Response */ 200: { - headers: {}; content: { - "application/json": { - total_count: number; - check_runs: components["schemas"]["check-run"][]; - }; + "application/json": components["schemas"]["git-commit"]; }; }; + 404: components["responses"]["not_found"]; }; }; /** - * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * Returns an array of references from your Git database that match the supplied name. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't exist in the repository, but existing refs start with `:ref`, they will be returned as an array. * - * Lists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to list check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository. + * When you use this endpoint without providing a `:ref`, it will return an array of all the references from your Git database, including notes and stashes if they exist on the server. Anything in the namespace is returned, not just `heads` and `tags`. + * + * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + * + * If you request matching references for a branch named `feature` but the branch `feature` doesn't exist, the response can still include other matching head refs that start with the word `feature`, such as `featureA` and `featureB`. */ - "checks/list-suites-for-ref": { + "git/list-matching-refs": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** ref+ parameter */ + /** ref parameter */ ref: string; }; query: { - /** Filters check suites by GitHub App `id`. */ - app_id?: number; - /** Returns check runs with the specified `name`. */ - check_name?: components["parameters"]["check_name"]; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": { - total_count: number; - check_suites: components["schemas"]["check-suite"][]; - }; + "application/json": components["schemas"]["git-ref"][]; }; }; }; }; /** - * Users with pull access in a repository can access a combined view of commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. - * - * The most recent status for each context is returned, up to 100. This field [paginates](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination) if there are over 100 contexts. - * - * Additionally, a combined `state` is returned. The `state` is one of: + * Returns a single reference from your Git database. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't match an existing ref, a `404` is returned. * - * * **failure** if any of the contexts report as `error` or `failure` - * * **pending** if there are no statuses or a context is `pending` - * * **success** if the latest status for all contexts is `success` + * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". */ - "repos/get-combined-status-for-ref": { + "git/get-ref": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** ref+ parameter */ + /** ref parameter */ ref: string; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["combined-commit-status"]; + "application/json": components["schemas"]["git-ref"]; }; }; 404: components["responses"]["not_found"]; }; }; - /** - * Users with pull access in a repository can view commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. Statuses are returned in reverse chronological order. The first status in the list will be the latest one. - * - * This resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`. - */ - "repos/list-commit-statuses-for-ref": { + /** Creates a reference for your repository. You are unable to create new references for empty repositories, even if the commit SHA-1 hash used exists. Empty repositories are repositories without branches. */ + "git/create-ref": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** ref+ parameter */ - ref: string; - }; - query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; }; }; responses: { - /** response */ - 200: { - headers: {}; + /** Response */ + 201: { + headers: { + Location?: string; + }; content: { - "application/json": components["schemas"]["status"][]; + "application/json": components["schemas"]["git-ref"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the fully qualified reference (ie: `refs/heads/master`). If it doesn't start with 'refs' and have at least two slashes, it will be rejected. */ + ref: string; + /** @description The SHA1 value for this reference. */ + sha: string; + /** @example "refs/heads/newbranch" */ + key?: string; }; }; - 301: components["responses"]["moved_permanently"]; }; }; - /** - * Returns the contents of the repository's code of conduct file, if one is detected. - * - * A code of conduct is detected if there is a file named `CODE_OF_CONDUCT` in the root directory of the repository. GitHub detects which code of conduct it is using fuzzy matching. - */ - "codes-of-conduct/get-for-repo": { + "git/delete-ref": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** ref parameter */ + ref: string; }; }; responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["code-of-conduct"]; - }; - }; + /** Response */ + 204: never; + 422: components["responses"]["validation_failed"]; }; }; - /** - * This endpoint will return all community profile metrics, including an - * overall health score, repository description, the presence of documentation, detected - * code of conduct, detected license, and the presence of ISSUE\_TEMPLATE, PULL\_REQUEST\_TEMPLATE, - * README, and CONTRIBUTING files. - * - * The `health_percentage` score is defined as a percentage of how many of - * these four documents are present: README, CONTRIBUTING, LICENSE, and - * CODE_OF_CONDUCT. For example, if all four documents are present, then - * the `health_percentage` is `100`. If only one is present, then the - * `health_percentage` is `25`. - * - * `content_reports_enabled` is only returned for organization-owned repositories. - */ - "repos/get-community-profile-metrics": { + "git/update-ref": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** ref parameter */ + ref: string; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["community-profile"]; + "application/json": components["schemas"]["git-ref"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The SHA1 value to set this reference to */ + sha: string; + /** + * @description Indicates whether to force the update or to make sure the update is a fast-forward update. Leaving this out or setting it to `false` will make sure you're not overwriting work. + * @default false + */ + force?: boolean; }; }; }; }; /** - * Both `:base` and `:head` must be branch names in `:repo`. To compare branches across other repositories in the same network as `:repo`, use the format `:branch`. - * - * The response from the API is equivalent to running the `git log base..head` command; however, commits are returned in chronological order. Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. - * - * The response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. - * - * **Working with large comparisons** - * - * The response will include a comparison of up to 250 commits. If you are working with a larger commit range, you can use the [List commits](https://docs.github.com/rest/reference/repos#list-commits) to enumerate all commits in the range. - * - * For comparisons with extremely large diffs, you may receive an error response indicating that the diff took too long - * to generate. You can typically resolve this error by using a smaller commit range. + * Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then [create](https://docs.github.com/rest/reference/git#create-a-reference) the `refs/tags/[tag]` reference. If you want to create a lightweight tag, you only have to [create](https://docs.github.com/rest/reference/git#create-a-reference) the tag reference - this call would be unnecessary. * * **Signature verification object** * @@ -20051,924 +35939,810 @@ export interface operations { * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | * | `valid` | None of the above errors applied, so the signature is considered to be verified. | */ - "repos/compare-commits": { + "git/create-tag": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - base: string; - head: string; }; }; responses: { - /** response */ - 200: { + /** Response */ + 201: { + headers: { + Location?: string; + }; content: { - "application/json": components["schemas"]["commit-comparison"]; + "application/json": components["schemas"]["git-tag"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The tag's name. This is typically a version (e.g., "v0.0.1"). */ + tag: string; + /** @description The tag message. */ + message: string; + /** @description The SHA of the git object this is tagging. */ + object: string; + /** + * @description The type of the object we're tagging. Normally this is a `commit` but it can also be a `tree` or a `blob`. + * @enum {string} + */ + type: "commit" | "tree" | "blob"; + /** @description An object with information about the individual creating the tag. */ + tagger?: { + /** @description The name of the author of the tag */ + name: string; + /** @description The email of the author of the tag */ + email: string; + /** + * Format: date-time + * @description When this object was tagged. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + date?: string; + }; }; }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; }; }; /** - * Gets the contents of a file or directory in a repository. Specify the file path or directory in `:path`. If you omit - * `:path`, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories. - * - * Files and symlinks support [a custom media type](https://docs.github.com/rest/reference/repos#custom-media-types) for - * retrieving the raw content or rendered HTML (when supported). All content types support [a custom media - * type](https://docs.github.com/rest/reference/repos#custom-media-types) to ensure the content is returned in a consistent - * object format. - * - * **Note**: - * * To get a repository's contents recursively, you can [recursively get the tree](https://docs.github.com/rest/reference/git#trees). - * * This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the [Git Trees - * API](https://docs.github.com/rest/reference/git#get-a-tree). - * * This API supports files up to 1 megabyte in size. + * **Signature verification object** * - * #### If the content is a directory - * The response will be an array of objects, one object for each item in the directory. - * When listing the contents of a directory, submodules have their "type" specified as "file". Logically, the value - * _should_ be "submodule". This behavior exists in API v3 [for backwards compatibility purposes](https://git.io/v1YCW). - * In the next major version of the API, the type will be returned as "submodule". + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: * - * #### If the content is a symlink - * If the requested `:path` points to a symlink, and the symlink's target is a normal file in the repository, then the - * API responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object - * describing the symlink itself. + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | * - * #### If the content is a submodule - * The `submodule_git_url` identifies the location of the submodule repository, and the `sha` identifies a specific - * commit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out - * the submodule at that specific commit. + * These are the possible values for `reason` in the `verification` object: * - * If the submodule repository is not hosted on github.com, the Git URLs (`git_url` and `_links["git"]`) and the - * github.com URLs (`html_url` and `_links["html"]`) will have null values. + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | */ - "repos/get-content": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** path+ parameter */ - path: string; - }; - query: { - /** The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`) */ - ref?: string; - }; - }; - responses: { - /** response */ - 200: { - content: { - "application/vnd.github.v3.object": components["schemas"]["content-tree"]; - "application/json": - | components["schemas"]["content-directory"] - | components["schemas"]["content-file"] - | components["schemas"]["content-symlink"] - | components["schemas"]["content-submodule"]; - }; - }; - 302: components["responses"]["found"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** Creates a new file or replaces an existing file in a repository. */ - "repos/create-or-update-file-contents": { + "git/get-tag": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** path+ parameter */ - path: string; + tag_sha: string; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["file-commit"]; - }; - }; - /** response */ - 201: { - content: { - "application/json": components["schemas"]["file-commit"]; + "application/json": components["schemas"]["git-tag"]; }; }; 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed"]; - }; - requestBody: { - content: { - "application/json": { - /** The commit message. */ - message: string; - /** The new file content, using Base64 encoding. */ - content: string; - /** **Required if you are updating a file**. The blob SHA of the file being replaced. */ - sha?: string; - /** The branch name. Default: the repository’s default branch (usually `master`) */ - branch?: string; - /** The person that committed the file. Default: the authenticated user. */ - committer?: { - /** The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. */ - name: string; - /** The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. */ - email: string; - date?: string; - }; - /** The author of the file. Default: The `committer` or the authenticated user if you omit `committer`. */ - author?: { - /** The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. */ - name: string; - /** The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. */ - email: string; - date?: string; - }; - }; - }; }; }; /** - * Deletes a file in a repository. - * - * You can provide an additional `committer` parameter, which is an object containing information about the committer. Or, you can provide an `author` parameter, which is an object containing information about the author. - * - * The `author` section is optional and is filled in with the `committer` information if omitted. If the `committer` information is omitted, the authenticated user's information is used. + * The tree creation API accepts nested entries. If you specify both a tree and a nested path modifying that tree, this endpoint will overwrite the contents of the tree with the new path contents, and create a new tree structure. * - * You must provide values for both `name` and `email`, whether you choose to use `author` or `committer`. Otherwise, you'll receive a `422` status code. + * If you use this endpoint to add, delete, or modify the file contents in a tree, you will need to commit the tree and then update a branch to point to the commit. For more information see "[Create a commit](https://docs.github.com/rest/reference/git#create-a-commit)" and "[Update a reference](https://docs.github.com/rest/reference/git#update-a-reference)." */ - "repos/delete-file": { + "git/create-tree": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** path+ parameter */ - path: string; }; }; responses: { - /** response */ - 200: { + /** Response */ + 201: { + headers: { + Location?: string; + }; content: { - "application/json": components["schemas"]["file-commit"]; + "application/json": components["schemas"]["git-tree"]; }; }; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; 422: components["responses"]["validation_failed"]; - 503: components["responses"]["service_unavailable"]; }; requestBody: { content: { "application/json": { - /** The commit message. */ - message: string; - /** The blob SHA of the file being replaced. */ - sha: string; - /** The branch name. Default: the repository’s default branch (usually `master`) */ - branch?: string; - /** object containing information about the committer. */ - committer?: { - /** The name of the author (or committer) of the commit */ - name?: string; - /** The email of the author (or committer) of the commit */ - email?: string; - }; - /** object containing information about the author. */ - author?: { - /** The name of the author (or committer) of the commit */ - name?: string; - /** The email of the author (or committer) of the commit */ - email?: string; - }; + /** @description Objects (of `path`, `mode`, `type`, and `sha`) specifying a tree structure. */ + tree: { + /** @description The file referenced in the tree. */ + path?: string; + /** + * @description The file mode; one of `100644` for file (blob), `100755` for executable (blob), `040000` for subdirectory (tree), `160000` for submodule (commit), or `120000` for a blob that specifies the path of a symlink. + * @enum {string} + */ + mode?: "100644" | "100755" | "040000" | "160000" | "120000"; + /** + * @description Either `blob`, `tree`, or `commit`. + * @enum {string} + */ + type?: "blob" | "tree" | "commit"; + /** + * @description The SHA1 checksum ID of the object in the tree. Also called `tree.sha`. If the value is `null` then the file will be deleted. + * + * **Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error. + */ + sha?: string | null; + /** + * @description The content you want this file to have. GitHub will write this blob out and use that SHA for this entry. Use either this, or `tree.sha`. + * + * **Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error. + */ + content?: string; + }[]; + /** + * @description The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on. + * If not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit. + */ + base_tree?: string; }; }; }; }; /** - * Lists contributors to the specified repository and sorts them by the number of commits per contributor in descending order. This endpoint may return information that is a few hours old because the GitHub REST API v3 caches contributor data to improve performance. + * Returns a single tree using the SHA1 value for that tree. * - * GitHub identifies contributors by author email address. This endpoint groups contribution counts by GitHub user, which includes all associated email addresses. To improve performance, only the first 500 author email addresses in the repository link to GitHub users. The rest will appear as anonymous contributors without associated GitHub user information. + * If `truncated` is `true` in the response then the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, use the non-recursive method of fetching trees, and fetch one sub-tree at a time. */ - "repos/list-contributors": { + "git/get-tree": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + tree_sha: string; }; query: { - /** Set to `1` or `true` to include anonymous contributors in results. */ - anon?: string; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** Setting this parameter to any value returns the objects or subtrees referenced by the tree specified in `:tree_sha`. For example, setting `recursive` to any of the following will enable returning objects or subtrees: `0`, `1`, `"true"`, and `"false"`. Omit this parameter to prevent recursively returning objects or subtrees. */ + recursive?: string; }; }; responses: { - /** Response if repository contains content */ + /** Response */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["contributor"][]; + "application/json": components["schemas"]["git-tree"]; }; }; - /** Response if repository is empty */ - 204: never; - 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; - /** Simple filtering of deployments is available via query parameters: */ - "repos/list-deployments": { + "repos/list-webhooks": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; }; query: { - /** The SHA recorded at creation time. */ - sha?: string; - /** The name of the ref. This can be a branch, tag, or SHA. */ - ref?: string; - /** The name of the task for the deployment (e.g., `deploy` or `deploy:migrations`). */ - task?: string; - /** The name of the environment that was deployed to (e.g., `staging` or `production`). */ - environment?: string; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": components["schemas"]["deployment"][]; + "application/json": components["schemas"]["hook"][]; }; }; + 404: components["responses"]["not_found"]; }; }; /** - * Deployments offer a few configurable parameters with certain defaults. - * - * The `ref` parameter can be any named branch, tag, or SHA. At GitHub we often deploy branches and verify them - * before we merge a pull request. - * - * The `environment` parameter allows deployments to be issued to different runtime environments. Teams often have - * multiple environments for verifying their applications, such as `production`, `staging`, and `qa`. This parameter - * makes it easier to track which environments have requested deployments. The default environment is `production`. - * - * The `auto_merge` parameter is used to ensure that the requested ref is not behind the repository's default branch. If - * the ref _is_ behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds, - * the API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will - * return a failure response. - * - * By default, [commit statuses](https://docs.github.com/rest/reference/repos#statuses) for every submitted context must be in a `success` - * state. The `required_contexts` parameter allows you to specify a subset of contexts that must be `success`, or to - * specify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do - * not require any contexts or create any commit statuses, the deployment will always succeed. - * - * The `payload` parameter is available for any extra information that a deployment system might need. It is a JSON text - * field that will be passed on when a deployment event is dispatched. - * - * The `task` parameter is used by the deployment system to allow different execution paths. In the web world this might - * be `deploy:migrations` to run schema changes on the system. In the compiled world this could be a flag to compile an - * application with debugging enabled. - * - * Users with `repo` or `repo_deployment` scopes can create a deployment for a given ref. - * - * #### Merged branch response - * You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating - * a deployment. This auto-merge happens when: - * * Auto-merge option is enabled in the repository - * * Topic branch does not include the latest changes on the base branch, which is `master` in the response example - * * There are no merge conflicts - * - * If there are no new commits in the base branch, a new request to create a deployment should give a successful - * response. - * - * #### Merge conflict response - * This error happens when the `auto_merge` option is enabled and when the default branch (in this case `master`), can't - * be merged into the branch that's being deployed (in this case `topic-branch`), due to merge conflicts. - * - * #### Failed commit status checks - * This error happens when the `required_contexts` parameter indicates that one or more contexts need to have a `success` - * status for the commit to be deployed, but one or more of the required contexts do not have a state of `success`. + * Repositories can have multiple webhooks installed. Each webhook should have a unique `config`. Multiple webhooks can + * share the same `config` as long as those webhooks do not have any `events` that overlap. */ - "repos/create-deployment": { + "repos/create-webhook": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; }; }; responses: { - /** response */ + /** Response */ 201: { - content: { - "application/json": components["schemas"]["deployment"]; - }; - }; - /** Merged branch response */ - 202: { - content: { - "application/json": { - message?: string; - }; + headers: { + Location?: string; }; - }; - /** response */ - 409: { content: { - "application/json": { - message?: string; - documentation_url?: string; - }; + "application/json": components["schemas"]["hook"]; }; }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - /** The ref to deploy. This can be a branch, tag, or SHA. */ - ref: string; - /** Specifies a task to execute (e.g., `deploy` or `deploy:migrations`). */ - task?: string; - /** Attempts to automatically merge the default branch into the requested ref, if it's behind the default branch. */ - auto_merge?: boolean; - /** The [status](https://docs.github.com/rest/reference/repos#statuses) contexts to verify against commit status checks. If you omit this parameter, GitHub verifies all unique contexts before creating a deployment. To bypass checking entirely, pass an empty array. Defaults to all unique contexts. */ - required_contexts?: string[]; - payload?: { [key: string]: any } | string; - /** Name for the target deployment environment (e.g., `production`, `staging`, `qa`). */ - environment?: string; - /** Short description of the deployment. */ - description?: string | null; + /** @description Use `web` to create a webhook. Default: `web`. This parameter only accepts the value `web`. */ + name?: string; + /** @description Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/repos#create-hook-config-params). */ + config?: { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + /** @example "abc" */ + token?: string; + /** @example "sha256" */ + digest?: string; + }; /** - * Specifies if the given environment is specific to the deployment and will no longer exist at some point in the future. Default: `false` - * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type. **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type. + * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. + * @default [ + * "push" + * ] */ - transient_environment?: boolean; + events?: string[]; /** - * Specifies if the given environment is one that end-users directly interact with. Default: `true` when `environment` is `production` and `false` otherwise. - * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type. + * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + * @default true */ - production_environment?: boolean; - created_at?: string; - }; + active?: boolean; + } | null; }; }; }; - "repos/get-deployment": { + /** Returns a webhook configured in a repository. To get only the webhook `config` properties, see "[Get a webhook configuration for a repository](/rest/reference/repos#get-a-webhook-configuration-for-a-repository)." */ + "repos/get-webhook": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** deployment_id parameter */ - deployment_id: components["parameters"]["deployment_id"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["deployment"]; + "application/json": components["schemas"]["hook"]; }; }; 404: components["responses"]["not_found"]; }; }; - /** - * To ensure there can always be an active deployment, you can only delete an _inactive_ deployment. Anyone with `repo` or `repo_deployment` scopes can delete an inactive deployment. - * - * To set a deployment as inactive, you must: - * - * * Create a new deployment that is active so that the system has a record of the current state, then delete the previously active deployment. - * * Mark the active deployment as inactive by adding any non-successful deployment status. - * - * For more information, see "[Create a deployment](https://docs.github.com/rest/reference/repos/#create-a-deployment)" and "[Create a deployment status](https://docs.github.com/rest/reference/repos#create-a-deployment-status)." - */ - "repos/delete-deployment": { + "repos/delete-webhook": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** deployment_id parameter */ - deployment_id: components["parameters"]["deployment_id"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; }; }; - /** Users with pull access can view deployment statuses for a deployment: */ - "repos/list-deployment-statuses": { + /** Updates a webhook configured in a repository. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for a repository](/rest/reference/repos#update-a-webhook-configuration-for-a-repository)." */ + "repos/update-webhook": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** deployment_id parameter */ - deployment_id: components["parameters"]["deployment_id"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; }; - query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["hook"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/repos#create-hook-config-params). */ + config?: { + url: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + /** @example "bar@example.com" */ + address?: string; + /** @example "The Serious Room" */ + room?: string; + }; + /** + * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. This replaces the entire array of events. + * @default [ + * "push" + * ] + */ + events?: string[]; + /** @description Determines a list of events to be added to the list of events that the Hook triggers for. */ + add_events?: string[]; + /** @description Determines a list of events to be removed from the list of events that the Hook triggers for. */ + remove_events?: string[]; + /** + * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + * @default true + */ + active?: boolean; + }; + }; + }; + }; + /** + * Returns the webhook configuration for a repository. To get more information about the webhook, including the `active` state and `events`, use "[Get a repository webhook](/rest/reference/orgs#get-a-repository-webhook)." + * + * Access tokens must have the `read:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:read` permission. + */ + "repos/get-webhook-config-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; }; }; responses: { - /** response */ + /** Response */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["deployment-status"][]; + "application/json": components["schemas"]["webhook-config"]; }; }; - 404: components["responses"]["not_found"]; }; }; /** - * Users with `push` access can create deployment statuses for a given deployment. + * Updates the webhook configuration for a repository. To update more information about the webhook, including the `active` state and `events`, use "[Update a repository webhook](/rest/reference/orgs#update-a-repository-webhook)." * - * GitHub Apps require `read & write` access to "Deployments" and `read-only` access to "Repo contents" (for private repos). OAuth Apps require the `repo_deployment` scope. + * Access tokens must have the `write:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:write` permission. */ - "repos/create-deployment-status": { + "repos/update-webhook-config-for-repo": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** deployment_id parameter */ - deployment_id: components["parameters"]["deployment_id"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; }; }; responses: { - /** response */ - 201: { - headers: { - Location?: string; - }; + /** Response */ + 200: { content: { - "application/json": components["schemas"]["deployment-status"]; + "application/json": components["schemas"]["webhook-config"]; }; }; - 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - /** The state of the status. Can be one of `error`, `failure`, `inactive`, `in_progress`, `queued` `pending`, or `success`. **Note:** To use the `inactive` state, you must provide the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type. To use the `in_progress` and `queued` states, you must provide the [`application/vnd.github.flash-preview+json`](https://docs.github.com/rest/overview/api-previews#deployment-statuses) custom media type. When you set a transient deployment to `inactive`, the deployment will be shown as `destroyed` in GitHub. */ - state: - | "error" - | "failure" - | "inactive" - | "in_progress" - | "queued" - | "pending" - | "success"; - /** The target URL to associate with this status. This URL should contain output to keep the user updated while the task is running or serve as historical information for what happened in the deployment. **Note:** It's recommended to use the `log_url` parameter, which replaces `target_url`. */ - target_url?: string; - /** - * The full URL of the deployment's output. This parameter replaces `target_url`. We will continue to accept `target_url` to support legacy uses, but we recommend replacing `target_url` with `log_url`. Setting `log_url` will automatically set `target_url` to the same value. Default: `""` - * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type. **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type. - */ - log_url?: string; - /** A short description of the status. The maximum description length is 140 characters. */ - description?: string; - /** Name for the target deployment environment, which can be changed when setting a deploy status. For example, `production`, `staging`, or `qa`. **Note:** This parameter requires you to use the [`application/vnd.github.flash-preview+json`](https://docs.github.com/rest/overview/api-previews#deployment-statuses) custom media type. */ - environment?: "production" | "staging" | "qa"; - /** - * Sets the URL for accessing your environment. Default: `""` - * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type. **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type. - */ - environment_url?: string; - /** - * Adds a new `inactive` status to all prior non-transient, non-production environment deployments with the same repository and `environment` name as the created status's deployment. An `inactive` status is only added to deployments that had a `success` state. Default: `true` - * **Note:** To add an `inactive` status to `production` environments, you must use the [`application/vnd.github.flash-preview+json`](https://docs.github.com/rest/overview/api-previews#deployment-statuses) custom media type. - * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type. - */ - auto_inactive?: boolean; + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; }; }; }; }; - /** Users with pull access can view a deployment status for a deployment: */ - "repos/get-deployment-status": { + /** Returns a list of webhook deliveries for a webhook configured in a repository. */ + "repos/list-webhook-deliveries": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** deployment_id parameter */ - deployment_id: components["parameters"]["deployment_id"]; - status_id: number; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the `link` header for the next and previous page cursors. */ + cursor?: components["parameters"]["cursor"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["deployment-status"]; + "application/json": components["schemas"]["hook-delivery-item"][]; }; }; - 404: components["responses"]["not_found"]; - 415: components["responses"]["preview_header_missing"]; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; }; }; - /** - * You can use this endpoint to trigger a webhook event called `repository_dispatch` when you want activity that happens outside of GitHub to trigger a GitHub Actions workflow or GitHub App webhook. You must configure your GitHub Actions workflow or GitHub App to run when the `repository_dispatch` event occurs. For an example `repository_dispatch` webhook payload, see "[RepositoryDispatchEvent](https://docs.github.com/webhooks/event-payloads/#repository_dispatch)." - * - * The `client_payload` parameter is available for any extra information that your workflow might need. This parameter is a JSON payload that will be passed on when the webhook event is dispatched. For example, the `client_payload` can include a message that a user would like to send using a GitHub Actions workflow. Or the `client_payload` can be used as a test to debug your workflow. - * - * This endpoint requires write access to the repository by providing either: - * - * - Personal access tokens with `repo` scope. For more information, see "[Creating a personal access token for the command line](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line)" in the GitHub Help documentation. - * - GitHub Apps with both `metadata:read` and `contents:read&write` permissions. - * - * This input example shows how you can use the `client_payload` as a test to debug your workflow. - */ - "repos/create-dispatch-event": { + /** Returns a delivery for a webhook configured in a repository. */ + "repos/get-webhook-delivery": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + delivery_id: components["parameters"]["delivery-id"]; }; }; responses: { - /** Empty response */ - 204: never; - 422: components["responses"]["validation_failed"]; - }; - requestBody: { - content: { - "application/json": { - /** A custom webhook event name. */ - event_type: string; - /** JSON payload with extra information about the webhook event that your action or worklow may use. */ - client_payload?: { [key: string]: any }; + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["hook-delivery"]; }; }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; }; }; - "activity/list-repo-events": { + /** Redeliver a webhook delivery for a webhook configured in a repository. */ + "repos/redeliver-webhook-delivery": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - }; - query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + delivery_id: components["parameters"]["delivery-id"]; }; }; responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["event"][]; - }; - }; + 202: components["responses"]["accepted"]; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; }; }; - "repos/list-forks": { + /** This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. */ + "repos/ping-webhook": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - }; - query: { - /** The sort order. Can be either `newest`, `oldest`, or `stargazers`. */ - sort?: "newest" | "oldest" | "stargazers"; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; }; }; responses: { - /** response */ - 200: { - headers: {}; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** + * This will trigger the hook with the latest push to the current repository if the hook is subscribed to `push` events. If the hook is not subscribed to `push` events, the server will respond with 204 but no test POST will be generated. + * + * **Note**: Previously `/repos/:owner/:repo/hooks/:hook_id/test` + */ + "repos/test-push-webhook": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; }; - 400: components["responses"]["bad_request"]; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; }; }; /** - * Create a fork for the authenticated user. + * View the progress of an import. + * + * **Import status** + * + * This section includes details about the possible values of the `status` field of the Import Progress response. + * + * An import that does not have errors will progress through these steps: + * + * * `detecting` - the "detection" step of the import is in progress because the request did not include a `vcs` parameter. The import is identifying the type of source control present at the URL. + * * `importing` - the "raw" step of the import is in progress. This is where commit data is fetched from the original repository. The import progress response will include `commit_count` (the total number of raw commits that will be imported) and `percent` (0 - 100, the current progress through the import). + * * `mapping` - the "rewrite" step of the import is in progress. This is where SVN branches are converted to Git branches, and where author updates are applied. The import progress response does not include progress information. + * * `pushing` - the "push" step of the import is in progress. This is where the importer updates the repository on GitHub. The import progress response will include `push_percent`, which is the percent value reported by `git push` when it is "Writing objects". + * * `complete` - the import is complete, and the repository is ready on GitHub. + * + * If there are problems, you will see one of these in the `status` field: + * + * * `auth_failed` - the import requires authentication in order to connect to the original repository. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. + * * `error` - the import encountered an error. The import progress response will include the `failed_step` and an error message. Contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api) for more information. + * * `detection_needs_auth` - the importer requires authentication for the originating repository to continue detection. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. + * * `detection_found_nothing` - the importer didn't recognize any source control at the URL. To resolve, [Cancel the import](https://docs.github.com/rest/reference/migrations#cancel-an-import) and [retry](https://docs.github.com/rest/reference/migrations#start-an-import) with the correct URL. + * * `detection_found_multiple` - the importer found several projects or repositories at the provided URL. When this is the case, the Import Progress response will also include a `project_choices` field with the possible project choices as values. To update project choice, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. + * + * **The project_choices field** + * + * When multiple projects are found at the provided URL, the response hash will include a `project_choices` field, the value of which is an array of hashes each representing a project choice. The exact key/value pairs of the project hashes will differ depending on the version control type. * - * **Note**: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Support](https://support.github.com/contact) or [GitHub Premium Support](https://premium.githubsupport.com). + * **Git LFS related fields** + * + * This section includes details about Git LFS related fields that may be present in the Import Progress response. + * + * * `use_lfs` - describes whether the import has been opted in or out of using Git LFS. The value can be `opt_in`, `opt_out`, or `undecided` if no action has been taken. + * * `has_large_files` - the boolean value describing whether files larger than 100MB were found during the `importing` step. + * * `large_files_size` - the total size in gigabytes of files larger than 100MB found in the originating repository. + * * `large_files_count` - the total number of files larger than 100MB found in the originating repository. To see a list of these files, make a "Get Large Files" request. */ - "repos/create-fork": { + "migrations/get-import-status": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; }; }; responses: { - /** response */ - 202: { + /** Response */ + 200: { content: { - "application/json": components["schemas"]["repository"]; + "application/json": components["schemas"]["import"]; }; }; - 400: components["responses"]["bad_request"]; - 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - requestBody: { - content: { - "application/json": { - /** Optional parameter to specify the organization name if forking into an organization. */ - organization?: string; - }; - }; }; }; - "git/create-blob": { + /** Start a source import to a GitHub repository using GitHub Importer. */ + "migrations/start-import": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; }; }; responses: { - /** response */ + /** Response */ 201: { headers: { Location?: string; }; content: { - "application/json": components["schemas"]["short-blob"]; + "application/json": components["schemas"]["import"]; }; }; - 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - /** The new blob's content. */ - content: string; - /** The encoding used for `content`. Currently, `"utf-8"` and `"base64"` are supported. */ - encoding?: string; + /** @description The URL of the originating repository. */ + vcs_url: string; + /** + * @description The originating VCS type. Without this parameter, the import job will take additional time to detect the VCS type before beginning the import. This detection step will be reflected in the response. + * @enum {string} + */ + vcs?: "subversion" | "git" | "mercurial" | "tfvc"; + /** @description If authentication is required, the username to provide to `vcs_url`. */ + vcs_username?: string; + /** @description If authentication is required, the password to provide to `vcs_url`. */ + vcs_password?: string; + /** @description For a tfvc import, the name of the project that is being imported. */ + tfvc_project?: string; }; }; }; }; - /** - * The `content` in the response will always be Base64 encoded. - * - * _Note_: This API supports blobs up to 100 megabytes in size. - */ - "git/get-blob": { + /** Stop an import for a repository. */ + "migrations/cancel-import": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - file_sha: string; - }; - }; - responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["blob"]; - }; }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; }; - }; - /** - * Creates a new Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects). - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + responses: { + /** Response */ + 204: never; + }; + }; + /** + * An import can be updated with credentials or a project choice by passing in the appropriate parameters in this API + * request. If no parameters are provided, the import will be restarted. + * + * Some servers (e.g. TFS servers) can have several projects at a single URL. In those cases the import progress will + * have the status `detection_found_multiple` and the Import Progress response will include a `project_choices` array. + * You can select the project to import by providing one of the objects in the `project_choices` array in the update request. */ - "git/create-commit": { + "migrations/update-import": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; }; }; responses: { - /** response */ - 201: { - headers: { - Location?: string; - }; + /** Response */ + 200: { content: { - "application/json": components["schemas"]["git-commit"]; + "application/json": components["schemas"]["import"]; }; }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - /** The commit message */ - message: string; - /** The SHA of the tree object this commit points to */ - tree: string; - /** The SHAs of the commits that were the parents of this commit. If omitted or empty, the commit will be written as a root commit. For a single parent, an array of one SHA should be provided; for a merge commit, an array of more than one should be provided. */ - parents?: string[]; - /** Information about the author of the commit. By default, the `author` will be the authenticated user and the current date. See the `author` and `committer` object below for details. */ - author?: { - /** The name of the author (or committer) of the commit */ - name?: string; - /** The email of the author (or committer) of the commit */ - email?: string; - /** Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - date?: string; - }; - /** Information about the person who is making the commit. By default, `committer` will use the information set in `author`. See the `author` and `committer` object below for details. */ - committer?: { - /** The name of the author (or committer) of the commit */ - name?: string; - /** The email of the author (or committer) of the commit */ - email?: string; - /** Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - date?: string; - }; - /** The [PGP signature](https://en.wikipedia.org/wiki/Pretty_Good_Privacy) of the commit. GitHub adds the signature to the `gpgsig` header of the created commit. For a commit signature to be verifiable by Git or GitHub, it must be an ASCII-armored detached PGP signature over the string commit as it would be written to the object database. To pass a `signature` parameter, you need to first manually create a valid PGP signature, which can be complicated. You may find it easier to [use the command line](https://git-scm.com/book/id/v2/Git-Tools-Signing-Your-Work) to create signed commits. */ - signature?: string; - }; + /** @description The username to provide to the originating repository. */ + vcs_username?: string; + /** @description The password to provide to the originating repository. */ + vcs_password?: string; + /** + * @description The type of version control system you are migrating from. + * @example "git" + * @enum {string} + */ + vcs?: "subversion" | "tfvc" | "git" | "mercurial"; + /** + * @description For a tfvc import, the name of the project that is being imported. + * @example "project1" + */ + tfvc_project?: string; + } | null; }; }; }; /** - * Gets a Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects). - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: + * Each type of source control system represents authors in a different way. For example, a Git commit author has a display name and an email address, but a Subversion commit author just has a username. The GitHub Importer will make the author information valid, but the author might not be correct. For example, it will change the bare Subversion username `hubot` into something like `hubot `. * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + * This endpoint and the [Map a commit author](https://docs.github.com/rest/reference/migrations#map-a-commit-author) endpoint allow you to provide correct Git author information. */ - "git/get-commit": { + "migrations/get-commit-authors": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** commit_sha parameter */ - commit_sha: components["parameters"]["commit_sha"]; + }; + query: { + /** A user ID. Only return users with an ID greater than this ID. */ + since?: components["parameters"]["since-user"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["git-commit"]; + "application/json": components["schemas"]["porter-author"][]; }; }; 404: components["responses"]["not_found"]; }; }; - /** - * Returns an array of references from your Git database that match the supplied name. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't exist in the repository, but existing refs start with `:ref`, they will be returned as an array. - * - * When you use this endpoint without providing a `:ref`, it will return an array of all the references from your Git database, including notes and stashes if they exist on the server. Anything in the namespace is returned, not just `heads` and `tags`. - * - * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". - * - * If you request matching references for a branch named `feature` but the branch `feature` doesn't exist, the response can still include other matching head refs that start with the word `feature`, such as `featureA` and `featureB`. - */ - "git/list-matching-refs": { + /** Update an author's identity for the import. Your application can continue updating authors any time before you push new commits to the repository. */ + "migrations/map-commit-author": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** ref+ parameter */ - ref: string; - }; - query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + author_id: number; }; }; responses: { - /** response */ + /** Response */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["git-ref"][]; + "application/json": components["schemas"]["porter-author"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The new Git author email. */ + email?: string; + /** @description The new Git author name. */ + name?: string; }; }; }; }; - /** - * Returns a single reference from your Git database. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't match an existing ref, a `404` is returned. - * - * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". - */ - "git/get-ref": { + /** List files larger than 100MB found during the import */ + "migrations/get-large-files": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** ref+ parameter */ - ref: string; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["git-ref"]; + "application/json": components["schemas"]["porter-large-file"][]; }; }; - 404: components["responses"]["not_found"]; }; }; - /** Creates a reference for your repository. You are unable to create new references for empty repositories, even if the commit SHA-1 hash used exists. Empty repositories are repositories without branches. */ - "git/create-ref": { + /** You can import repositories from Subversion, Mercurial, and TFS that include files larger than 100MB. This ability is powered by [Git LFS](https://git-lfs.github.com). You can learn more about our LFS feature and working with large files [on our help site](https://docs.github.com/articles/versioning-large-files/). */ + "migrations/set-lfs-preference": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; }; }; responses: { - /** response */ - 201: { - headers: { - Location?: string; - }; + /** Response */ + 200: { content: { - "application/json": components["schemas"]["git-ref"]; + "application/json": components["schemas"]["import"]; }; }; 422: components["responses"]["validation_failed"]; @@ -20976,2962 +36750,3425 @@ export interface operations { requestBody: { content: { "application/json": { - /** The name of the fully qualified reference (ie: `refs/heads/master`). If it doesn't start with 'refs' and have at least two slashes, it will be rejected. */ - ref: string; - /** The SHA1 value for this reference. */ - sha: string; - key?: string; + /** + * @description Whether to store large files during the import. `opt_in` means large files will be stored using Git LFS. `opt_out` means large files will be removed during the import. + * @enum {string} + */ + use_lfs: "opt_in" | "opt_out"; }; }; }; }; - "git/delete-ref": { + /** + * Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-repo-installation": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** ref+ parameter */ - ref: string; }; }; responses: { - /** Empty response */ - 204: never; - 422: components["responses"]["validation_failed"]; + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["installation"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; }; }; - "git/update-ref": { + /** Shows which type of GitHub user can interact with this repository and when the restriction expires. If there are no restrictions, you will see an empty response. */ + "interactions/get-restrictions-for-repo": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** ref+ parameter */ - ref: string; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["git-ref"]; + "application/json": Partial< + components["schemas"]["interaction-limit-response"] + > & + Partial<{ [key: string]: unknown }>; }; }; - 422: components["responses"]["validation_failed"]; + }; + }; + /** Temporarily restricts interactions to a certain type of GitHub user within the given repository. You must have owner or admin access to set these restrictions. If an interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. */ + "interactions/set-restrictions-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["interaction-limit-response"]; + }; + }; + /** Response */ + 409: unknown; }; requestBody: { content: { - "application/json": { - /** The SHA1 value to set this reference to */ - sha: string; - /** Indicates whether to force the update or to make sure the update is a fast-forward update. Leaving this out or setting it to `false` will make sure you're not overwriting work. */ - force?: boolean; - }; + "application/json": components["schemas"]["interaction-limit"]; }; }; }; - /** - * Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then [create](https://docs.github.com/rest/reference/git#create-a-reference) the `refs/tags/[tag]` reference. If you want to create a lightweight tag, you only have to [create](https://docs.github.com/rest/reference/git#create-a-reference) the tag reference - this call would be unnecessary. - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - "git/create-tag": { + /** Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. If the interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. */ + "interactions/remove-restrictions-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + /** Response */ + 409: unknown; + }; + }; + /** When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations. */ + "repos/list-invitations": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["repository-invitation"][]; + }; + }; + }; + }; + "repos/delete-invitation": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; }; }; responses: { - /** response */ - 201: { - headers: { - Location?: string; - }; + /** Response */ + 204: never; + }; + }; + "repos/update-invitation": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; + }; + }; + responses: { + /** Response */ + 200: { content: { - "application/json": components["schemas"]["git-tag"]; + "application/json": components["schemas"]["repository-invitation"]; }; }; - 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - /** The tag's name. This is typically a version (e.g., "v0.0.1"). */ - tag: string; - /** The tag message. */ - message: string; - /** The SHA of the git object this is tagging. */ - object: string; - /** The type of the object we're tagging. Normally this is a `commit` but it can also be a `tree` or a `blob`. */ - type: "commit" | "tree" | "blob"; - /** An object with information about the individual creating the tag. */ - tagger?: { - /** The name of the author of the tag */ - name?: string; - /** The email of the author of the tag */ - email?: string; - /** When this object was tagged. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - date?: string; - }; + /** + * @description The permissions that the associated user will have on the repository. Valid values are `read`, `write`, `maintain`, `triage`, and `admin`. + * @enum {string} + */ + permissions?: "read" | "write" | "maintain" | "triage" | "admin"; }; }; }; }; /** - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: + * List issues in a repository. * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. */ - "git/get-tag": { + "issues/list-for-repo": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - tag_sha: string; + }; + query: { + /** If an `integer` is passed, it should refer to a milestone by its `number` field. If the string `*` is passed, issues with any milestone are accepted. If the string `none` is passed, issues without milestones are returned. */ + milestone?: string; + /** Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. */ + state?: "open" | "closed" | "all"; + /** Can be the name of a user. Pass in `none` for issues with no assigned user, and `*` for issues assigned to any user. */ + assignee?: string; + /** The user that created the issue. */ + creator?: string; + /** A user that's mentioned in the issue. */ + mentioned?: string; + /** A list of comma separated label names. Example: `bug,ui,@high` */ + labels?: components["parameters"]["labels"]; + /** What to sort results by. Can be either `created`, `updated`, `comments`. */ + sort?: "created" | "updated" | "comments"; + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { + headers: {}; content: { - "application/json": components["schemas"]["git-tag"]; + "application/json": components["schemas"]["issue"][]; }; }; + 301: components["responses"]["moved_permanently"]; 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; /** - * The tree creation API accepts nested entries. If you specify both a tree and a nested path modifying that tree, this endpoint will overwrite the contents of the tree with the new path contents, and create a new tree structure. + * Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://docs.github.com/articles/disabling-issues/), the API returns a `410 Gone` status. * - * If you use this endpoint to add, delete, or modify the file contents in a tree, you will need to commit the tree and then update a branch to point to the commit. For more information see "[Create a commit](https://docs.github.com/rest/reference/git#create-a-commit)" and "[Update a reference](https://docs.github.com/rest/reference/git#update-a-reference)." + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ - "git/create-tree": { + "issues/create": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; }; }; responses: { - /** response */ + /** Response */ 201: { headers: { Location?: string; }; content: { - "application/json": components["schemas"]["git-tree"]; + "application/json": components["schemas"]["issue"]; }; }; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; }; requestBody: { content: { "application/json": { - /** Objects (of `path`, `mode`, `type`, and `sha`) specifying a tree structure. */ - tree: { - /** The file referenced in the tree. */ - path?: string; - /** The file mode; one of `100644` for file (blob), `100755` for executable (blob), `040000` for subdirectory (tree), `160000` for submodule (commit), or `120000` for a blob that specifies the path of a symlink. */ - mode?: "100644" | "100755" | "040000" | "160000" | "120000"; - /** Either `blob`, `tree`, or `commit`. */ - type?: "blob" | "tree" | "commit"; - /** - * The SHA1 checksum ID of the object in the tree. Also called `tree.sha`. If the value is `null` then the file will be deleted. - * - * **Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error. - */ - sha?: string | null; - /** - * The content you want this file to have. GitHub will write this blob out and use that SHA for this entry. Use either this, or `tree.sha`. - * - * **Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error. - */ - content?: string; - }[]; - /** - * The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on. - * If not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit. - */ - base_tree?: string; + /** @description The title of the issue. */ + title: string | number; + /** @description The contents of the issue. */ + body?: string; + /** @description Login for the user that this issue should be assigned to. _NOTE: Only users with push access can set the assignee for new issues. The assignee is silently dropped otherwise. **This field is deprecated.**_ */ + assignee?: string | null; + milestone?: (string | number) | null; + /** @description Labels to associate with this issue. _NOTE: Only users with push access can set labels for new issues. Labels are silently dropped otherwise._ */ + labels?: ( + | string + | { + id?: number; + name?: string; + description?: string | null; + color?: string | null; + } + )[]; + /** @description Logins for Users to assign to this issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ */ + assignees?: string[]; }; }; }; }; - /** - * Returns a single tree using the SHA1 value for that tree. - * - * If `truncated` is `true` in the response then the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, use the non-recursive method of fetching trees, and fetch one sub-tree at a time. - */ - "git/get-tree": { + /** By default, Issue Comments are ordered by ascending ID. */ + "issues/list-comments-for-repo": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - tree_sha: string; }; query: { - /** Setting this parameter to any value returns the objects or subtrees referenced by the tree specified in `:tree_sha`. For example, setting `recursive` to any of the following will enable returning objects or subtrees: `0`, `1`, `"true"`, and `"false"`. Omit this parameter to prevent recursively returning objects or subtrees. */ - recursive?: string; + /** The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to. */ + sort?: components["parameters"]["sort"]; + /** Either `asc` or `desc`. Ignored without the `sort` parameter. */ + direction?: "asc" | "desc"; + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { + headers: {}; content: { - "application/json": components["schemas"]["git-tree"]; + "application/json": components["schemas"]["issue-comment"][]; }; }; 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; }; }; - "repos/list-webhooks": { + "issues/get-comment": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - }; - query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; }; }; responses: { - /** response */ + /** Response */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["hook"][]; + "application/json": components["schemas"]["issue-comment"]; }; }; 404: components["responses"]["not_found"]; }; }; - /** - * Repositories can have multiple webhooks installed. Each webhook should have a unique `config`. Multiple webhooks can - * share the same `config` as long as those webhooks do not have any `events` that overlap. - */ - "repos/create-webhook": { + "issues/delete-comment": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; }; }; responses: { - /** response */ - 201: { - headers: { - Location?: string; - }; - content: { - "application/json": components["schemas"]["hook"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - requestBody: { - content: { - "application/json": { - /** Use `web` to create a webhook. Default: `web`. This parameter only accepts the value `web`. */ - name?: string; - /** Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/repos#create-hook-config-params). */ - config: { - url: components["schemas"]["webhook-config-url"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - secret?: components["schemas"]["webhook-config-secret"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - token?: string; - digest?: string; - }; - /** Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. */ - events?: string[]; - /** Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. */ - active?: boolean; - }; - }; + /** Response */ + 204: never; }; }; - /** Returns a webhook configured in a repository. To get only the webhook `config` properties, see "[Get a webhook configuration for a repository](/rest/reference/repos#get-a-webhook-configuration-for-a-repository)." */ - "repos/get-webhook": { + "issues/update-comment": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - hook_id: components["parameters"]["hook-id"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["hook"]; + "application/json": components["schemas"]["issue-comment"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The contents of the comment. */ + body: string; }; }; - 404: components["responses"]["not_found"]; }; }; - "repos/delete-webhook": { + /** List the reactions to an [issue comment](https://docs.github.com/rest/reference/issues#comments). */ + "reactions/list-for-issue-comment": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - hook_id: components["parameters"]["hook-id"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + query: { + /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to an issue comment. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** Empty response */ - 204: never; + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; 404: components["responses"]["not_found"]; }; }; - /** Updates a webhook configured in a repository. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for a repository](/rest/reference/repos#update-a-webhook-configuration-for-a-repository)." */ - "repos/update-webhook": { + /** Create a reaction to an [issue comment](https://docs.github.com/rest/reference/issues#comments). A response with an HTTP `200` status means that you already added the reaction type to this issue comment. */ + "reactions/create-for-issue-comment": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - hook_id: components["parameters"]["hook-id"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; }; }; responses: { - /** response */ + /** Reaction exists */ 200: { content: { - "application/json": components["schemas"]["hook"]; + "application/json": components["schemas"]["reaction"]; + }; + }; + /** Reaction created */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; }; }; - 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - /** Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/repos#create-hook-config-params). */ - config?: { - url: components["schemas"]["webhook-config-url"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - secret?: components["schemas"]["webhook-config-secret"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - address?: string; - room?: string; - }; - /** Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. This replaces the entire array of events. */ - events?: string[]; - /** Determines a list of events to be added to the list of events that the Hook triggers for. */ - add_events?: string[]; - /** Determines a list of events to be removed from the list of events that the Hook triggers for. */ - remove_events?: string[]; - /** Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. */ - active?: boolean; + /** + * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the issue comment. + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; }; }; }; }; /** - * Returns the webhook configuration for a repository. To get more information about the webhook, including the `active` state and `events`, use "[Get a repository webhook](/rest/reference/orgs#get-a-repository-webhook)." + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id`. * - * Access tokens must have the `read:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:read` permission. + * Delete a reaction to an [issue comment](https://docs.github.com/rest/reference/issues#comments). */ - "repos/get-webhook-config-for-repo": { + "reactions/delete-for-issue-comment": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - hook_id: components["parameters"]["hook-id"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + /** The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; }; }; responses: { - /** Default response */ - 200: { - content: { - "application/json": components["schemas"]["webhook-config"]; - }; - }; + /** Response */ + 204: never; }; }; - /** - * Updates the webhook configuration for a repository. To update more information about the webhook, including the `active` state and `events`, use "[Update a repository webhook](/rest/reference/orgs#update-a-repository-webhook)." - * - * Access tokens must have the `write:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:write` permission. - */ - "repos/update-webhook-config-for-repo": { + "issues/list-events-for-repo": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - hook_id: components["parameters"]["hook-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** Default response */ + /** Response */ 200: { + headers: {}; content: { - "application/json": components["schemas"]["webhook-config"]; - }; - }; - }; - requestBody: { - content: { - "application/json": { - url?: components["schemas"]["webhook-config-url"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - secret?: components["schemas"]["webhook-config-secret"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + "application/json": components["schemas"]["issue-event"][]; }; }; + 422: components["responses"]["validation_failed"]; }; }; - /** This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. */ - "repos/ping-webhook": { + "issues/get-event": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - hook_id: components["parameters"]["hook-id"]; + event_id: number; }; }; responses: { - /** Empty response */ - 204: never; + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["issue-event"]; + }; + }; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; }; }; /** - * This will trigger the hook with the latest push to the current repository if the hook is subscribed to `push` events. If the hook is not subscribed to `push` events, the server will respond with 204 but no test POST will be generated. + * The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-redirects-redirects) if the issue was + * [transferred](https://docs.github.com/articles/transferring-an-issue-to-another-repository/) to another repository. If + * the issue was transferred to or deleted from a repository where the authenticated user lacks read access, the API + * returns a `404 Not Found` status. If the issue was deleted from a repository where the authenticated user has read + * access, the API returns a `410 Gone` status. To receive webhook events for transferred and deleted issues, subscribe + * to the [`issues`](https://docs.github.com/webhooks/event-payloads/#issues) webhook. * - * **Note**: Previously `/repos/:owner/:repo/hooks/:hook_id/test` + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. */ - "repos/test-push-webhook": { + "issues/get": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - hook_id: components["parameters"]["hook-id"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; }; }; responses: { - /** Empty response */ - 204: never; + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 304: components["responses"]["not_modified"]; 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; }; }; - /** - * View the progress of an import. - * - * **Import status** - * - * This section includes details about the possible values of the `status` field of the Import Progress response. - * - * An import that does not have errors will progress through these steps: - * - * * `detecting` - the "detection" step of the import is in progress because the request did not include a `vcs` parameter. The import is identifying the type of source control present at the URL. - * * `importing` - the "raw" step of the import is in progress. This is where commit data is fetched from the original repository. The import progress response will include `commit_count` (the total number of raw commits that will be imported) and `percent` (0 - 100, the current progress through the import). - * * `mapping` - the "rewrite" step of the import is in progress. This is where SVN branches are converted to Git branches, and where author updates are applied. The import progress response does not include progress information. - * * `pushing` - the "push" step of the import is in progress. This is where the importer updates the repository on GitHub. The import progress response will include `push_percent`, which is the percent value reported by `git push` when it is "Writing objects". - * * `complete` - the import is complete, and the repository is ready on GitHub. - * - * If there are problems, you will see one of these in the `status` field: - * - * * `auth_failed` - the import requires authentication in order to connect to the original repository. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. - * * `error` - the import encountered an error. The import progress response will include the `failed_step` and an error message. Contact [GitHub Support](https://support.github.com/contact) or [GitHub Premium Support](https://premium.githubsupport.com) for more information. - * * `detection_needs_auth` - the importer requires authentication for the originating repository to continue detection. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. - * * `detection_found_nothing` - the importer didn't recognize any source control at the URL. To resolve, [Cancel the import](https://docs.github.com/rest/reference/migrations#cancel-an-import) and [retry](https://docs.github.com/rest/reference/migrations#start-an-import) with the correct URL. - * * `detection_found_multiple` - the importer found several projects or repositories at the provided URL. When this is the case, the Import Progress response will also include a `project_choices` field with the possible project choices as values. To update project choice, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. - * - * **The project_choices field** - * - * When multiple projects are found at the provided URL, the response hash will include a `project_choices` field, the value of which is an array of hashes each representing a project choice. The exact key/value pairs of the project hashes will differ depending on the version control type. - * - * **Git LFS related fields** - * - * This section includes details about Git LFS related fields that may be present in the Import Progress response. - * - * * `use_lfs` - describes whether the import has been opted in or out of using Git LFS. The value can be `opt_in`, `opt_out`, or `undecided` if no action has been taken. - * * `has_large_files` - the boolean value describing whether files larger than 100MB were found during the `importing` step. - * * `large_files_size` - the total size in gigabytes of files larger than 100MB found in the originating repository. - * * `large_files_count` - the total number of files larger than 100MB found in the originating repository. To see a list of these files, make a "Get Large Files" request. - */ - "migrations/get-import-status": { + /** Issue owners and users with push access can edit an issue. */ + "issues/update": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["import"]; + "application/json": components["schemas"]["issue"]; }; }; + 301: components["responses"]["moved_permanently"]; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The title of the issue. */ + title?: (string | number) | null; + /** @description The contents of the issue. */ + body?: string | null; + /** @description Login for the user that this issue should be assigned to. **This field is deprecated.** */ + assignee?: string | null; + /** + * @description State of the issue. Either `open` or `closed`. + * @enum {string} + */ + state?: "open" | "closed"; + milestone?: (string | number) | null; + /** @description Labels to associate with this issue. Pass one or more Labels to _replace_ the set of Labels on this Issue. Send an empty array (`[]`) to clear all Labels from the Issue. _NOTE: Only users with push access can set labels for issues. Labels are silently dropped otherwise._ */ + labels?: ( + | string + | { + id?: number; + name?: string; + description?: string | null; + color?: string | null; + } + )[]; + /** @description Logins for Users to assign to this issue. Pass one or more user logins to _replace_ the set of assignees on this Issue. Send an empty array (`[]`) to clear all assignees from the Issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ */ + assignees?: string[]; + }; + }; }; }; - /** Start a source import to a GitHub repository using GitHub Importer. */ - "migrations/start-import": { + /** Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced. */ + "issues/add-assignees": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; }; }; responses: { - /** response */ + /** Response */ 201: { - headers: { - Location?: string; + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Usernames of people to assign this issue to. _NOTE: Only users with push access can add assignees to an issue. Assignees are silently ignored otherwise._ */ + assignees?: string[]; }; + }; + }; + }; + /** Removes one or more assignees from an issue. */ + "issues/remove-assignees": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** Response */ + 200: { content: { - "application/json": components["schemas"]["import"]; + "application/json": components["schemas"]["issue"]; }; }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - /** The URL of the originating repository. */ - vcs_url: string; - /** The originating VCS type. Can be one of `subversion`, `git`, `mercurial`, or `tfvc`. Please be aware that without this parameter, the import job will take additional time to detect the VCS type before beginning the import. This detection step will be reflected in the response. */ - vcs?: "subversion" | "git" | "mercurial" | "tfvc"; - /** If authentication is required, the username to provide to `vcs_url`. */ - vcs_username?: string; - /** If authentication is required, the password to provide to `vcs_url`. */ - vcs_password?: string; - /** For a tfvc import, the name of the project that is being imported. */ - tfvc_project?: string; + /** @description Usernames of assignees to remove from an issue. _NOTE: Only users with push access can remove assignees from an issue. Assignees are silently ignored otherwise._ */ + assignees: string[]; }; }; }; }; - /** Stop an import for a repository. */ - "migrations/cancel-import": { + /** Issue Comments are ordered by ascending ID. */ + "issues/list-comments": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + query: { + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** Empty response */ - 204: never; + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["issue-comment"][]; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; }; }; - /** - * An import can be updated with credentials or a project choice by passing in the appropriate parameters in this API - * request. If no parameters are provided, the import will be restarted. - */ - "migrations/update-import": { + /** This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ + "issues/create-comment": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; }; }; responses: { - /** response */ - 200: { + /** Response */ + 201: { + headers: { + Location?: string; + }; content: { - "application/json": components["schemas"]["import"]; + "application/json": components["schemas"]["issue-comment"]; }; }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - /** The username to provide to the originating repository. */ - vcs_username?: string; - /** The password to provide to the originating repository. */ - vcs_password?: string; - vcs?: string; - tfvc_project?: string; + /** @description The contents of the comment. */ + body: string; }; }; }; }; - /** - * Each type of source control system represents authors in a different way. For example, a Git commit author has a display name and an email address, but a Subversion commit author just has a username. The GitHub Importer will make the author information valid, but the author might not be correct. For example, it will change the bare Subversion username `hubot` into something like `hubot `. - * - * This endpoint and the [Map a commit author](https://docs.github.com/rest/reference/migrations#map-a-commit-author) endpoint allow you to provide correct Git author information. - */ - "migrations/get-commit-authors": { + "issues/list-events": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; }; query: { - /** A user ID. Only return users with an ID greater than this ID. */ - since?: components["parameters"]["since-user"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { + headers: {}; content: { - "application/json": components["schemas"]["porter-author"][]; + "application/json": components["schemas"]["issue-event-for-issue"][]; }; }; - 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; }; }; - /** Update an author's identity for the import. Your application can continue updating authors any time before you push new commits to the repository. */ - "migrations/map-commit-author": { + "issues/list-labels-on-issue": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - author_id: number; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { + headers: {}; content: { - "application/json": components["schemas"]["porter-author"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - requestBody: { - content: { - "application/json": { - /** The new Git author email. */ - email?: string; - /** The new Git author name. */ - name?: string; - remote_id?: string; + "application/json": components["schemas"]["label"][]; }; }; + 410: components["responses"]["gone"]; }; }; - /** List files larger than 100MB found during the import */ - "migrations/get-large-files": { + /** Removes any previous labels and sets the new labels for an issue. */ + "issues/set-labels": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["porter-large-file"][]; + "application/json": components["schemas"]["label"][]; }; }; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": + | { + /** @description The names of the labels to set for the issue. The labels you set replace any existing labels. You can pass an empty array to remove all labels. Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. You can also add labels to the existing labels for an issue. For more information, see "[Add labels to an issue](https://docs.github.com/rest/reference/issues#add-labels-to-an-issue)." */ + labels?: string[]; + } + | { + labels?: { + name: string; + }[]; + }; + }; }; }; - /** You can import repositories from Subversion, Mercurial, and TFS that include files larger than 100MB. This ability is powered by [Git LFS](https://git-lfs.github.com). You can learn more about our LFS feature and working with large files [on our help site](https://help.github.com/articles/versioning-large-files/). */ - "migrations/set-lfs-preference": { + "issues/add-labels": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["import"]; + "application/json": components["schemas"]["label"][]; }; }; + 410: components["responses"]["gone"]; 422: components["responses"]["validation_failed"]; }; requestBody: { content: { - "application/json": { - /** Can be one of `opt_in` (large files will be stored using Git LFS) or `opt_out` (large files will be removed during the import). */ - use_lfs: "opt_in" | "opt_out"; - }; + "application/json": + | { + /** @description The names of the labels to add to the issue's existing labels. You can pass an empty array to remove all labels. Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. You can also replace all of the labels for an issue. For more information, see "[Set labels for an issue](https://docs.github.com/rest/reference/issues#set-labels-for-an-issue)." */ + labels?: string[]; + } + | { + labels?: { + name: string; + }[]; + }; }; }; }; - /** - * Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/get-repo-installation": { + "issues/remove-all-labels": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; }; }; responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["installation"]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 404: components["responses"]["not_found"]; + /** Response */ + 204: never; + 410: components["responses"]["gone"]; }; }; - /** Shows which type of GitHub user can interact with this repository and when the restriction expires. If there are no restrictions, you will see an empty response. */ - "interactions/get-restrictions-for-repo": { + /** Removes the specified label from the issue, and returns the remaining labels on the issue. This endpoint returns a `404 Not Found` status if the label does not exist. */ + "issues/remove-label": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + name: string; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["interaction-limit-response"]; + "application/json": components["schemas"]["label"][]; }; }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; }; }; - /** Temporarily restricts interactions to a certain type of GitHub user within the given repository. You must have owner or admin access to set these restrictions. If an interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. */ - "interactions/set-restrictions-for-repo": { + /** + * Users with push access can lock an issue or pull request's conversation. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + "issues/lock": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; }; }; responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["interaction-limit-response"]; - }; - }; - /** Conflict */ - 409: unknown; + /** Response */ + 204: never; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; }; requestBody: { content: { - "application/json": components["schemas"]["interaction-limit"]; + "application/json": { + /** + * @description The reason for locking the issue or pull request conversation. Lock will fail if you don't use one of these reasons: + * \* `off-topic` + * \* `too heated` + * \* `resolved` + * \* `spam` + * @enum {string} + */ + lock_reason?: "off-topic" | "too heated" | "resolved" | "spam"; + } | null; }; }; }; - /** Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. If the interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. */ - "interactions/remove-restrictions-for-repo": { + /** Users with push access can unlock an issue's conversation. */ + "issues/unlock": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; - /** Conflict */ - 409: unknown; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; - /** When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations. */ - "repos/list-invitations": { + /** List the reactions to an [issue](https://docs.github.com/rest/reference/issues). */ + "reactions/list-for-issue": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to an issue. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": components["schemas"]["repository-invitation"][]; + "application/json": components["schemas"]["reaction"][]; }; }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; }; }; - "repos/delete-invitation": { + /** Create a reaction to an [issue](https://docs.github.com/rest/reference/issues/). A response with an HTTP `200` status means that you already added the reaction type to this issue. */ + "reactions/create-for-issue": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** invitation_id parameter */ - invitation_id: components["parameters"]["invitation_id"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; }; }; responses: { - /** Empty response */ + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the issue. + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + }; + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id`. + * + * Delete a reaction to an [issue](https://docs.github.com/rest/reference/issues/). + */ + "reactions/delete-for-issue": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + /** The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** Response */ 204: never; }; }; - "repos/update-invitation": { + "issues/list-events-for-timeline": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** invitation_id parameter */ - invitation_id: components["parameters"]["invitation_id"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { + headers: {}; content: { - "application/json": components["schemas"]["repository-invitation"]; - }; - }; - }; - requestBody: { - content: { - "application/json": { - /** The permissions that the associated user will have on the repository. Valid values are `read`, `write`, `maintain`, `triage`, and `admin`. */ - permissions?: "read" | "write" | "maintain" | "triage" | "admin"; + "application/json": components["schemas"]["timeline-issue-events"][]; }; }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; }; }; - /** - * List issues in a repository. - * - * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. - */ - "issues/list-for-repo": { + "repos/list-deploy-keys": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; }; query: { - /** If an `integer` is passed, it should refer to a milestone by its `number` field. If the string `*` is passed, issues with any milestone are accepted. If the string `none` is passed, issues without milestones are returned. */ - milestone?: string; - /** Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. */ - state?: "open" | "closed" | "all"; - /** Can be the name of a user. Pass in `none` for issues with no assigned user, and `*` for issues assigned to any user. */ - assignee?: string; - /** The user that created the issue. */ - creator?: string; - /** A user that's mentioned in the issue. */ - mentioned?: string; - /** A list of comma separated label names. Example: `bug,ui,@high` */ - labels?: components["parameters"]["labels"]; - /** What to sort results by. Can be either `created`, `updated`, `comments`. */ - sort?: "created" | "updated" | "comments"; - /** One of `asc` (ascending) or `desc` (descending). */ - direction?: components["parameters"]["direction"]; - /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - since?: components["parameters"]["since"]; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": components["schemas"]["issue-simple"][]; + "application/json": components["schemas"]["deploy-key"][]; }; }; - 301: components["responses"]["moved_permanently"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; }; }; - /** - * Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://help.github.com/articles/disabling-issues/), the API returns a `410 Gone` status. - * - * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-abuse-rate-limits)" for details. - */ - "issues/create": { + /** You can create a read-only deploy key. */ + "repos/create-deploy-key": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; }; }; responses: { - /** response */ + /** Response */ 201: { headers: { Location?: string; }; content: { - "application/json": components["schemas"]["issue"]; + "application/json": components["schemas"]["deploy-key"]; }; }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; 422: components["responses"]["validation_failed"]; - 503: components["responses"]["service_unavailable"]; }; requestBody: { content: { "application/json": { - /** The title of the issue. */ - title: string | number; - /** The contents of the issue. */ - body?: string; - /** Login for the user that this issue should be assigned to. _NOTE: Only users with push access can set the assignee for new issues. The assignee is silently dropped otherwise. **This field is deprecated.**_ */ - assignee?: string | null; - milestone?: (string | number) | null; - /** Labels to associate with this issue. _NOTE: Only users with push access can set labels for new issues. Labels are silently dropped otherwise._ */ - labels?: ( - | string - | { - id?: number; - name?: string; - description?: string | null; - color?: string | null; - } - )[]; - /** Logins for Users to assign to this issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ */ - assignees?: string[]; + /** @description A name for the key. */ + title?: string; + /** @description The contents of the key. */ + key: string; + /** + * @description If `true`, the key will only be able to read repository contents. Otherwise, the key will be able to read and write. + * + * Deploy keys with write access can perform the same actions as an organization member with admin access, or a collaborator on a personal repository. For more information, see "[Repository permission levels for an organization](https://docs.github.com/articles/repository-permission-levels-for-an-organization/)" and "[Permission levels for a user account repository](https://docs.github.com/articles/permission-levels-for-a-user-account-repository/)." + */ + read_only?: boolean; }; }; }; }; - /** By default, Issue Comments are ordered by ascending ID. */ - "issues/list-comments-for-repo": { + "repos/get-deploy-key": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - }; - query: { - /** One of `created` (when the repository was starred) or `updated` (when it was last pushed to). */ - sort?: components["parameters"]["sort"]; - /** Either `asc` or `desc`. Ignored without the `sort` parameter. */ - direction?: "asc" | "desc"; - /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - since?: components["parameters"]["since"]; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** The unique identifier of the key. */ + key_id: components["parameters"]["key-id"]; }; }; responses: { - /** response */ + /** Response */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["issue-comment"][]; + "application/json": components["schemas"]["deploy-key"]; }; }; 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; }; }; - "issues/get-comment": { + /** Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead. */ + "repos/delete-deploy-key": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** comment_id parameter */ - comment_id: components["parameters"]["comment_id"]; + /** The unique identifier of the key. */ + key_id: components["parameters"]["key-id"]; }; }; responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["issue-comment"]; - }; - }; - 404: components["responses"]["not_found"]; + /** Response */ + 204: never; }; }; - "issues/delete-comment": { + "issues/list-labels-for-repo": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** comment_id parameter */ - comment_id: components["parameters"]["comment_id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** Empty response */ - 204: never; + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 404: components["responses"]["not_found"]; }; }; - "issues/update-comment": { + "issues/create-label": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** comment_id parameter */ - comment_id: components["parameters"]["comment_id"]; }; }; responses: { - /** response */ - 200: { + /** Response */ + 201: { + headers: { + Location?: string; + }; content: { - "application/json": components["schemas"]["issue-comment"]; + "application/json": components["schemas"]["label"]; }; }; + 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - /** The contents of the comment. */ - body: string; + /** @description The name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png ":strawberry:"). For a full list of available emoji and codes, see "[Emoji cheat sheet](https://github.com/ikatyang/emoji-cheat-sheet)." */ + name: string; + /** @description The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. */ + color?: string; + /** @description A short description of the label. Must be 100 characters or fewer. */ + description?: string; }; }; }; }; - /** List the reactions to an [issue comment](https://docs.github.com/rest/reference/issues#comments). */ - "reactions/list-for-issue-comment": { + "issues/get-label": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** comment_id parameter */ - comment_id: components["parameters"]["comment_id"]; - }; - query: { - /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to an issue comment. */ - content?: - | "+1" - | "-1" - | "laugh" - | "confused" - | "heart" - | "hooray" - | "rocket" - | "eyes"; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + name: string; }; }; responses: { - /** response */ + /** Response */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["reaction"][]; + "application/json": components["schemas"]["label"]; }; }; 404: components["responses"]["not_found"]; - 415: components["responses"]["preview_header_missing"]; }; }; - /** Create a reaction to an [issue comment](https://docs.github.com/rest/reference/issues#comments). A response with a `Status: 200 OK` means that you already added the reaction type to this issue comment. */ - "reactions/create-for-issue-comment": { + "issues/delete-label": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** comment_id parameter */ - comment_id: components["parameters"]["comment_id"]; + name: string; }; }; responses: { - /** Reaction exists */ - 200: { - content: { - "application/json": components["schemas"]["reaction"]; - }; + /** Response */ + 204: never; + }; + }; + "issues/update-label": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + name: string; }; - /** Reaction created */ - 201: { + }; + responses: { + /** Response */ + 200: { content: { - "application/json": components["schemas"]["reaction"]; + "application/json": components["schemas"]["label"]; }; }; - 415: components["responses"]["preview_header_missing"]; - 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - /** The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the issue comment. */ - content: - | "+1" - | "-1" - | "laugh" - | "confused" - | "heart" - | "hooray" - | "rocket" - | "eyes"; + /** @description The new name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png ":strawberry:"). For a full list of available emoji and codes, see "[Emoji cheat sheet](https://github.com/ikatyang/emoji-cheat-sheet)." */ + new_name?: string; + /** @description The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. */ + color?: string; + /** @description A short description of the label. Must be 100 characters or fewer. */ + description?: string; }; }; }; }; - /** - * **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id`. - * - * Delete a reaction to an [issue comment](https://docs.github.com/rest/reference/issues#comments). - */ - "reactions/delete-for-issue-comment": { + /** Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language. */ + "repos/list-languages": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** comment_id parameter */ - comment_id: components["parameters"]["comment_id"]; - reaction_id: components["parameters"]["reaction-id"]; }; }; responses: { - /** Empty response */ - 204: never; + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["language"]; + }; + }; }; }; - "issues/list-events-for-repo": { + "repos/enable-lfs-for-repo": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; }; - query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; - }; }; responses: { - /** response */ - 200: { - headers: {}; - content: { - "application/json": components["schemas"]["issue-event"][]; - }; - }; - 422: components["responses"]["validation_failed"]; + 202: components["responses"]["accepted"]; + /** + * We will return a 403 with one of the following messages: + * + * - Git LFS support not enabled because Git LFS is globally disabled. + * - Git LFS support not enabled because Git LFS is disabled for the root repository in the network. + * - Git LFS support not enabled because Git LFS is disabled for . + */ + 403: unknown; }; }; - "issues/get-event": { + "repos/disable-lfs-for-repo": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - event_id: number; }; }; responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["issue-event"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; + /** Response */ + 204: never; }; }; - /** - * The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-redirects-redirects) if the issue was - * [transferred](https://help.github.com/articles/transferring-an-issue-to-another-repository/) to another repository. If - * the issue was transferred to or deleted from a repository where the authenticated user lacks read access, the API - * returns a `404 Not Found` status. If the issue was deleted from a repository where the authenticated user has read - * access, the API returns a `410 Gone` status. To receive webhook events for transferred and deleted issues, subscribe - * to the [`issues`](https://docs.github.com/webhooks/event-payloads/#issues) webhook. + /** + * This method returns the contents of the repository's license file, if one is detected. * - * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + * Similar to [Get repository content](https://docs.github.com/rest/reference/repos#get-repository-content), this method also supports [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw license content or rendered license HTML. */ - "issues/get": { + "licenses/get-for-repo": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** issue_number parameter */ - issue_number: components["parameters"]["issue_number"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["issue"]; + "application/json": components["schemas"]["license-content"]; }; }; - 301: components["responses"]["moved_permanently"]; - 304: components["responses"]["not_modified"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; }; }; - /** Issue owners and users with push access can edit an issue. */ - "issues/update": { + /** Sync a branch of a forked repository to keep it up-to-date with the upstream repository. */ + "repos/merge-upstream": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** issue_number parameter */ - issue_number: components["parameters"]["issue_number"]; }; }; responses: { - /** response */ + /** The branch has been successfully synced with the upstream repository */ 200: { content: { - "application/json": components["schemas"]["issue"]; + "application/json": components["schemas"]["merged-upstream"]; }; }; - 301: components["responses"]["moved_permanently"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["service_unavailable"]; + /** The branch could not be synced because of a merge conflict */ + 409: unknown; + /** The branch could not be synced for some other reason */ + 422: unknown; }; requestBody: { content: { "application/json": { - /** The title of the issue. */ - title?: string | number; - /** The contents of the issue. */ - body?: string; - /** Login for the user that this issue should be assigned to. **This field is deprecated.** */ - assignee?: string | null; - /** State of the issue. Either `open` or `closed`. */ - state?: "open" | "closed"; - milestone?: (string | number) | null; - /** Labels to associate with this issue. Pass one or more Labels to _replace_ the set of Labels on this Issue. Send an empty array (`[]`) to clear all Labels from the Issue. _NOTE: Only users with push access can set labels for issues. Labels are silently dropped otherwise._ */ - labels?: ( - | string - | { - id?: number; - name?: string; - description?: string | null; - color?: string | null; - } - )[]; - /** Logins for Users to assign to this issue. Pass one or more user logins to _replace_ the set of assignees on this Issue. Send an empty array (`[]`) to clear all assignees from the Issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ */ - assignees?: string[]; + /** @description The name of the branch which should be updated to match upstream. */ + branch: string; }; }; }; }; - /** Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced. */ - "issues/add-assignees": { + "repos/merge": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** issue_number parameter */ - issue_number: components["parameters"]["issue_number"]; }; }; responses: { - /** response */ + /** Successful Response (The resulting merge commit) */ 201: { content: { - "application/json": components["schemas"]["issue-simple"]; + "application/json": components["schemas"]["commit"]; }; }; + /** Response when already merged */ + 204: never; + 403: components["responses"]["forbidden"]; + /** Not Found when the base or head does not exist */ + 404: unknown; + /** Conflict when there is a merge conflict */ + 409: unknown; + 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - /** Usernames of people to assign this issue to. _NOTE: Only users with push access can add assignees to an issue. Assignees are silently ignored otherwise._ */ - assignees?: string[]; + /** @description The name of the base branch that the head will be merged into. */ + base: string; + /** @description The head to merge. This can be a branch name or a commit SHA1. */ + head: string; + /** @description Commit message to use for the merge commit. If omitted, a default message will be used. */ + commit_message?: string; }; }; }; }; - /** Removes one or more assignees from an issue. */ - "issues/remove-assignees": { + "issues/list-milestones": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** issue_number parameter */ - issue_number: components["parameters"]["issue_number"]; + }; + query: { + /** The state of the milestone. Either `open`, `closed`, or `all`. */ + state?: "open" | "closed" | "all"; + /** What to sort results by. Either `due_on` or `completeness`. */ + sort?: "due_on" | "completeness"; + /** The direction of the sort. Either `asc` or `desc`. */ + direction?: "asc" | "desc"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { + headers: {}; + content: { + "application/json": components["schemas"]["milestone"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/create-milestone": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; content: { - "application/json": components["schemas"]["issue-simple"]; + "application/json": components["schemas"]["milestone"]; }; }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - /** Usernames of assignees to remove from an issue. _NOTE: Only users with push access can remove assignees from an issue. Assignees are silently ignored otherwise._ */ - assignees?: string[]; + /** @description The title of the milestone. */ + title: string; + /** + * @description The state of the milestone. Either `open` or `closed`. + * @default open + * @enum {string} + */ + state?: "open" | "closed"; + /** @description A description of the milestone. */ + description?: string; + /** + * Format: date-time + * @description The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + due_on?: string; }; }; }; }; - /** Issue Comments are ordered by ascending ID. */ - "issues/list-comments": { + "issues/get-milestone": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** issue_number parameter */ - issue_number: components["parameters"]["issue_number"]; - }; - query: { - /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - since?: components["parameters"]["since"]; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** The number that identifies the milestone. */ + milestone_number: components["parameters"]["milestone-number"]; }; }; responses: { - /** response */ + /** Response */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["issue-comment"][]; + "application/json": components["schemas"]["milestone"]; }; }; 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; }; }; - /** This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-abuse-rate-limits)" for details. */ - "issues/create-comment": { + "issues/delete-milestone": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** issue_number parameter */ - issue_number: components["parameters"]["issue_number"]; + /** The number that identifies the milestone. */ + milestone_number: components["parameters"]["milestone-number"]; }; }; responses: { - /** response */ - 201: { - headers: { - Location?: string; - }; + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + "issues/update-milestone": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the milestone. */ + milestone_number: components["parameters"]["milestone-number"]; + }; + }; + responses: { + /** Response */ + 200: { content: { - "application/json": components["schemas"]["issue-comment"]; + "application/json": components["schemas"]["milestone"]; }; }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - /** The contents of the comment. */ - body: string; + /** @description The title of the milestone. */ + title?: string; + /** + * @description The state of the milestone. Either `open` or `closed`. + * @default open + * @enum {string} + */ + state?: "open" | "closed"; + /** @description A description of the milestone. */ + description?: string; + /** + * Format: date-time + * @description The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + due_on?: string; }; }; }; }; - "issues/list-events": { + "issues/list-labels-for-milestone": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** issue_number parameter */ - issue_number: components["parameters"]["issue_number"]; + /** The number that identifies the milestone. */ + milestone_number: components["parameters"]["milestone-number"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": components["schemas"]["issue-event-for-issue"][]; + "application/json": components["schemas"]["label"][]; }; }; - 410: components["responses"]["gone"]; }; }; - "issues/list-labels-on-issue": { + /** List all notifications for the current user. */ + "activity/list-repo-notifications-for-authenticated-user": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** issue_number parameter */ - issue_number: components["parameters"]["issue_number"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** If `true`, show notifications marked as read. */ + all?: components["parameters"]["all"]; + /** If `true`, only shows notifications in which the user is directly participating or mentioned. */ + participating?: components["parameters"]["participating"]; + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + before?: components["parameters"]["before"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": components["schemas"]["label"][]; + "application/json": components["schemas"]["thread"][]; }; }; - 410: components["responses"]["gone"]; }; }; - /** Removes any previous labels and sets the new labels for an issue. */ - "issues/set-labels": { + /** Marks all notifications in a repository as "read" removes them from the [default view on GitHub](https://github.com/notifications). If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List repository notifications for the authenticated user](https://docs.github.com/rest/reference/activity#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. */ + "activity/mark-repo-notifications-as-read": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** issue_number parameter */ - issue_number: components["parameters"]["issue_number"]; }; }; responses: { - /** response */ - 200: { + /** Response */ + 202: { content: { - "application/json": components["schemas"]["label"][]; + "application/json": { + message?: string; + url?: string; + }; }; }; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed"]; + /** Reset Content */ + 205: unknown; }; requestBody: { content: { "application/json": { - /** The names of the labels to add to the issue. You can pass an empty array to remove all labels. **Note:** Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. */ - labels?: string[]; + /** + * Format: date-time + * @description Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. + */ + last_read_at?: string; }; }; }; }; - "issues/add-labels": { + "repos/get-pages": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** issue_number parameter */ - issue_number: components["parameters"]["issue_number"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["label"][]; - }; - }; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed"]; - }; - requestBody: { - content: { - "application/json": { - /** The name of the label to add to the issue. Must contain at least one label. **Note:** Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. */ - labels: string[]; + "application/json": components["schemas"]["page"]; }; }; + 404: components["responses"]["not_found"]; }; }; - "issues/remove-all-labels": { + /** Updates information for a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). */ + "repos/update-information-about-pages-site": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** issue_number parameter */ - issue_number: components["parameters"]["issue_number"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; - 410: components["responses"]["gone"]; - }; - }; - /** Removes the specified label from the issue, and returns the remaining labels on the issue. This endpoint returns a `404 Not Found` status if the label does not exist. */ - "issues/remove-label": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** issue_number parameter */ - issue_number: components["parameters"]["issue_number"]; - name: string; - }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; }; - responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["label"][]; + requestBody: { + content: { + "application/json": { + /** @description Specify a custom domain for the repository. Sending a `null` value will remove the custom domain. For more about custom domains, see "[Using a custom domain with GitHub Pages](https://docs.github.com/articles/using-a-custom-domain-with-github-pages/)." */ + cname?: string | null; + /** @description Specify whether HTTPS should be enforced for the repository. */ + https_enforced?: boolean; + /** @description Configures access controls for the GitHub Pages site. If public is set to `true`, the site is accessible to anyone on the internet. If set to `false`, the site will only be accessible to users who have at least `read` access to the repository that published the site. This includes anyone in your Enterprise if the repository is set to `internal` visibility. This feature is only available to repositories in an organization on an Enterprise plan. */ + public?: boolean; + source?: Partial<"gh-pages" | "master" | "master /docs"> & + Partial<{ + /** @description The repository branch used to publish your site's source files. */ + branch: string; + /** + * @description The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`. + * @enum {string} + */ + path: "/" | "/docs"; + }>; }; }; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; }; }; - /** - * Users with push access can lock an issue or pull request's conversation. - * - * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - "issues/lock": { + /** Configures a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages)." */ + "repos/create-pages-site": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** issue_number parameter */ - issue_number: components["parameters"]["issue_number"]; }; }; responses: { - /** Empty response */ - 204: never; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["page"]; + }; + }; + 409: components["responses"]["conflict"]; 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - /** - * The reason for locking the issue or pull request conversation. Lock will fail if you don't use one of these reasons: - * \* `off-topic` - * \* `too heated` - * \* `resolved` - * \* `spam` - */ - lock_reason?: "off-topic" | "too heated" | "resolved" | "spam"; + /** @description The source branch and directory used to publish your Pages site. */ + source?: { + /** @description The repository branch used to publish your site's source files. */ + branch: string; + /** + * @description The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`. Default: `/` + * @default / + * @enum {string} + */ + path?: "/" | "/docs"; + }; } | null; }; }; }; - /** Users with push access can unlock an issue's conversation. */ - "issues/unlock": { + "repos/delete-pages-site": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** issue_number parameter */ - issue_number: components["parameters"]["issue_number"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; - 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; - /** List the reactions to an [issue](https://docs.github.com/rest/reference/issues). */ - "reactions/list-for-issue": { + "repos/list-pages-builds": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** issue_number parameter */ - issue_number: components["parameters"]["issue_number"]; }; query: { - /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to an issue. */ - content?: - | "+1" - | "-1" - | "laugh" - | "confused" - | "heart" - | "hooray" - | "rocket" - | "eyes"; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": components["schemas"]["reaction"][]; + "application/json": components["schemas"]["page-build"][]; }; }; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 415: components["responses"]["preview_header_missing"]; }; }; - /** Create a reaction to an [issue](https://docs.github.com/rest/reference/issues/). A response with a `Status: 200 OK` means that you already added the reaction type to this issue. */ - "reactions/create-for-issue": { + /** + * You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures. + * + * Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes. + */ + "repos/request-pages-build": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** issue_number parameter */ - issue_number: components["parameters"]["issue_number"]; }; }; responses: { - /** response */ + /** Response */ 201: { content: { - "application/json": components["schemas"]["reaction"]; + "application/json": components["schemas"]["page-build-status"]; }; }; - 415: components["responses"]["preview_header_missing"]; - 422: components["responses"]["validation_failed"]; }; - requestBody: { - content: { - "application/json": { - /** The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the issue. */ - content: - | "+1" - | "-1" - | "laugh" - | "confused" - | "heart" - | "hooray" - | "rocket" - | "eyes"; + }; + "repos/get-latest-pages-build": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["page-build"]; + }; + }; + }; + }; + "repos/get-pages-build": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + build_id: number; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["page-build"]; }; }; }; }; /** - * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id`. + * Gets a health check of the DNS settings for the `CNAME` record configured for a repository's GitHub Pages. * - * Delete a reaction to an [issue](https://docs.github.com/rest/reference/issues/). + * The first request to this endpoint returns a `202 Accepted` status and starts an asynchronous background task to get the results for the domain. After the background task completes, subsequent requests to this endpoint return a `200 OK` status with the health check results in the response. + * + * Users must have admin or owner permissions. GitHub Apps must have the `pages:write` and `administration:write` permission to use this endpoint. */ - "reactions/delete-for-issue": { + "repos/get-pages-health-check": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** issue_number parameter */ - issue_number: components["parameters"]["issue_number"]; - reaction_id: components["parameters"]["reaction-id"]; }; }; responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["pages-health-check"]; + }; + }; /** Empty response */ - 204: never; + 202: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** Custom domains are not available for GitHub Pages */ + 400: unknown; + 404: components["responses"]["not_found"]; + /** There isn't a CNAME for this page */ + 422: unknown; }; }; - "issues/list-events-for-timeline": { + /** Lists the projects in a repository. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + "projects/list-for-repo": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** issue_number parameter */ - issue_number: components["parameters"]["issue_number"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. */ + state?: "open" | "closed" | "all"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": components["schemas"]["issue-event-for-issue"][]; + "application/json": components["schemas"]["project"][]; }; }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; 410: components["responses"]["gone"]; - 415: components["responses"]["preview_header_missing"]; + 422: components["responses"]["validation_failed_simple"]; }; }; - "repos/list-deploy-keys": { + /** Creates a repository project board. Returns a `410 Gone` status if projects are disabled in the repository or if the repository does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + "projects/create-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the project. */ + name: string; + /** @description The description of the project. */ + body?: string; + }; + }; + }; + }; + /** Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "pulls/list": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** Either `open`, `closed`, or `all` to filter by state. */ + state?: "open" | "closed" | "all"; + /** Filter pulls by head user or head organization and branch name in the format of `user:ref-name` or `organization:ref-name`. For example: `github:new-script-format` or `octocat:test-branch`. */ + head?: string; + /** Filter pulls by base branch name. Example: `gh-pages`. */ + base?: string; + /** What to sort results by. Can be either `created`, `updated`, `popularity` (comment count) or `long-running` (age, filtering by pulls updated in the last month). */ + sort?: "created" | "updated" | "popularity" | "long-running"; + /** The direction of the sort. Can be either `asc` or `desc`. Default: `desc` when sort is `created` or sort is not specified, otherwise `asc`. */ + direction?: "asc" | "desc"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": components["schemas"]["deploy-key"][]; + "application/json": components["schemas"]["pull-request-simple"][]; }; }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; }; }; - /** You can create a read-only deploy key. */ - "repos/create-deploy-key": { + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + * + * You can create a new pull request. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + */ + "pulls/create": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; }; }; responses: { - /** response */ + /** Response */ 201: { headers: { Location?: string; }; content: { - "application/json": components["schemas"]["deploy-key"]; + "application/json": components["schemas"]["pull-request"]; }; }; + 403: components["responses"]["forbidden"]; 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - /** A name for the key. */ + /** @description The title of the new pull request. */ title?: string; - /** The contents of the key. */ - key: string; - /** - * If `true`, the key will only be able to read repository contents. Otherwise, the key will be able to read and write. - * - * Deploy keys with write access can perform the same actions as an organization member with admin access, or a collaborator on a personal repository. For more information, see "[Repository permission levels for an organization](https://help.github.com/articles/repository-permission-levels-for-an-organization/)" and "[Permission levels for a user account repository](https://help.github.com/articles/permission-levels-for-a-user-account-repository/)." - */ - read_only?: boolean; + /** @description The name of the branch where your changes are implemented. For cross-repository pull requests in the same network, namespace `head` with a user like this: `username:branch`. */ + head: string; + /** @description The name of the branch you want the changes pulled into. This should be an existing branch on the current repository. You cannot submit a pull request to one repository that requests a merge to a base of another repository. */ + base: string; + /** @description The contents of the pull request. */ + body?: string; + /** @description Indicates whether [maintainers can modify](https://docs.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. */ + maintainer_can_modify?: boolean; + /** @description Indicates whether the pull request is a draft. See "[Draft Pull Requests](https://docs.github.com/en/articles/about-pull-requests#draft-pull-requests)" in the GitHub Help documentation to learn more. */ + draft?: boolean; + /** @example 1 */ + issue?: number; }; }; }; }; - "repos/get-deploy-key": { + /** Lists review comments for all pull requests in a repository. By default, review comments are in ascending order by ID. */ + "pulls/list-review-comments-for-repo": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** key_id parameter */ - key_id: components["parameters"]["key_id"]; + }; + query: { + sort?: "created" | "updated" | "created_at"; + /** Can be either `asc` or `desc`. Ignored without `sort` parameter. */ + direction?: "asc" | "desc"; + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { + headers: {}; content: { - "application/json": components["schemas"]["deploy-key"]; + "application/json": components["schemas"]["pull-request-review-comment"][]; }; }; - 404: components["responses"]["not_found"]; }; }; - /** Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead. */ - "repos/delete-deploy-key": { + /** Provides details for a review comment. */ + "pulls/get-review-comment": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** key_id parameter */ - key_id: components["parameters"]["key_id"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; }; }; responses: { - /** Empty response */ - 204: never; + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + }; + 404: components["responses"]["not_found"]; }; }; - "issues/list-labels-for-repo": { + /** Deletes a review comment. */ + "pulls/delete-review-comment": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - }; - query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; }; }; responses: { - /** response */ - 200: { - headers: {}; - content: { - "application/json": components["schemas"]["label"][]; - }; - }; + /** Response */ + 204: never; 404: components["responses"]["not_found"]; }; }; - "issues/create-label": { + /** Enables you to edit a review comment. */ + "pulls/update-review-comment": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; }; }; responses: { - /** response */ - 201: { - headers: { - Location?: string; - }; + /** Response */ + 200: { content: { - "application/json": components["schemas"]["label"]; + "application/json": components["schemas"]["pull-request-review-comment"]; }; }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - /** The name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png ":strawberry:"). For a full list of available emoji and codes, see [emoji-cheat-sheet.com](http://emoji-cheat-sheet.com/). */ - name: string; - /** The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. */ - color?: string; - /** A short description of the label. */ - description?: string; + /** @description The text of the reply to the review comment. */ + body: string; }; }; }; }; - "issues/get-label": { + /** List the reactions to a [pull request review comment](https://docs.github.com/rest/reference/pulls#review-comments). */ + "reactions/list-for-pull-request-review-comment": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - name: string; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + query: { + /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a pull request review comment. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { + headers: {}; content: { - "application/json": components["schemas"]["label"]; + "application/json": components["schemas"]["reaction"][]; }; }; 404: components["responses"]["not_found"]; }; }; - "issues/delete-label": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - name: string; - }; - }; - responses: { - /** Empty response */ - 204: never; - }; - }; - "issues/update-label": { + /** Create a reaction to a [pull request review comment](https://docs.github.com/rest/reference/pulls#comments). A response with an HTTP `200` status means that you already added the reaction type to this pull request review comment. */ + "reactions/create-for-pull-request-review-comment": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - name: string; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; }; }; responses: { - /** response */ + /** Reaction exists */ 200: { content: { - "application/json": components["schemas"]["label"]; + "application/json": components["schemas"]["reaction"]; + }; + }; + /** Reaction created */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; }; }; + 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - /** The new name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png ":strawberry:"). For a full list of available emoji and codes, see [emoji-cheat-sheet.com](http://emoji-cheat-sheet.com/). */ - new_name?: string; - /** The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. */ - color?: string; - /** A short description of the label. */ - description?: string; + /** + * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the pull request review comment. + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; }; }; }; }; - /** Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language. */ - "repos/list-languages": { + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.` + * + * Delete a reaction to a [pull request review comment](https://docs.github.com/rest/reference/pulls#review-comments). + */ + "reactions/delete-for-pull-request-comment": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + /** The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; }; }; responses: { - /** response */ + /** Response */ + 204: never; + }; + }; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists details of a pull request by providing its number. + * + * When you get, [create](https://docs.github.com/rest/reference/pulls/#create-a-pull-request), or [edit](https://docs.github.com/rest/reference/pulls#update-a-pull-request) a pull request, GitHub creates a merge commit to test whether the pull request can be automatically merged into the base branch. This test commit is not added to the base branch or the head branch. You can review the status of the test commit using the `mergeable` key. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + * + * The value of the `mergeable` attribute can be `true`, `false`, or `null`. If the value is `null`, then GitHub has started a background job to compute the mergeability. After giving the job time to complete, resubmit the request. When the job finishes, you will see a non-`null` value for the `mergeable` attribute in the response. If `mergeable` is `true`, then `merge_commit_sha` will be the SHA of the _test_ merge commit. + * + * The value of the `merge_commit_sha` attribute changes depending on the state of the pull request. Before merging a pull request, the `merge_commit_sha` attribute holds the SHA of the _test_ merge commit. After merging a pull request, the `merge_commit_sha` attribute changes depending on how you merged the pull request: + * + * * If merged as a [merge commit](https://docs.github.com/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit. + * * If merged via a [squash](https://docs.github.com/articles/about-merge-methods-on-github/#squashing-your-merge-commits), `merge_commit_sha` represents the SHA of the squashed commit on the base branch. + * * If [rebased](https://docs.github.com/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), `merge_commit_sha` represents the commit that the base branch was updated to. + * + * Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + */ + "pulls/get": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. */ 200: { content: { - "application/json": components["schemas"]["language"]; + "application/json": components["schemas"]["pull-request"]; }; }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; }; }; /** - * This method returns the contents of the repository's license file, if one is detected. + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * Similar to [Get repository content](https://docs.github.com/rest/reference/repos#get-repository-content), this method also supports [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw license content or rendered license HTML. + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. */ - "licenses/get-for-repo": { + "pulls/update": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["license-content"]; + "application/json": components["schemas"]["pull-request"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The title of the pull request. */ + title?: string; + /** @description The contents of the pull request. */ + body?: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state?: "open" | "closed"; + /** @description The name of the branch you want your changes pulled into. This should be an existing branch on the current repository. You cannot update the base branch on a pull request to point to another repository. */ + base?: string; + /** @description Indicates whether [maintainers can modify](https://docs.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. */ + maintainer_can_modify?: boolean; }; }; }; }; - "repos/merge": { + /** + * Creates a codespace owned by the authenticated user for the specified pull request. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + "codespaces/create-with-pr-for-authenticated-user": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; }; }; responses: { - /** Successful Response (The resulting merge commit) */ + /** Response when the codespace was successfully created */ 201: { content: { - "application/json": components["schemas"]["commit"]; - }; - }; - 403: components["responses"]["forbidden"]; - /** response */ - 404: { - content: { - "application/json": { - message?: string; - documentation_url?: string; - }; + "application/json": components["schemas"]["codespace"]; }; }; - /** Merge conflict response */ - 409: { + /** Response when the codespace creation partially failed but is being retried in the background */ + 202: { content: { - "application/json": { - message?: string; - documentation_url?: string; - }; + "application/json": components["schemas"]["codespace"]; }; }; - 422: components["responses"]["validation_failed"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; requestBody: { content: { "application/json": { - /** The name of the base branch that the head will be merged into. */ - base: string; - /** The head to merge. This can be a branch name or a commit SHA1. */ - head: string; - /** Commit message to use for the merge commit. If omitted, a default message will be used. */ - commit_message?: string; - }; + /** @description Location for this codespace. Assigned by IP if not provided */ + location?: string; + /** @description IP for location auto-detection when proxying a request */ + client_ip?: string; + /** @description Machine type to use for this codespace */ + machine?: string; + /** @description Path to devcontainer.json config to use for this codespace */ + devcontainer_path?: string; + /** @description Whether to authorize requested permissions from devcontainer.json */ + multi_repo_permissions_opt_out?: boolean; + /** @description Working directory for this codespace */ + working_directory?: string; + /** @description Time in minutes before codespace stops from inactivity */ + idle_timeout_minutes?: number; + /** @description Display name for this codespace */ + display_name?: string; + /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ + retention_period_minutes?: number; + } | null; }; }; }; - "issues/list-milestones": { + /** Lists all review comments for a pull request. By default, review comments are in ascending order by ID. */ + "pulls/list-review-comments": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; }; query: { - /** The state of the milestone. Either `open`, `closed`, or `all`. */ - state?: "open" | "closed" | "all"; - /** What to sort results by. Either `due_on` or `completeness`. */ - sort?: "due_on" | "completeness"; - /** The direction of the sort. Either `asc` or `desc`. */ + /** The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to. */ + sort?: components["parameters"]["sort"]; + /** Can be either `asc` or `desc`. Ignored without `sort` parameter. */ direction?: "asc" | "desc"; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": components["schemas"]["milestone"][]; + "application/json": components["schemas"]["pull-request-review-comment"][]; }; }; - 404: components["responses"]["not_found"]; }; }; - "issues/create-milestone": { + /** + * Creates a review comment in the pull request diff. To add a regular comment to a pull request timeline, see "[Create an issue comment](https://docs.github.com/rest/reference/issues#create-an-issue-comment)." We recommend creating a review comment using `line`, `side`, and optionally `start_line` and `start_side` if your comment applies to more than one line in the pull request diff. + * + * The `position` parameter is deprecated. If you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. + * + * **Note:** The position value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + "pulls/create-review-comment": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; }; }; responses: { - /** response */ + /** Response */ 201: { headers: { Location?: string; }; content: { - "application/json": components["schemas"]["milestone"]; + "application/json": components["schemas"]["pull-request-review-comment"]; }; }; - 404: components["responses"]["not_found"]; + 403: components["responses"]["forbidden"]; 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - /** The title of the milestone. */ - title: string; - /** The state of the milestone. Either `open` or `closed`. */ - state?: "open" | "closed"; - /** A description of the milestone. */ - description?: string; - /** The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - due_on?: string; - }; - }; - }; - }; - "issues/get-milestone": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** milestone_number parameter */ - milestone_number: components["parameters"]["milestone_number"]; - }; - }; - responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["milestone"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "issues/delete-milestone": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** milestone_number parameter */ - milestone_number: components["parameters"]["milestone_number"]; + /** @description The text of the review comment. */ + body: string; + /** @description The SHA of the commit needing a comment. Not using the latest commit SHA may render your comment outdated if a subsequent commit modifies the line you specify as the `position`. */ + commit_id?: string; + /** @description The relative path to the file that necessitates a comment. */ + path?: string; + /** + * @deprecated + * @description **This parameter is deprecated. Use `line` instead**. The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note above. + */ + position?: number; + /** + * @description In a split diff view, the side of the diff that the pull request's changes appear on. Can be `LEFT` or `RIGHT`. Use `LEFT` for deletions that appear in red. Use `RIGHT` for additions that appear in green or unchanged lines that appear in white and are shown for context. For a multi-line comment, side represents whether the last line of the comment range is a deletion or addition. For more information, see "[Diff view options](https://docs.github.com/en/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. + * @enum {string} + */ + side?: "LEFT" | "RIGHT"; + /** @description The line of the blob in the pull request diff that the comment applies to. For a multi-line comment, the last line of the range that your comment applies to. */ + line?: number; + /** @description **Required when using multi-line comments unless using `in_reply_to`**. The `start_line` is the first line in the pull request diff that your multi-line comment applies to. To learn more about multi-line comments, see "[Commenting on a pull request](https://docs.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. */ + start_line?: number; + /** + * @description **Required when using multi-line comments unless using `in_reply_to`**. The `start_side` is the starting side of the diff that the comment applies to. Can be `LEFT` or `RIGHT`. To learn more about multi-line comments, see "[Commenting on a pull request](https://docs.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. See `side` in this table for additional context. + * @enum {string} + */ + start_side?: "LEFT" | "RIGHT" | "side"; + /** + * @description The ID of the review comment to reply to. To find the ID of a review comment with ["List review comments on a pull request"](#list-review-comments-on-a-pull-request). When specified, all parameters other than `body` in the request body are ignored. + * @example 2 + */ + in_reply_to?: number; + }; }; }; - responses: { - /** Empty response */ - 204: never; - 404: components["responses"]["not_found"]; - }; }; - "issues/update-milestone": { + /** + * Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + "pulls/create-reply-for-review-comment": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** milestone_number parameter */ - milestone_number: components["parameters"]["milestone_number"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; }; }; responses: { - /** response */ - 200: { + /** Response */ + 201: { + headers: { + Location?: string; + }; content: { - "application/json": components["schemas"]["milestone"]; + "application/json": components["schemas"]["pull-request-review-comment"]; }; }; + 404: components["responses"]["not_found"]; }; requestBody: { content: { "application/json": { - /** The title of the milestone. */ - title?: string; - /** The state of the milestone. Either `open` or `closed`. */ - state?: "open" | "closed"; - /** A description of the milestone. */ - description?: string; - /** The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - due_on?: string; + /** @description The text of the review comment. */ + body: string; }; }; }; }; - "issues/list-labels-for-milestone": { + /** Lists a maximum of 250 commits for a pull request. To receive a complete commit list for pull requests with more than 250 commits, use the [List commits](https://docs.github.com/rest/reference/repos#list-commits) endpoint. */ + "pulls/list-commits": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** milestone_number parameter */ - milestone_number: components["parameters"]["milestone_number"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": components["schemas"]["label"][]; + "application/json": components["schemas"]["commit"][]; }; }; }; }; - /** List all notifications for the current user. */ - "activity/list-repo-notifications-for-authenticated-user": { + /** **Note:** Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. */ + "pulls/list-files": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; }; query: { - /** If `true`, show notifications marked as read. */ - all?: components["parameters"]["all"]; - /** If `true`, only shows notifications in which the user is directly participating or mentioned. */ - participating?: components["parameters"]["participating"]; - /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - since?: components["parameters"]["since"]; - /** Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - before?: components["parameters"]["before"]; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": components["schemas"]["thread"][]; + "application/json": components["schemas"]["diff-entry"][]; }; }; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; }; }; - /** Marks all notifications in a repository as "read" removes them from the [default view on GitHub](https://github.com/notifications). If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List repository notifications for the authenticated user](https://docs.github.com/rest/reference/activity#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. */ - "activity/mark-repo-notifications-as-read": { + "pulls/check-if-merged": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; }; }; responses: { - /** response */ - 202: unknown; - }; - requestBody: { - content: { - "application/json": { - /** Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. */ - last_read_at?: string; - }; - }; + /** Response if pull request has been merged */ + 204: never; + /** Not Found if pull request has not been merged */ + 404: unknown; }; }; - "repos/get-pages": { + /** This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ + "pulls/merge": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; }; }; responses: { - /** response */ + /** if merge was successful */ 200: { content: { - "application/json": components["schemas"]["page"]; + "application/json": components["schemas"]["pull-request-merge-result"]; }; }; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; - }; - }; - /** Updates information for a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). */ - "repos/update-information-about-pages-site": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** Empty response */ - 204: never; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - requestBody: { - content: { - "application/json": { - /** Specify a custom domain for the repository. Sending a `null` value will remove the custom domain. For more about custom domains, see "[Using a custom domain with GitHub Pages](https://help.github.com/articles/using-a-custom-domain-with-github-pages/)." */ - cname?: string | null; - /** Configures access controls for the GitHub Pages site. If public is set to `true`, the site is accessible to anyone on the internet. If set to `false`, the site will only be accessible to users who have at least `read` access to the repository that published the site. This includes anyone in your Enterprise if the repository is set to `internal` visibility. This feature is only available to repositories in an organization on an Enterprise plan. */ - public?: boolean; - source: Partial<"gh-pages" | "master" | "master /docs"> & - Partial<{ - /** The repository branch used to publish your site's source files. */ - branch: string; - /** The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`. */ - path: "/" | "/docs"; - }>; + /** Method Not Allowed if merge cannot be performed */ + 405: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; }; }; - }; - }; - /** Configures a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages)." */ - "repos/create-pages-site": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** response */ - 201: { + /** Conflict if sha was provided and pull request head did not match */ + 409: { content: { - "application/json": components["schemas"]["page"]; + "application/json": { + message?: string; + documentation_url?: string; + }; }; }; - 409: components["responses"]["conflict"]; - 415: components["responses"]["preview_header_missing"]; 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - /** The source branch and directory used to publish your Pages site. */ - source: { - /** The repository branch used to publish your site's source files. */ - branch: string; - /** The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`. Default: `/` */ - path?: "/" | "/docs"; - }; - }; - }; - }; - }; - "repos/delete-pages-site": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; + /** @description Title for the automatic commit message. */ + commit_title?: string; + /** @description Extra detail to append to automatic commit message. */ + commit_message?: string; + /** @description SHA that pull request head must match to allow merge. */ + sha?: string; + /** + * @description Merge method to use. Possible values are `merge`, `squash` or `rebase`. Default is `merge`. + * @enum {string} + */ + merge_method?: "merge" | "squash" | "rebase"; + } | null; }; }; - responses: { - /** Empty response */ - 204: never; - 404: components["responses"]["not_found"]; - 415: components["responses"]["preview_header_missing"]; - 422: components["responses"]["validation_failed"]; - }; }; - "repos/list-pages-builds": { + /** Lists the users or teams whose review is requested for a pull request. Once a requested reviewer submits a review, they are no longer considered a requested reviewer. Their review will instead be returned by the [List reviews for a pull request](https://docs.github.com/rest/pulls/reviews#list-reviews-for-a-pull-request) operation. */ + "pulls/list-requested-reviewers": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": components["schemas"]["page-build"][]; + "application/json": components["schemas"]["pull-request-review-request"]; }; }; }; }; - /** - * You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures. - * - * Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes. - */ - "repos/request-pages-build": { + /** This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ + "pulls/request-reviewers": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; }; }; responses: { - /** response */ + /** Response */ 201: { content: { - "application/json": components["schemas"]["page-build-status"]; + "application/json": components["schemas"]["pull-request-simple"]; }; }; + 403: components["responses"]["forbidden"]; + /** Unprocessable Entity if user is not a collaborator */ + 422: unknown; }; - }; - "repos/get-latest-pages-build": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["page-build"]; + requestBody: { + content: { + "application/json": { + /** @description An array of user `login`s that will be requested. */ + reviewers?: string[]; + /** @description An array of team `slug`s that will be requested. */ + team_reviewers?: string[]; }; }; }; }; - "repos/get-pages-build": { + "pulls/remove-requested-reviewers": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - build_id: number; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["page-build"]; + "application/json": components["schemas"]["pull-request-simple"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of user `login`s that will be removed. */ + reviewers: string[]; + /** @description An array of team `slug`s that will be removed. */ + team_reviewers?: string[]; }; }; }; }; - /** Lists the projects in a repository. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ - "projects/list-for-repo": { + /** The list of reviews returns in chronological order. */ + "pulls/list-reviews": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; }; query: { - /** Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. */ - state?: "open" | "closed" | "all"; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** The list of reviews returns in chronological order. */ 200: { headers: {}; content: { - "application/json": components["schemas"]["project"][]; + "application/json": components["schemas"]["pull-request-review"][]; }; }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed_simple"]; }; }; - /** Creates a repository project board. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ - "projects/create-for-repo": { + /** + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * Pull request reviews created in the `PENDING` state do not include the `submitted_at` property in the response. + * + * **Note:** To comment on a specific line in a file, you need to first determine the _position_ of that line in the diff. The GitHub REST API v3 offers the `application/vnd.github.v3.diff` [media type](https://docs.github.com/rest/overview/media-types#commits-commit-comparison-and-pull-requests). To see a pull request diff, add this media type to the `Accept` header of a call to the [single pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) endpoint. + * + * The `position` value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + */ + "pulls/create-review": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; }; }; responses: { - /** response */ - 201: { + /** Response */ + 200: { content: { - "application/json": components["schemas"]["project"]; + "application/json": components["schemas"]["pull-request-review"]; }; }; - 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; 422: components["responses"]["validation_failed_simple"]; }; requestBody: { content: { "application/json": { - /** The name of the project. */ - name: string; - /** The description of the project. */ + /** @description The SHA of the commit that needs a review. Not using the latest commit SHA may render your review comment outdated if a subsequent commit modifies the line you specify as the `position`. Defaults to the most recent commit in the pull request when you do not specify a value. */ + commit_id?: string; + /** @description **Required** when using `REQUEST_CHANGES` or `COMMENT` for the `event` parameter. The body text of the pull request review. */ body?: string; + /** + * @description The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. By leaving this blank, you set the review action state to `PENDING`, which means you will need to [submit the pull request review](https://docs.github.com/rest/reference/pulls#submit-a-review-for-a-pull-request) when you are ready. + * @enum {string} + */ + event?: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; + /** @description Use the following table to specify the location, destination, and contents of the draft review comment. */ + comments?: { + /** @description The relative path to the file that necessitates a review comment. */ + path: string; + /** @description The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note below. */ + position?: number; + /** @description Text of the review comment. */ + body: string; + /** @example 28 */ + line?: number; + /** @example RIGHT */ + side?: string; + /** @example 26 */ + start_line?: number; + /** @example LEFT */ + start_side?: string; + }[]; }; }; }; }; - /** Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ - "pulls/list": { + "pulls/get-review": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - }; - query: { - /** Either `open`, `closed`, or `all` to filter by state. */ - state?: "open" | "closed" | "all"; - /** Filter pulls by head user or head organization and branch name in the format of `user:ref-name` or `organization:ref-name`. For example: `github:new-script-format` or `octocat:test-branch`. */ - head?: string; - /** Filter pulls by base branch name. Example: `gh-pages`. */ - base?: string; - /** What to sort results by. Can be either `created`, `updated`, `popularity` (comment count) or `long-running` (age, filtering by pulls updated in the last month). */ - sort?: "created" | "updated" | "popularity" | "long-running"; - /** The direction of the sort. Can be either `asc` or `desc`. Default: `desc` when sort is `created` or sort is not specified, otherwise `asc`. */ - direction?: "asc" | "desc"; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; }; }; responses: { - /** response */ + /** Response */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["pull-request-simple"][]; + "application/json": components["schemas"]["pull-request-review"]; }; }; - 304: components["responses"]["not_modified"]; - 422: components["responses"]["validation_failed"]; + 404: components["responses"]["not_found"]; }; }; - /** - * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. - * - * You can create a new pull request. - * - * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. - */ - "pulls/create": { + /** Update the review summary comment with new text. */ + "pulls/update-review": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; }; }; responses: { - /** response */ - 201: { - headers: { - Location?: string; - }; + /** Response */ + 200: { content: { - "application/json": components["schemas"]["pull-request"]; + "application/json": components["schemas"]["pull-request-review"]; }; }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; + 422: components["responses"]["validation_failed_simple"]; }; requestBody: { content: { "application/json": { - /** The title of the new pull request. */ - title?: string; - /** The name of the branch where your changes are implemented. For cross-repository pull requests in the same network, namespace `head` with a user like this: `username:branch`. */ - head: string; - /** The name of the branch you want the changes pulled into. This should be an existing branch on the current repository. You cannot submit a pull request to one repository that requests a merge to a base of another repository. */ - base: string; - /** The contents of the pull request. */ - body?: string; - /** Indicates whether [maintainers can modify](https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. */ - maintainer_can_modify?: boolean; - /** Indicates whether the pull request is a draft. See "[Draft Pull Requests](https://help.github.com/en/articles/about-pull-requests#draft-pull-requests)" in the GitHub Help documentation to learn more. */ - draft?: boolean; - issue?: number; + /** @description The body text of the pull request review. */ + body: string; }; }; }; }; - /** Lists review comments for all pull requests in a repository. By default, review comments are in ascending order by ID. */ - "pulls/list-review-comments-for-repo": { + "pulls/delete-pending-review": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - }; - query: { - /** One of `created` (when the repository was starred) or `updated` (when it was last pushed to). */ - sort?: components["parameters"]["sort"]; - /** Can be either `asc` or `desc`. Ignored without `sort` parameter. */ - direction?: "asc" | "desc"; - /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - since?: components["parameters"]["since"]; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; }; }; responses: { - /** response */ + /** Response */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["pull-request-review-comment"][]; + "application/json": components["schemas"]["pull-request-review"]; }; }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; }; }; - /** Provides details for a review comment. */ - "pulls/get-review-comment": { + /** List comments for a specific pull request review. */ + "pulls/list-comments-for-review": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** comment_id parameter */ - comment_id: components["parameters"]["comment_id"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { + headers: {}; content: { - "application/json": components["schemas"]["pull-request-review-comment"]; + "application/json": components["schemas"]["review-comment"][]; }; }; 404: components["responses"]["not_found"]; }; }; - /** Deletes a review comment. */ - "pulls/delete-review-comment": { + /** **Note:** To dismiss a pull request review on a [protected branch](https://docs.github.com/rest/reference/repos#branches), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews. */ + "pulls/dismiss-review": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** comment_id parameter */ - comment_id: components["parameters"]["comment_id"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; }; }; responses: { - /** Empty response */ - 204: never; + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The message for the pull request review dismissal */ + message: string; + /** @example "APPROVE" */ + event?: string; + }; + }; }; }; - /** Enables you to edit a review comment. */ - "pulls/update-review-comment": { + "pulls/submit-review": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** comment_id parameter */ - comment_id: components["parameters"]["comment_id"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["pull-request-review-comment"]; + "application/json": components["schemas"]["pull-request-review"]; }; }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; }; requestBody: { content: { "application/json": { - /** The text of the reply to the review comment. */ - body: string; + /** @description The body text of the pull request review */ + body?: string; + /** + * @description The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. When you leave this blank, the API returns _HTTP 422 (Unrecognizable entity)_ and sets the review action state to `PENDING`, which means you will need to re-submit the pull request review using a review action. + * @enum {string} + */ + event: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; }; }; }; }; - /** List the reactions to a [pull request review comment](https://docs.github.com/rest/reference/pulls#review-comments). */ - "reactions/list-for-pull-request-review-comment": { + /** Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch. */ + "pulls/update-branch": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** comment_id parameter */ - comment_id: components["parameters"]["comment_id"]; - }; - query: { - /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a pull request review comment. */ - content?: - | "+1" - | "-1" - | "laugh" - | "confused" - | "heart" - | "hooray" - | "rocket" - | "eyes"; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; }; }; responses: { - /** response */ - 200: { - headers: {}; + /** Response */ + 202: { content: { - "application/json": components["schemas"]["reaction"][]; + "application/json": { + message?: string; + url?: string; + }; }; }; - 404: components["responses"]["not_found"]; - 415: components["responses"]["preview_header_missing"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The expected SHA of the pull request's HEAD ref. This is the most recent commit on the pull request's branch. If the expected SHA does not match the pull request's HEAD, you will receive a `422 Unprocessable Entity` status. You can use the "[List commits](https://docs.github.com/rest/reference/repos#list-commits)" endpoint to find the most recent commit SHA. Default: SHA of the pull request's current HEAD ref. */ + expected_head_sha?: string; + } | null; + }; }; }; - /** Create a reaction to a [pull request review comment](https://docs.github.com/rest/reference/pulls#comments). A response with a `Status: 200 OK` means that you already added the reaction type to this pull request review comment. */ - "reactions/create-for-pull-request-review-comment": { + /** + * Gets the preferred README for a repository. + * + * READMEs support [custom media types](https://docs.github.com/rest/reference/repos#custom-media-types) for retrieving the raw content or rendered HTML. + */ + "repos/get-readme": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** comment_id parameter */ - comment_id: components["parameters"]["comment_id"]; + }; + query: { + /** The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`) */ + ref?: string; }; }; responses: { - /** Reaction exists */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - /** Reaction created */ - 201: { - content: { - "application/json": components["schemas"]["reaction"]; + "application/json": components["schemas"]["content-file"]; }; }; - 415: components["responses"]["preview_header_missing"]; + 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; }; - requestBody: { - content: { - "application/json": { - /** The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the pull request review comment. */ - content: - | "+1" - | "-1" - | "laugh" - | "confused" - | "heart" - | "hooray" - | "rocket" - | "eyes"; - }; - }; - }; }; /** - * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.` + * Gets the README from a repository directory. * - * Delete a reaction to a [pull request review comment](https://docs.github.com/rest/reference/pulls#review-comments). + * READMEs support [custom media types](https://docs.github.com/rest/reference/repos#custom-media-types) for retrieving the raw content or rendered HTML. */ - "reactions/delete-for-pull-request-comment": { + "repos/get-readme-in-directory": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** comment_id parameter */ - comment_id: components["parameters"]["comment_id"]; - reaction_id: components["parameters"]["reaction-id"]; + /** The alternate path to look for a README file */ + dir: string; + }; + query: { + /** The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`) */ + ref?: string; }; }; responses: { - /** Empty response */ - 204: never; + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["content-file"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; /** - * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists details of a pull request by providing its number. - * - * When you get, [create](https://docs.github.com/rest/reference/pulls/#create-a-pull-request), or [edit](https://docs.github.com/rest/reference/pulls#update-a-pull-request) a pull request, GitHub creates a merge commit to test whether the pull request can be automatically merged into the base branch. This test commit is not added to the base branch or the head branch. You can review the status of the test commit using the `mergeable` key. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". - * - * The value of the `mergeable` attribute can be `true`, `false`, or `null`. If the value is `null`, then GitHub has started a background job to compute the mergeability. After giving the job time to complete, resubmit the request. When the job finishes, you will see a non-`null` value for the `mergeable` attribute in the response. If `mergeable` is `true`, then `merge_commit_sha` will be the SHA of the _test_ merge commit. - * - * The value of the `merge_commit_sha` attribute changes depending on the state of the pull request. Before merging a pull request, the `merge_commit_sha` attribute holds the SHA of the _test_ merge commit. After merging a pull request, the `merge_commit_sha` attribute changes depending on how you merged the pull request: - * - * * If merged as a [merge commit](https://help.github.com/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit. - * * If merged via a [squash](https://help.github.com/articles/about-merge-methods-on-github/#squashing-your-merge-commits), `merge_commit_sha` represents the SHA of the squashed commit on the base branch. - * * If [rebased](https://help.github.com/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), `merge_commit_sha` represents the commit that the base branch was updated to. + * This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/rest/reference/repos#list-repository-tags). * - * Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. */ - "pulls/get": { + "repos/list-releases": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. */ + /** Response */ 200: { + headers: {}; content: { - "application/json": components["schemas"]["pull-request"]; + "application/json": components["schemas"]["release"][]; }; }; - 304: components["responses"]["not_modified"]; 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; }; }; /** - * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Users with push access to the repository can create a release. * - * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ - "pulls/update": { + "repos/create-release": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; }; }; responses: { - /** response */ - 200: { + /** Response */ + 201: { + headers: { + Location?: string; + }; content: { - "application/json": components["schemas"]["pull-request"]; + "application/json": components["schemas"]["release"]; + }; + }; + /** Not Found if the discussion category name is invalid */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; }; }; - 403: components["responses"]["forbidden"]; 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - /** The title of the pull request. */ - title?: string; - /** The contents of the pull request. */ + /** @description The name of the tag. */ + tag_name: string; + /** @description Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`). */ + target_commitish?: string; + /** @description The name of the release. */ + name?: string; + /** @description Text describing the contents of the tag. */ body?: string; - /** State of this Pull Request. Either `open` or `closed`. */ - state?: "open" | "closed"; - /** The name of the branch you want your changes pulled into. This should be an existing branch on the current repository. You cannot update the base branch on a pull request to point to another repository. */ - base?: string; - /** Indicates whether [maintainers can modify](https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. */ - maintainer_can_modify?: boolean; + /** + * @description `true` to create a draft (unpublished) release, `false` to create a published one. + * @default false + */ + draft?: boolean; + /** + * @description `true` to identify the release as a prerelease. `false` to identify the release as a full release. + * @default false + */ + prerelease?: boolean; + /** @description If specified, a discussion of the specified category is created and linked to the release. The value must be a category that already exists in the repository. For more information, see "[Managing categories for discussions in your repository](https://docs.github.com/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)." */ + discussion_category_name?: string; + /** + * @description Whether to automatically generate the name and body for this release. If `name` is specified, the specified name will be used; otherwise, a name will be automatically generated. If `body` is specified, the body will be pre-pended to the automatically generated notes. + * @default false + */ + generate_release_notes?: boolean; }; }; }; }; - /** Lists all review comments for a pull request. By default, review comments are in ascending order by ID. */ - "pulls/list-review-comments": { + /** To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response. */ + "repos/get-release-asset": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; - query: { - /** One of `created` (when the repository was starred) or `updated` (when it was last pushed to). */ - sort?: components["parameters"]["sort"]; - /** Can be either `asc` or `desc`. Ignored without `sort` parameter. */ - direction?: "asc" | "desc"; - /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - since?: components["parameters"]["since"]; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** The unique identifier of the asset. */ + asset_id: components["parameters"]["asset-id"]; }; }; responses: { - /** response */ + /** To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response. */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["pull-request-review-comment"][]; + "application/json": components["schemas"]["release-asset"]; }; }; + 302: components["responses"]["found"]; + 404: components["responses"]["not_found"]; }; }; - /** - * Creates a review comment in the pull request diff. To add a regular comment to a pull request timeline, see "[Create an issue comment](https://docs.github.com/rest/reference/issues#create-an-issue-comment)." We recommend creating a review comment using `line`, `side`, and optionally `start_line` and `start_side` if your comment applies to more than one line in the pull request diff. - * - * You can still create a review comment using the `position` parameter. When you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. For more information, see the [`comfort-fade` preview notice](https://docs.github.com/rest/reference/pulls#create-a-review-comment-for-a-pull-request-preview-notices). - * - * **Note:** The position value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. - * - * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. - */ - "pulls/create-review-comment": { + "repos/delete-release-asset": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; + /** The unique identifier of the asset. */ + asset_id: components["parameters"]["asset-id"]; }; }; responses: { - /** response */ - 201: { - headers: { - Location?: string; - }; + /** Response */ + 204: never; + }; + }; + /** Users with push access to the repository can edit a release asset. */ + "repos/update-release-asset": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the asset. */ + asset_id: components["parameters"]["asset-id"]; + }; + }; + responses: { + /** Response */ + 200: { content: { - "application/json": components["schemas"]["pull-request-review-comment"]; + "application/json": components["schemas"]["release-asset"]; }; }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - /** The text of the review comment. */ - body: string; - /** The SHA of the commit needing a comment. Not using the latest commit SHA may render your comment outdated if a subsequent commit modifies the line you specify as the `position`. */ - commit_id?: string; - /** The relative path to the file that necessitates a comment. */ - path: string; - /** **Required without `comfort-fade` preview**. The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note above. */ - position?: number; - /** **Required with `comfort-fade` preview**. In a split diff view, the side of the diff that the pull request's changes appear on. Can be `LEFT` or `RIGHT`. Use `LEFT` for deletions that appear in red. Use `RIGHT` for additions that appear in green or unchanged lines that appear in white and are shown for context. For a multi-line comment, side represents whether the last line of the comment range is a deletion or addition. For more information, see "[Diff view options](https://help.github.com/en/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. */ - side?: "LEFT" | "RIGHT"; - /** **Required with `comfort-fade` preview**. The line of the blob in the pull request diff that the comment applies to. For a multi-line comment, the last line of the range that your comment applies to. */ - line?: number; - /** **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_line` is the first line in the pull request diff that your multi-line comment applies to. To learn more about multi-line comments, see "[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. */ - start_line?: number; - /** **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_side` is the starting side of the diff that the comment applies to. Can be `LEFT` or `RIGHT`. To learn more about multi-line comments, see "[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. See `side` in this table for additional context. */ - start_side?: "LEFT" | "RIGHT" | "side"; - in_reply_to?: number; + /** @description The file name of the asset. */ + name?: string; + /** @description An alternate short description of the asset. Used in place of the filename. */ + label?: string; + /** @example "uploaded" */ + state?: string; }; }; }; }; - /** - * Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported. - * - * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. - */ - "pulls/create-reply-for-review-comment": { + /** Generate a name and body describing a [release](https://docs.github.com/rest/reference/repos#releases). The body content will be markdown formatted and contain information like the changes since last release and users who contributed. The generated release notes are not saved anywhere. They are intended to be generated and used when creating a new release. */ + "repos/generate-release-notes": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - /** comment_id parameter */ - comment_id: components["parameters"]["comment_id"]; }; }; responses: { - /** response */ - 201: { - headers: { - Location?: string; - }; + /** Name and body of generated release notes */ + 200: { content: { - "application/json": components["schemas"]["pull-request-review-comment"]; + "application/json": components["schemas"]["release-notes-content"]; }; }; 404: components["responses"]["not_found"]; @@ -23939,3714 +40176,4426 @@ export interface operations { requestBody: { content: { "application/json": { - /** The text of the review comment. */ - body: string; + /** @description The tag name for the release. This can be an existing tag or a new one. */ + tag_name: string; + /** @description Specifies the commitish value that will be the target for the release's tag. Required if the supplied tag_name does not reference an existing tag. Ignored if the tag_name already exists. */ + target_commitish?: string; + /** @description The name of the previous tag to use as the starting point for the release notes. Use to manually specify the range for the set of changes considered as part this release. */ + previous_tag_name?: string; + /** @description Specifies a path to a file in the repository containing configuration settings used for generating the release notes. If unspecified, the configuration file located in the repository at '.github/release.yml' or '.github/release.yaml' will be used. If that is not present, the default configuration will be used. */ + configuration_file_path?: string; }; }; }; }; - /** Lists a maximum of 250 commits for a pull request. To receive a complete commit list for pull requests with more than 250 commits, use the [List commits](https://docs.github.com/rest/reference/repos#list-commits) endpoint. */ - "pulls/list-commits": { + /** + * View the latest published full release for the repository. + * + * The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published. + */ + "repos/get-latest-release": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; - query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["commit"][]; + "application/json": components["schemas"]["release"]; }; }; }; }; - /** **Note:** Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. */ - "pulls/list-files": { + /** Get a published release with the specified tag. */ + "repos/get-release-by-tag": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; + /** tag parameter */ + tag: string; }; - query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["release"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). */ + "repos/get-release": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; }; }; responses: { - /** response */ + /** **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["diff-entry"][]; + "application/json": components["schemas"]["release"]; }; }; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; + 404: components["responses"]["not_found"]; }; }; - "pulls/check-if-merged": { + /** Users with push access to the repository can delete a release. */ + "repos/delete-release": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; + /** The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; }; }; responses: { - /** Response if pull request has been merged */ + /** Response */ 204: never; - /** Response if pull request has not been merged */ - 404: unknown; }; }; - /** This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-abuse-rate-limits)" for details. */ - "pulls/merge": { + /** Users with push access to the repository can edit a release. */ + "repos/update-release": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; + /** The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; }; }; responses: { - /** Response if merge was successful */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["pull-request-merge-result"]; + "application/json": components["schemas"]["release"]; }; }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - /** Response if merge cannot be performed */ - 405: { + /** Not Found if the discussion category name is invalid */ + 404: { content: { - "application/json": { - message?: string; - documentation_url?: string; - }; + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the tag. */ + tag_name?: string; + /** @description Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`). */ + target_commitish?: string; + /** @description The name of the release. */ + name?: string; + /** @description Text describing the contents of the tag. */ + body?: string; + /** @description `true` makes the release a draft, and `false` publishes the release. */ + draft?: boolean; + /** @description `true` to identify the release as a prerelease, `false` to identify the release as a full release. */ + prerelease?: boolean; + /** @description If specified, a discussion of the specified category is created and linked to the release. The value must be a category that already exists in the repository. If there is already a discussion linked to the release, this parameter is ignored. For more information, see "[Managing categories for discussions in your repository](https://docs.github.com/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)." */ + discussion_category_name?: string; + }; + }; + }; + }; + "repos/list-release-assets": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["release-asset"][]; }; }; - /** Response if sha was provided and pull request head did not match */ - 409: { + }; + }; + /** + * This endpoint makes use of [a Hypermedia relation](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in + * the response of the [Create a release endpoint](https://docs.github.com/rest/reference/repos#create-a-release) to upload a release asset. + * + * You need to use an HTTP client which supports [SNI](http://en.wikipedia.org/wiki/Server_Name_Indication) to make calls to this endpoint. + * + * Most libraries will set the required `Content-Length` header automatically. Use the required `Content-Type` header to provide the media type of the asset. For a list of media types, see [Media Types](https://www.iana.org/assignments/media-types/media-types.xhtml). For example: + * + * `application/zip` + * + * GitHub expects the asset data in its raw binary form, rather than JSON. You will send the raw binary content of the asset as the request body. Everything else about the endpoint is the same as the rest of the API. For example, + * you'll still need to pass your authentication to be able to upload an asset. + * + * When an upstream failure occurs, you will receive a `502 Bad Gateway` status. This may leave an empty asset with a state of `starter`. It can be safely deleted. + * + * **Notes:** + * * GitHub renames asset filenames that have special characters, non-alphanumeric characters, and leading or trailing periods. The "[List assets for a release](https://docs.github.com/rest/reference/repos#list-assets-for-a-release)" + * endpoint lists the renamed filenames. For more information and help, contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). + * * If you upload an asset with the same filename as another uploaded asset, you'll receive an error and must delete the old file before you can re-upload the new asset. + */ + "repos/upload-release-asset": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + query: { + name: string; + label?: string; + }; + }; + responses: { + /** Response for successful upload */ + 201: { content: { - "application/json": { - message?: string; - documentation_url?: string; - }; + "application/json": components["schemas"]["release-asset"]; }; }; - 422: components["responses"]["validation_failed"]; + /** Response if you upload an asset with the same filename as another uploaded asset */ + 422: unknown; }; requestBody: { content: { - "application/json": { - /** Title for the automatic commit message. */ - commit_title?: string; - /** Extra detail to append to automatic commit message. */ - commit_message?: string; - /** SHA that pull request head must match to allow merge. */ - sha?: string; - /** Merge method to use. Possible values are `merge`, `squash` or `rebase`. Default is `merge`. */ - merge_method?: "merge" | "squash" | "rebase"; - } | null; + "*/*": string; }; }; }; - "pulls/list-requested-reviewers": { + /** List the reactions to a [release](https://docs.github.com/rest/reference/repos#releases). */ + "reactions/list-for-release": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; + /** The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a release. */ + content?: "+1" | "laugh" | "heart" | "hooray" | "rocket" | "eyes"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": components["schemas"]["pull-request-review-request"]; + "application/json": components["schemas"]["reaction"][]; }; }; + 404: components["responses"]["not_found"]; }; }; - /** This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-abuse-rate-limits)" for details. */ - "pulls/request-reviewers": { + /** Create a reaction to a [release](https://docs.github.com/rest/reference/repos#releases). A response with a `Status: 200 OK` means that you already added the reaction type to this release. */ + "reactions/create-for-release": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; + /** The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; }; }; responses: { - /** response */ + /** Reaction exists */ + 200: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** Reaction created */ 201: { content: { - "application/json": components["schemas"]["pull-request-simple"]; + "application/json": components["schemas"]["reaction"]; }; }; - 403: components["responses"]["forbidden"]; - /** Response if user is not a collaborator */ - 422: unknown; + 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - /** An array of user `login`s that will be requested. */ - reviewers?: string[]; - /** An array of team `slug`s that will be requested. */ - team_reviewers?: string[]; + /** + * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the release. + * @enum {string} + */ + content: "+1" | "laugh" | "heart" | "hooray" | "rocket" | "eyes"; }; }; }; }; - "pulls/remove-requested-reviewers": { + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/releases/:release_id/reactions/:reaction_id`. + * + * Delete a reaction to a [release](https://docs.github.com/rest/reference/repos#releases). + */ + "reactions/delete-for-release": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; + /** The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + /** The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; }; }; responses: { - /** response */ - 200: unknown; - 422: components["responses"]["validation_failed"]; - }; - requestBody: { - content: { - "application/json": { - /** An array of user `login`s that will be removed. */ - reviewers?: string[]; - /** An array of team `slug`s that will be removed. */ - team_reviewers?: string[]; - }; - }; + /** Response */ + 204: never; }; }; - /** The list of reviews returns in chronological order. */ - "pulls/list-reviews": { + /** + * Lists secret scanning alerts for an eligible repository, from newest to oldest. + * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + "secret-scanning/list-alerts-for-repo": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ + state?: components["parameters"]["secret-scanning-alert-state"]; + /** + * A comma-separated list of secret types to return. By default all secret types are returned. + * See "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)" + * for a complete list of secret types. + */ + secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; + /** A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`. */ + resolution?: components["parameters"]["secret-scanning-alert-resolution"]; + /** The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved. */ + sort?: components["parameters"]["secret-scanning-alert-sort"]; + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. To receive an initial cursor on your first request, include an empty "before" query string. */ + before?: components["parameters"]["secret-scanning-pagination-before-org-repo"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. To receive an initial cursor on your first request, include an empty "after" query string. */ + after?: components["parameters"]["secret-scanning-pagination-after-org-repo"]; }; }; responses: { - /** The list of reviews returns in chronological order. */ + /** Response */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["pull-request-review"][]; + "application/json": components["schemas"]["secret-scanning-alert"][]; }; }; + /** Repository is public or secret scanning is disabled for the repository */ + 404: unknown; + 503: components["responses"]["service_unavailable"]; }; }; /** - * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. - * - * Pull request reviews created in the `PENDING` state do not include the `submitted_at` property in the response. - * - * **Note:** To comment on a specific line in a file, you need to first determine the _position_ of that line in the diff. The GitHub REST API v3 offers the `application/vnd.github.v3.diff` [media type](https://docs.github.com/rest/overview/media-types#commits-commit-comparison-and-pull-requests). To see a pull request diff, add this media type to the `Accept` header of a call to the [single pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) endpoint. + * Gets a single secret scanning alert detected in an eligible repository. + * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. * - * The `position` value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. */ - "pulls/create-review": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; - }; - responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["pull-request-review"]; - }; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed_simple"]; - }; - requestBody: { - content: { - "application/json": { - /** The SHA of the commit that needs a review. Not using the latest commit SHA may render your review comment outdated if a subsequent commit modifies the line you specify as the `position`. Defaults to the most recent commit in the pull request when you do not specify a value. */ - commit_id?: string; - /** **Required** when using `REQUEST_CHANGES` or `COMMENT` for the `event` parameter. The body text of the pull request review. */ - body?: string; - /** The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. By leaving this blank, you set the review action state to `PENDING`, which means you will need to [submit the pull request review](https://docs.github.com/rest/reference/pulls#submit-a-review-for-a-pull-request) when you are ready. */ - event?: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; - /** Use the following table to specify the location, destination, and contents of the draft review comment. */ - comments?: { - /** The relative path to the file that necessitates a review comment. */ - path: string; - /** The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note below. */ - position?: number; - /** Text of the review comment. */ - body: string; - line?: number; - side?: string; - start_line?: number; - start_side?: string; - }[]; - }; - }; - }; - }; - "pulls/get-review": { + "secret-scanning/get-alert": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - /** review_id parameter */ - review_id: components["parameters"]["review_id"]; + /** The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + alert_number: components["parameters"]["alert-number"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["pull-request-review"]; + "application/json": components["schemas"]["secret-scanning-alert"]; }; }; - 404: components["responses"]["not_found"]; + 304: components["responses"]["not_modified"]; + /** Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ + 404: unknown; + 503: components["responses"]["service_unavailable"]; }; }; - /** Update the review summary comment with new text. */ - "pulls/update-review": { + /** + * Updates the status of a secret scanning alert in an eligible repository. + * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` write permission to use this endpoint. + */ + "secret-scanning/update-alert": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - /** review_id parameter */ - review_id: components["parameters"]["review_id"]; + /** The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + alert_number: components["parameters"]["alert-number"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["pull-request-review"]; + "application/json": components["schemas"]["secret-scanning-alert"]; }; }; - 422: components["responses"]["validation_failed_simple"]; + /** Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ + 404: unknown; + /** State does not match the resolution */ + 422: unknown; + 503: components["responses"]["service_unavailable"]; }; requestBody: { content: { "application/json": { - /** The body text of the pull request review. */ - body: string; + state: components["schemas"]["secret-scanning-alert-state"]; + resolution?: components["schemas"]["secret-scanning-alert-resolution"]; }; }; }; }; - "pulls/delete-pending-review": { + /** + * Lists all locations for a given secret scanning alert for an eligible repository. + * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + "secret-scanning/list-locations-for-alert": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - /** review_id parameter */ - review_id: components["parameters"]["review_id"]; + /** The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + alert_number: components["parameters"]["alert-number"]; + }; + query: { + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; }; }; responses: { - /** response */ + /** Response */ 200: { + headers: {}; content: { - "application/json": components["schemas"]["pull-request-review"]; + "application/json": components["schemas"]["secret-scanning-location"][]; }; }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; + /** Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ + 404: unknown; + 503: components["responses"]["service_unavailable"]; }; }; - /** List comments for a specific pull request review. */ - "pulls/list-comments-for-review": { + /** + * Lists the people that have starred the repository. + * + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + */ + "activity/list-stargazers-for-repo": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - /** review_id parameter */ - review_id: components["parameters"]["review_id"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": components["schemas"]["review-comment"][]; + "application/json": Partial & + Partial; }; }; - 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; - /** **Note:** To dismiss a pull request review on a [protected branch](https://docs.github.com/rest/reference/repos#branches), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews. */ - "pulls/dismiss-review": { + /** Returns a weekly aggregate of the number of additions and deletions pushed to a repository. */ + "repos/get-code-frequency-stats": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - /** review_id parameter */ - review_id: components["parameters"]["review_id"]; }; }; responses: { - /** response */ + /** Returns a weekly aggregate of the number of additions and deletions pushed to a repository. */ 200: { content: { - "application/json": components["schemas"]["pull-request-review"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - requestBody: { - content: { - "application/json": { - /** The message for the pull request review dismissal */ - message: string; - event?: string; + "application/json": components["schemas"]["code-frequency-stat"][]; }; }; + 202: components["responses"]["accepted"]; + 204: components["responses"]["no_content"]; }; }; - "pulls/submit-review": { + /** Returns the last year of commit activity grouped by week. The `days` array is a group of commits per day, starting on `Sunday`. */ + "repos/get-commit-activity-stats": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - /** review_id parameter */ - review_id: components["parameters"]["review_id"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["pull-request-review"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - requestBody: { - content: { - "application/json": { - /** The body text of the pull request review */ - body?: string; - /** The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. When you leave this blank, the API returns _HTTP 422 (Unrecognizable entity)_ and sets the review action state to `PENDING`, which means you will need to re-submit the pull request review using a review action. */ - event: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; + "application/json": components["schemas"]["commit-activity"][]; }; }; + 202: components["responses"]["accepted"]; + 204: components["responses"]["no_content"]; }; }; - /** Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch. */ - "pulls/update-branch": { + /** + * Returns the `total` number of commits authored by the contributor. In addition, the response includes a Weekly Hash (`weeks` array) with the following information: + * + * * `w` - Start of the week, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). + * * `a` - Number of additions + * * `d` - Number of deletions + * * `c` - Number of commits + */ + "repos/get-contributors-stats": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; }; }; responses: { - /** response */ - 202: { - content: { - "application/json": { - message?: string; - url?: string; - }; + /** + * * `w` - Start of the week, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). + * * `a` - Number of additions + * * `d` - Number of deletions + * * `c` - Number of commits + */ + 200: { + content: { + "application/json": components["schemas"]["contributor-activity"][]; }; }; - 403: components["responses"]["forbidden"]; - 415: components["responses"]["preview_header_missing"]; - 422: components["responses"]["validation_failed"]; - }; - requestBody: { - content: { - "application/json": { - /** The expected SHA of the pull request's HEAD ref. This is the most recent commit on the pull request's branch. If the expected SHA does not match the pull request's HEAD, you will receive a `422 Unprocessable Entity` status. You can use the "[List commits](https://docs.github.com/rest/reference/repos#list-commits)" endpoint to find the most recent commit SHA. Default: SHA of the pull request's current HEAD ref. */ - expected_head_sha?: string; - } | null; - }; + 202: components["responses"]["accepted"]; + 204: components["responses"]["no_content"]; }; }; /** - * Gets the preferred README for a repository. + * Returns the total commit counts for the `owner` and total commit counts in `all`. `all` is everyone combined, including the `owner` in the last 52 weeks. If you'd like to get the commit counts for non-owners, you can subtract `owner` from `all`. * - * READMEs support [custom media types](https://docs.github.com/rest/reference/repos#custom-media-types) for retrieving the raw content or rendered HTML. + * The array order is oldest week (index 0) to most recent week. */ - "repos/get-readme": { + "repos/get-participation-stats": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; }; - query: { - /** The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`) */ - ref?: string; - }; }; responses: { - /** response */ + /** The array order is oldest week (index 0) to most recent week. */ 200: { content: { - "application/json": components["schemas"]["content-file"]; + "application/json": components["schemas"]["participation-stats"]; }; }; 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; }; }; /** - * This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/rest/reference/repos#list-repository-tags). + * Each array contains the day number, hour number, and number of commits: * - * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. + * * `0-6`: Sunday - Saturday + * * `0-23`: Hour of day + * * Number of commits + * + * For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. */ - "repos/list-releases": { + "repos/get-punch-card-stats": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; }; - query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; - }; }; responses: { - /** response */ + /** For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["release"][]; + "application/json": components["schemas"]["code-frequency-stat"][]; }; }; - 404: components["responses"]["not_found"]; + 204: components["responses"]["no_content"]; }; }; /** - * Users with push access to the repository can create a release. + * Users with push access in a repository can create commit statuses for a given SHA. * - * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + * Note: there is a limit of 1000 statuses per `sha` and `context` within a repository. Attempts to create more than 1000 statuses will result in a validation error. */ - "repos/create-release": { + "repos/create-commit-status": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + sha: string; }; }; responses: { - /** response */ + /** Response */ 201: { headers: { Location?: string; }; content: { - "application/json": components["schemas"]["release"]; + "application/json": components["schemas"]["status"]; }; }; - 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - /** The name of the tag. */ - tag_name: string; - /** Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`). */ - target_commitish?: string; - /** The name of the release. */ - name?: string; - /** Text describing the contents of the tag. */ - body?: string; - /** `true` to create a draft (unpublished) release, `false` to create a published one. */ - draft?: boolean; - /** `true` to identify the release as a prerelease. `false` to identify the release as a full release. */ - prerelease?: boolean; + /** + * @description The state of the status. + * @enum {string} + */ + state: "error" | "failure" | "pending" | "success"; + /** + * @description The target URL to associate with this status. This URL will be linked from the GitHub UI to allow users to easily see the source of the status. + * For example, if your continuous integration system is posting build status, you would want to provide the deep link for the build output for this specific SHA: + * `http://ci.example.com/user/repo/build/sha` + */ + target_url?: string; + /** @description A short description of the status. */ + description?: string; + /** + * @description A string label to differentiate this status from the status of other systems. This field is case-insensitive. + * @default default + */ + context?: string; }; }; }; }; - /** To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response. */ - "repos/get-release-asset": { + /** Lists the people watching the specified repository. */ + "activity/list-watchers-for-repo": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** asset_id parameter */ - asset_id: components["parameters"]["asset_id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response. */ + /** Response */ 200: { + headers: {}; content: { - "application/json": components["schemas"]["release-asset"]; + "application/json": components["schemas"]["simple-user"][]; }; }; - 302: components["responses"]["found"]; - 404: components["responses"]["not_found"]; - 415: components["responses"]["preview_header_missing"]; }; }; - "repos/delete-release-asset": { + "activity/get-repo-subscription": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** asset_id parameter */ - asset_id: components["parameters"]["asset_id"]; }; }; responses: { - /** Empty response */ - 204: never; + /** if you subscribe to the repository */ + 200: { + content: { + "application/json": components["schemas"]["repository-subscription"]; + }; + }; + 403: components["responses"]["forbidden"]; + /** Not Found if you don't subscribe to the repository */ + 404: unknown; }; }; - /** Users with push access to the repository can edit a release asset. */ - "repos/update-release-asset": { + /** If you would like to watch a repository, set `subscribed` to `true`. If you would like to ignore notifications made within a repository, set `ignored` to `true`. If you would like to stop watching a repository, [delete the repository's subscription](https://docs.github.com/rest/reference/activity#delete-a-repository-subscription) completely. */ + "activity/set-repo-subscription": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** asset_id parameter */ - asset_id: components["parameters"]["asset_id"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["release-asset"]; + "application/json": components["schemas"]["repository-subscription"]; }; }; }; requestBody: { content: { "application/json": { - /** The file name of the asset. */ - name?: string; - /** An alternate short description of the asset. Used in place of the filename. */ - label?: string; - state?: string; + /** @description Determines if notifications should be received from this repository. */ + subscribed?: boolean; + /** @description Determines if all notifications should be blocked from this repository. */ + ignored?: boolean; }; }; }; }; - /** - * View the latest published full release for the repository. - * - * The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published. - */ - "repos/get-latest-release": { + /** This endpoint should only be used to stop watching a repository. To control whether or not you wish to receive notifications from a repository, [set the repository's subscription manually](https://docs.github.com/rest/reference/activity#set-a-repository-subscription). */ + "activity/delete-repo-subscription": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; }; }; responses: { - /** response */ + /** Response */ + 204: never; + }; + }; + "repos/list-tags": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ 200: { + headers: {}; content: { - "application/json": components["schemas"]["release"]; + "application/json": components["schemas"]["tag"][]; }; }; }; }; - /** Get a published release with the specified tag. */ - "repos/get-release-by-tag": { + /** + * This returns the tag protection states of a repository. + * + * This information is only available to repository administrators. + */ + "repos/list-tag-protection": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** tag+ parameter */ - tag: string; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["release"]; + "application/json": components["schemas"]["tag-protection"][]; }; }; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; }; }; - /** **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). */ - "repos/get-release": { + /** + * This creates a tag protection state for a repository. + * This endpoint is only available to repository administrators. + */ + "repos/create-tag-protection": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** release_id parameter */ - release_id: components["parameters"]["release_id"]; }; }; responses: { - /** **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). */ - 200: { + /** Response */ + 201: { content: { - "application/json": components["schemas"]["release"]; + "application/json": components["schemas"]["tag-protection"]; }; }; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; }; + requestBody: { + content: { + "application/json": { + /** @description An optional glob pattern to match against when enforcing tag protection. */ + pattern: string; + }; + }; + }; }; - /** Users with push access to the repository can delete a release. */ - "repos/delete-release": { + /** + * This deletes a tag protection state for a repository. + * This endpoint is only available to repository administrators. + */ + "repos/delete-tag-protection": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** release_id parameter */ - release_id: components["parameters"]["release_id"]; + /** The unique identifier of the tag protection. */ + tag_protection_id: components["parameters"]["tag-protection-id"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; - /** Users with push access to the repository can edit a release. */ - "repos/update-release": { + /** + * Gets a redirect URL to download a tar archive for a repository. If you omit `:ref`, the repository’s default branch (usually + * `master`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use + * the `Location` header to make a second `GET` request. + * **Note**: For private repositories, these links are temporary and expire after five minutes. + */ + "repos/download-tarball-archive": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** release_id parameter */ - release_id: components["parameters"]["release_id"]; + ref: string; }; }; responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["release"]; - }; - }; - }; - requestBody: { - content: { - "application/json": { - /** The name of the tag. */ - tag_name?: string; - /** Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`). */ - target_commitish?: string; - /** The name of the release. */ - name?: string; - /** Text describing the contents of the tag. */ - body?: string; - /** `true` makes the release a draft, and `false` publishes the release. */ - draft?: boolean; - /** `true` to identify the release as a prerelease, `false` to identify the release as a full release. */ - prerelease?: boolean; - }; - }; + /** Response */ + 302: never; }; }; - "repos/list-release-assets": { + "repos/list-teams": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** release_id parameter */ - release_id: components["parameters"]["release_id"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": components["schemas"]["release-asset"][]; + "application/json": components["schemas"]["team"][]; }; }; }; }; - /** - * This endpoint makes use of [a Hypermedia relation](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in - * the response of the [Create a release endpoint](https://docs.github.com/rest/reference/repos#create-a-release) to upload a release asset. - * - * You need to use an HTTP client which supports [SNI](http://en.wikipedia.org/wiki/Server_Name_Indication) to make calls to this endpoint. - * - * Most libraries will set the required `Content-Length` header automatically. Use the required `Content-Type` header to provide the media type of the asset. For a list of media types, see [Media Types](https://www.iana.org/assignments/media-types/media-types.xhtml). For example: - * - * `application/zip` - * - * GitHub expects the asset data in its raw binary form, rather than JSON. You will send the raw binary content of the asset as the request body. Everything else about the endpoint is the same as the rest of the API. For example, - * you'll still need to pass your authentication to be able to upload an asset. - * - * When an upstream failure occurs, you will receive a `502 Bad Gateway` status. This may leave an empty asset with a state of `starter`. It can be safely deleted. - * - * **Notes:** - * * GitHub renames asset filenames that have special characters, non-alphanumeric characters, and leading or trailing periods. The "[List assets for a release](https://docs.github.com/rest/reference/repos#list-assets-for-a-release)" - * endpoint lists the renamed filenames. For more information and help, contact [GitHub Support](https://support.github.com/contact). - * * If you upload an asset with the same filename as another uploaded asset, you'll receive an error and must delete the old file before you can re-upload the new asset. - */ - "repos/upload-release-asset": { + "repos/get-all-topics": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** release_id parameter */ - release_id: components["parameters"]["release_id"]; }; query: { - name?: string; - label?: string; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["topic"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/replace-all-topics": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; }; }; responses: { - /** Response for successful upload */ - 201: { + /** Response */ + 200: { content: { - "application/json": components["schemas"]["release-asset"]; + "application/json": components["schemas"]["topic"]; }; }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; }; requestBody: { content: { - "*/*": string; + "application/json": { + /** @description An array of topics to add to the repository. Pass one or more topics to _replace_ the set of existing topics. Send an empty array (`[]`) to clear all topics from the repository. **Note:** Topic `names` cannot contain uppercase letters. */ + names: string[]; + }; }; }; }; - /** - * Lists all secret scanning alerts for a private repository, from newest to oldest. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the `repo` scope or `security_events` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. - */ - "secret-scanning/list-alerts-for-repo": { + /** Get the total number of clones and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. */ + "repos/get-clones": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; }; query: { - /** Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ - state?: "open" | "resolved"; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The time frame to display results for. */ + per?: components["parameters"]["per"]; }; }; responses: { /** Response */ 200: { content: { - "application/json": components["schemas"]["secret-scanning-alert"][]; + "application/json": components["schemas"]["clone-traffic"]; }; }; - /** Repository is public or secret scanning is disabled for the repository */ - 404: unknown; - 503: components["responses"]["service_unavailable"]; + 403: components["responses"]["forbidden"]; }; }; - /** - * Gets a single secret scanning alert detected in a private repository. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the `repo` scope or `security_events` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. - */ - "secret-scanning/get-alert": { + /** Get the top 10 popular contents over the last 14 days. */ + "repos/get-top-paths": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The security alert number, found at the end of the security alert's URL. */ - alert_number: components["parameters"]["alert_number"]; }; }; responses: { - /** Default response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["secret-scanning-alert"]; + "application/json": components["schemas"]["content-traffic"][]; }; }; - /** Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ - 404: unknown; - 503: components["responses"]["service_unavailable"]; + 403: components["responses"]["forbidden"]; }; }; - /** - * Updates the status of a secret scanning alert in a private repository. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the `repo` scope or `security_events` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` write permission to use this endpoint. - */ - "secret-scanning/update-alert": { + /** Get the top 10 referrers over the last 14 days. */ + "repos/get-top-referrers": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; - /** The security alert number, found at the end of the security alert's URL. */ - alert_number: components["parameters"]["alert_number"]; }; }; responses: { - /** Default response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["secret-scanning-alert"]; - }; - }; - /** Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ - 404: unknown; - /** State does not match the resolution */ - 422: unknown; - 503: components["responses"]["service_unavailable"]; - }; - requestBody: { - content: { - "application/json": { - state: components["schemas"]["secret-scanning-alert-state"]; - resolution?: components["schemas"]["secret-scanning-alert-resolution"]; + "application/json": components["schemas"]["referrer-traffic"][]; }; }; + 403: components["responses"]["forbidden"]; }; }; - /** - * Lists the people that have starred the repository. - * - * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: - */ - "activity/list-stargazers-for-repo": { + /** Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. */ + "repos/get-views": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** The time frame to display results for. */ + per?: components["parameters"]["per"]; }; }; responses: { - /** response */ + /** Response */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["simple-user"][]; - "application/vnd.github.v3.star+json": components["schemas"]["stargazer"][]; + "application/json": components["schemas"]["view-traffic"]; }; }; - 422: components["responses"]["validation_failed"]; + 403: components["responses"]["forbidden"]; }; }; - /** Returns a weekly aggregate of the number of additions and deletions pushed to a repository. */ - "repos/get-code-frequency-stats": { + /** A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://docs.github.com/articles/about-repository-transfers/). */ + "repos/transfer": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; }; }; responses: { - /** Returns a weekly aggregate of the number of additions and deletions pushed to a repository. */ - 200: { + /** Response */ + 202: { content: { - "application/json": components["schemas"]["code-frequency-stat"][]; + "application/json": components["schemas"]["minimal-repository"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The username or organization name the repository will be transferred to. */ + new_owner: string; + /** @description ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories. */ + team_ids?: number[]; }; }; }; }; - /** Returns the last year of commit activity grouped by week. The `days` array is a group of commits per day, starting on `Sunday`. */ - "repos/get-commit-activity-stats": { + /** Shows whether dependency alerts are enabled or disabled for a repository. The authenticated user must have admin read access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". */ + "repos/check-vulnerability-alerts": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; }; }; responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["commit-activity"][]; - }; - }; + /** Response if repository is enabled with vulnerability alerts */ + 204: never; + /** Not Found if repository is not enabled with vulnerability alerts */ + 404: unknown; }; }; - /** - * Returns the `total` number of commits authored by the contributor. In addition, the response includes a Weekly Hash (`weeks` array) with the following information: - * - * * `w` - Start of the week, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). - * * `a` - Number of additions - * * `d` - Number of deletions - * * `c` - Number of commits - */ - "repos/get-contributors-stats": { + /** Enables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". */ + "repos/enable-vulnerability-alerts": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; }; }; responses: { - /** - * * `w` - Start of the week, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). - * * `a` - Number of additions - * * `d` - Number of deletions - * * `c` - Number of commits - */ - 200: { - content: { - "application/json": components["schemas"]["contributor-activity"][]; - }; - }; + /** Response */ + 204: never; }; }; - /** - * Returns the total commit counts for the `owner` and total commit counts in `all`. `all` is everyone combined, including the `owner` in the last 52 weeks. If you'd like to get the commit counts for non-owners, you can subtract `owner` from `all`. - * - * The array order is oldest week (index 0) to most recent week. - */ - "repos/get-participation-stats": { + /** Disables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". */ + "repos/disable-vulnerability-alerts": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; }; }; responses: { - /** The array order is oldest week (index 0) to most recent week. */ - 200: { - content: { - "application/json": components["schemas"]["participation-stats"]; - }; - }; - 404: components["responses"]["not_found"]; + /** Response */ + 204: never; }; }; /** - * Each array contains the day number, hour number, and number of commits: - * - * * `0-6`: Sunday - Saturday - * * `0-23`: Hour of day - * * Number of commits - * - * For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. + * Gets a redirect URL to download a zip archive for a repository. If you omit `:ref`, the repository’s default branch (usually + * `master`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use + * the `Location` header to make a second `GET` request. + * **Note**: For private repositories, these links are temporary and expire after five minutes. */ - "repos/get-punch-card-stats": { + "repos/download-zipball-archive": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; + ref: string; }; }; responses: { - /** For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. */ - 200: { - content: { - "application/json": components["schemas"]["code-frequency-stat"][]; - }; - }; + /** Response */ + 302: never; }; }; /** - * Users with push access in a repository can create commit statuses for a given SHA. + * Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. The authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/reference/repos#get-a-repository) endpoint and check that the `is_template` key is `true`. * - * Note: there is a limit of 1000 statuses per `sha` and `context` within a repository. Attempts to create more than 1000 statuses will result in a validation error. + * **OAuth scope requirements** + * + * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. + * * `repo` scope to create a private repository */ - "repos/create-commit-status": { + "repos/create-using-template": { parameters: { path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - sha: string; + template_owner: string; + template_repo: string; }; }; responses: { - /** response */ + /** Response */ 201: { headers: { Location?: string; }; content: { - "application/json": components["schemas"]["status"]; + "application/json": components["schemas"]["repository"]; }; }; }; requestBody: { content: { "application/json": { - /** The state of the status. Can be one of `error`, `failure`, `pending`, or `success`. */ - state: "error" | "failure" | "pending" | "success"; + /** @description The organization or person who will own the new repository. To create a new repository in an organization, the authenticated user must be a member of the specified organization. */ + owner?: string; + /** @description The name of the new repository. */ + name: string; + /** @description A short description of the new repository. */ + description?: string; /** - * The target URL to associate with this status. This URL will be linked from the GitHub UI to allow users to easily see the source of the status. - * For example, if your continuous integration system is posting build status, you would want to provide the deep link for the build output for this specific SHA: - * `http://ci.example.com/user/repo/build/sha` + * @description Set to `true` to include the directory structure and files from all branches in the template repository, and not just the default branch. Default: `false`. + * @default false */ - target_url?: string; - /** A short description of the status. */ - description?: string; - /** A string label to differentiate this status from the status of other systems. This field is case-insensitive. */ - context?: string; + include_all_branches?: boolean; + /** + * @description Either `true` to create a new private repository or `false` to create a new public one. + * @default false + */ + private?: boolean; }; }; }; }; - /** Lists the people watching the specified repository. */ - "activity/list-watchers-for-repo": { + /** + * Lists all public repositories in the order that they were created. + * + * Note: + * - For GitHub Enterprise Server, this endpoint will only list repositories available to all users on the enterprise. + * - Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of repositories. + */ + "repos/list-public": { + parameters: { + query: { + /** A repository ID. Only return repositories with an ID greater than this ID. */ + since?: components["parameters"]["since-repo"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: { + Link?: string; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Lists all secrets available in an environment without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + "actions/list-environment-secrets": { parameters: { path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; + /** The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + /** The name of the environment */ + environment_name: components["parameters"]["environment-name"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["actions-secret"][]; + }; + }; + }; + }; + }; + /** Get the public key for an environment, which you need to encrypt environment secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + "actions/get-environment-public-key": { + parameters: { + path: { + /** The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + /** The name of the environment */ + environment_name: components["parameters"]["environment-name"]; + }; + }; + responses: { + /** Response */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["simple-user"][]; + "application/json": components["schemas"]["actions-public-key"]; }; }; }; }; - "activity/get-repo-subscription": { + /** Gets a single environment secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + "actions/get-environment-secret": { parameters: { path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; + /** The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + /** The name of the environment */ + environment_name: components["parameters"]["environment-name"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; }; }; responses: { - /** Response if you subscribe to the repository */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["repository-subscription"]; + "application/json": components["schemas"]["actions-secret"]; }; }; - 403: components["responses"]["forbidden"]; - /** Response if you don't subscribe to the repository */ - 404: unknown; }; }; - /** If you would like to watch a repository, set `subscribed` to `true`. If you would like to ignore notifications made within a repository, set `ignored` to `true`. If you would like to stop watching a repository, [delete the repository's subscription](https://docs.github.com/rest/reference/activity#delete-a-repository-subscription) completely. */ - "activity/set-repo-subscription": { + /** + * Creates or updates an environment secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use + * this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + "actions/create-or-update-environment-secret": { parameters: { path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; + /** The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + /** The name of the environment */ + environment_name: components["parameters"]["environment-name"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; }; }; responses: { - /** response */ - 200: { + /** Response when creating a secret */ + 201: { content: { - "application/json": components["schemas"]["repository-subscription"]; + "application/json": components["schemas"]["empty-object"]; }; }; + /** Response when updating a secret */ + 204: never; }; requestBody: { content: { "application/json": { - /** Determines if notifications should be received from this repository. */ - subscribed?: boolean; - /** Determines if all notifications should be blocked from this repository. */ - ignored?: boolean; + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an environment public key](https://docs.github.com/rest/reference/actions#get-an-environment-public-key) endpoint. */ + encrypted_value: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id: string; }; }; }; }; - /** This endpoint should only be used to stop watching a repository. To control whether or not you wish to receive notifications from a repository, [set the repository's subscription manually](https://docs.github.com/rest/reference/activity#set-a-repository-subscription). */ - "activity/delete-repo-subscription": { + /** Deletes a secret in an environment using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + "actions/delete-environment-secret": { parameters: { path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; + /** The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + /** The name of the environment */ + environment_name: components["parameters"]["environment-name"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; }; }; responses: { - /** Empty response */ + /** Default response */ 204: never; }; }; - "repos/list-tags": { + /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + "enterprise-admin/list-provisioned-groups-enterprise": { parameters: { path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** Used for pagination: the index of the first result to return. */ + startIndex?: components["parameters"]["start-index"]; + /** Used for pagination: the number of results to return. */ + count?: components["parameters"]["count"]; + /** filter results */ + filter?: string; + /** attributes to exclude */ + excludedAttributes?: string; }; }; responses: { - /** response */ + /** Response */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["tag"][]; + "application/json": components["schemas"]["scim-group-list-enterprise"]; }; }; }; }; /** - * Gets a redirect URL to download a tar archive for a repository. If you omit `:ref`, the repository’s default branch (usually - * `master`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use - * the `Location` header to make a second `GET` request. - * **Note**: For private repositories, these links are temporary and expire after five minutes. + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Provision an enterprise group, and invite users to the group. This sends invitation emails to the email address of the invited users to join the GitHub organization that the SCIM group corresponds to. */ - "repos/download-tarball-archive": { + "enterprise-admin/provision-and-invite-enterprise-group": { parameters: { path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ref: string; + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; }; }; responses: { - /** response */ - 302: never; - }; - }; - "repos/list-teams": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["scim-enterprise-group"]; + }; }; }; - responses: { - /** response */ - 200: { - headers: {}; - content: { - "application/json": components["schemas"]["team"][]; + requestBody: { + content: { + "application/json": { + /** @description The SCIM schema URIs. */ + schemas: string[]; + /** @description The name of the SCIM group. This must match the GitHub organization that the group maps to. */ + displayName: string; + members?: { + /** @description The SCIM user ID for a user. */ + value: string; + }[]; }; }; }; }; - "repos/get-all-topics": { + /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + "enterprise-admin/get-provisioning-information-for-enterprise-group": { parameters: { path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Identifier generated by the GitHub SCIM endpoint. */ + scim_group_id: components["parameters"]["scim-group-id"]; + }; + query: { + /** Attributes to exclude. */ + excludedAttributes?: string; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["topic"]; + "application/json": components["schemas"]["scim-enterprise-group"]; }; }; - 404: components["responses"]["not_found"]; - 415: components["responses"]["preview_header_missing"]; }; }; - "repos/replace-all-topics": { + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Replaces an existing provisioned group’s information. You must provide all the information required for the group as if you were provisioning it for the first time. Any existing group information that you don't provide will be removed, including group membership. If you want to only update a specific attribute, use the [Update an attribute for a SCIM enterprise group](#update-an-attribute-for-a-scim-enterprise-group) endpoint instead. + */ + "enterprise-admin/set-information-for-provisioned-enterprise-group": { parameters: { path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Identifier generated by the GitHub SCIM endpoint. */ + scim_group_id: components["parameters"]["scim-group-id"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["topic"]; + "application/json": components["schemas"]["scim-enterprise-group"]; }; }; - 404: components["responses"]["not_found"]; - 415: components["responses"]["preview_header_missing"]; - 422: components["responses"]["validation_failed_simple"]; }; requestBody: { content: { "application/json": { - /** An array of topics to add to the repository. Pass one or more topics to _replace_ the set of existing topics. Send an empty array (`[]`) to clear all topics from the repository. **Note:** Topic `names` cannot contain uppercase letters. */ - names: string[]; - }; - }; - }; - }; - /** Get the total number of clones and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. */ - "repos/get-clones": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - query: { - /** Must be one of: `day`, `week`. */ - per?: components["parameters"]["per"]; - }; - }; - responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["clone-traffic"]; + /** @description The SCIM schema URIs. */ + schemas: string[]; + /** @description The name of the SCIM group. This must match the GitHub organization that the group maps to. */ + displayName: string; + members?: { + /** @description The SCIM user ID for a user. */ + value: string; + }[]; }; }; - 403: components["responses"]["forbidden"]; }; }; - /** Get the top 10 popular contents over the last 14 days. */ - "repos/get-top-paths": { + /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + "enterprise-admin/delete-scim-group-from-enterprise": { parameters: { path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Identifier generated by the GitHub SCIM endpoint. */ + scim_group_id: components["parameters"]["scim-group-id"]; }; }; responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["content-traffic"][]; - }; - }; - 403: components["responses"]["forbidden"]; + /** Response */ + 204: never; }; }; - /** Get the top 10 referrers over the last 14 days. */ - "repos/get-top-referrers": { + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Allows you to change a provisioned group’s individual attributes. To change a group’s values, you must provide a specific Operations JSON format that contains at least one of the add, remove, or replace operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). + */ + "enterprise-admin/update-attribute-for-enterprise-group": { parameters: { path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Identifier generated by the GitHub SCIM endpoint. */ + scim_group_id: components["parameters"]["scim-group-id"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["referrer-traffic"][]; + "application/json": components["schemas"]["scim-enterprise-group"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The SCIM schema URIs. */ + schemas: string[]; + /** @description Array of [SCIM operations](https://tools.ietf.org/html/rfc7644#section-3.5.2). */ + Operations: { + /** @enum {string} */ + op: "add" | "Add" | "remove" | "Remove" | "replace" | "Replace"; + path?: string; + /** @description Can be any value - string, number, array or object. */ + value?: unknown; + }[]; }; }; - 403: components["responses"]["forbidden"]; }; }; - /** Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. */ - "repos/get-views": { + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Retrieves a paginated list of all provisioned enterprise members, including pending invitations. + * + * When a user with a SAML-provisioned external identity leaves (or is removed from) an enterprise, the account's metadata is immediately removed. However, the returned list of user accounts might not always match the organization or enterprise member list you see on GitHub. This can happen in certain cases where an external identity associated with an organization will not match an organization member: + * - When a user with a SCIM-provisioned external identity is removed from an enterprise, the account's metadata is preserved to allow the user to re-join the organization in the future. + * - When inviting a user to join an organization, you can expect to see their external identity in the results before they accept the invitation, or if the invitation is cancelled (or never accepted). + * - When a user is invited over SCIM, an external identity is created that matches with the invitee's email address. However, this identity is only linked to a user account when the user accepts the invitation by going through SAML SSO. + * + * The returned list of external identities can include an entry for a `null` user. These are unlinked SAML identities that are created when a user goes through the following Single Sign-On (SSO) process but does not sign in to their GitHub account after completing SSO: + * + * 1. The user is granted access by the IdP and is not a member of the GitHub enterprise. + * + * 1. The user attempts to access the GitHub enterprise and initiates the SAML SSO process, and is not currently signed in to their GitHub account. + * + * 1. After successfully authenticating with the SAML SSO IdP, the `null` external identity entry is created and the user is prompted to sign in to their GitHub account: + * - If the user signs in, their GitHub account is linked to this entry. + * - If the user does not sign in (or does not create a new account when prompted), they are not added to the GitHub enterprise, and the external identity `null` entry remains in place. + */ + "enterprise-admin/list-provisioned-identities-enterprise": { parameters: { path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; }; query: { - /** Must be one of: `day`, `week`. */ - per?: components["parameters"]["per"]; + /** Used for pagination: the index of the first result to return. */ + startIndex?: components["parameters"]["start-index"]; + /** Used for pagination: the number of results to return. */ + count?: components["parameters"]["count"]; + /** filter results */ + filter?: string; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["view-traffic"]; + "application/json": components["schemas"]["scim-user-list-enterprise"]; }; }; - 403: components["responses"]["forbidden"]; }; }; - /** A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://help.github.com/articles/about-repository-transfers/). */ - "repos/transfer": { + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Provision enterprise membership for a user, and send organization invitation emails to the email address. + * + * You can optionally include the groups a user will be invited to join. If you do not provide a list of `groups`, the user is provisioned for the enterprise, but no organization invitation emails will be sent. + */ + "enterprise-admin/provision-and-invite-enterprise-user": { parameters: { path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; }; }; responses: { - /** response */ - 202: { + /** Response */ + 201: { content: { - "application/json": components["schemas"]["repository"]; + "application/json": components["schemas"]["scim-enterprise-user"]; }; }; }; requestBody: { content: { "application/json": { - /** The username or organization name the repository will be transferred to. */ - new_owner: string; - /** ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories. */ - team_ids?: number[]; + /** @description The SCIM schema URIs. */ + schemas: string[]; + /** @description The username for the user. */ + userName: string; + name: { + /** @description The first name of the user. */ + givenName: string; + /** @description The last name of the user. */ + familyName: string; + }; + /** @description List of user emails. */ + emails: { + /** @description The email address. */ + value: string; + /** @description The type of email address. */ + type: string; + /** @description Whether this email address is the primary address. */ + primary: boolean; + }[]; + /** @description List of SCIM group IDs the user is a member of. */ + groups?: { + value?: string; + }[]; }; }; }; }; - /** Shows whether dependency alerts are enabled or disabled for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". */ - "repos/check-vulnerability-alerts": { + /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + "enterprise-admin/get-provisioning-information-for-enterprise-user": { parameters: { path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** The unique identifier of the SCIM user. */ + scim_user_id: components["parameters"]["scim-user-id"]; }; }; responses: { - /** Response if repository is enabled with vulnerability alerts */ - 204: never; - /** Response if repository is not enabled with vulnerability alerts */ - 404: unknown; + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["scim-enterprise-user"]; + }; + }; }; }; - /** Enables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". */ - "repos/enable-vulnerability-alerts": { + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Replaces an existing provisioned user's information. You must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the [Update an attribute for a SCIM user](#update-an-attribute-for-an-enterprise-scim-user) endpoint instead. + * + * You must at least provide the required values for the user: `userName`, `name`, and `emails`. + * + * **Warning:** Setting `active: false` removes the user from the enterprise, deletes the external identity, and deletes the associated `{scim_user_id}`. + */ + "enterprise-admin/set-information-for-provisioned-enterprise-user": { parameters: { path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** The unique identifier of the SCIM user. */ + scim_user_id: components["parameters"]["scim-user-id"]; }; }; responses: { - /** Empty response */ - 204: never; - }; - }; - /** Disables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". */ - "repos/disable-vulnerability-alerts": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["scim-enterprise-user"]; + }; }; }; - responses: { - /** Empty response */ - 204: never; + requestBody: { + content: { + "application/json": { + /** @description The SCIM schema URIs. */ + schemas: string[]; + /** @description The username for the user. */ + userName: string; + name: { + /** @description The first name of the user. */ + givenName: string; + /** @description The last name of the user. */ + familyName: string; + }; + /** @description List of user emails. */ + emails: { + /** @description The email address. */ + value: string; + /** @description The type of email address. */ + type: string; + /** @description Whether this email address is the primary address. */ + primary: boolean; + }[]; + /** @description List of SCIM group IDs the user is a member of. */ + groups?: { + value?: string; + }[]; + }; + }; }; }; - /** - * Gets a redirect URL to download a zip archive for a repository. If you omit `:ref`, the repository’s default branch (usually - * `master`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use - * the `Location` header to make a second `GET` request. - * **Note**: For private repositories, these links are temporary and expire after five minutes. - */ - "repos/download-zipball-archive": { + /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + "enterprise-admin/delete-user-from-enterprise": { parameters: { path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ref: string; + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** The unique identifier of the SCIM user. */ + scim_user_id: components["parameters"]["scim-user-id"]; }; }; responses: { - /** response */ - 302: never; + /** Response */ + 204: never; }; }; /** - * Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. The authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/reference/repos#get-a-repository) endpoint and check that the `is_template` key is `true`. + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. * - * **OAuth scope requirements** + * Allows you to change a provisioned user's individual attributes. To change a user's values, you must provide a specific `Operations` JSON format that contains at least one of the `add`, `remove`, or `replace` operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). * - * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * **Note:** Complicated SCIM `path` selectors that include filters are not supported. For example, a `path` selector defined as `"path": "emails[type eq \"work\"]"` will not work. * - * * `public_repo` scope or `repo` scope to create a public repository - * * `repo` scope to create a private repository + * **Warning:** If you set `active:false` using the `replace` operation (as shown in the JSON example below), it removes the user from the enterprise, deletes the external identity, and deletes the associated `:scim_user_id`. + * + * ``` + * { + * "Operations":[{ + * "op":"replace", + * "value":{ + * "active":false + * } + * }] + * } + * ``` */ - "repos/create-using-template": { + "enterprise-admin/update-attribute-for-enterprise-user": { parameters: { path: { - template_owner: string; - template_repo: string; + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** The unique identifier of the SCIM user. */ + scim_user_id: components["parameters"]["scim-user-id"]; }; }; responses: { - /** response */ - 201: { - headers: { - Location?: string; - }; + /** Response */ + 200: { content: { - "application/json": components["schemas"]["repository"]; + "application/json": components["schemas"]["scim-enterprise-user"]; }; }; }; requestBody: { content: { "application/json": { - /** The organization or person who will own the new repository. To create a new repository in an organization, the authenticated user must be a member of the specified organization. */ - owner?: string; - /** The name of the new repository. */ - name: string; - /** A short description of the new repository. */ - description?: string; - /** Set to `true` to include the directory structure and files from all branches in the template repository, and not just the default branch. Default: `false`. */ - include_all_branches?: boolean; - /** Either `true` to create a new private repository or `false` to create a new public one. */ - private?: boolean; + /** @description The SCIM schema URIs. */ + schemas: string[]; + /** @description Array of [SCIM operations](https://tools.ietf.org/html/rfc7644#section-3.5.2). */ + Operations: { [key: string]: unknown }[]; }; }; }; }; /** - * Lists all public repositories in the order that they were created. + * Retrieves a paginated list of all provisioned organization members, including pending invitations. If you provide the `filter` parameter, the resources for all matching provisions members are returned. + * + * When a user with a SAML-provisioned external identity leaves (or is removed from) an organization, the account's metadata is immediately removed. However, the returned list of user accounts might not always match the organization or enterprise member list you see on GitHub. This can happen in certain cases where an external identity associated with an organization will not match an organization member: + * - When a user with a SCIM-provisioned external identity is removed from an organization, the account's metadata is preserved to allow the user to re-join the organization in the future. + * - When inviting a user to join an organization, you can expect to see their external identity in the results before they accept the invitation, or if the invitation is cancelled (or never accepted). + * - When a user is invited over SCIM, an external identity is created that matches with the invitee's email address. However, this identity is only linked to a user account when the user accepts the invitation by going through SAML SSO. * - * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of repositories. + * The returned list of external identities can include an entry for a `null` user. These are unlinked SAML identities that are created when a user goes through the following Single Sign-On (SSO) process but does not sign in to their GitHub account after completing SSO: + * + * 1. The user is granted access by the IdP and is not a member of the GitHub organization. + * + * 1. The user attempts to access the GitHub organization and initiates the SAML SSO process, and is not currently signed in to their GitHub account. + * + * 1. After successfully authenticating with the SAML SSO IdP, the `null` external identity entry is created and the user is prompted to sign in to their GitHub account: + * - If the user signs in, their GitHub account is linked to this entry. + * - If the user does not sign in (or does not create a new account when prompted), they are not added to the GitHub organization, and the external identity `null` entry remains in place. */ - "repos/list-public": { - parameters: { - query: { - /** A repository ID. Only return repositories with an ID greater than this ID. */ - since?: components["parameters"]["since-repo"]; - }; - }; - responses: { - /** response */ - 200: { - headers: { - Link?: string; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ - "enterprise-admin/list-provisioned-groups-enterprise": { + "scim/list-provisioned-identities": { parameters: { path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; }; query: { /** Used for pagination: the index of the first result to return. */ - startIndex?: components["parameters"]["start_index"]; + startIndex?: number; /** Used for pagination: the number of results to return. */ - count?: components["parameters"]["count"]; + count?: number; + /** + * Filters results using the equals query parameter operator (`eq`). You can filter results that are equal to `id`, `userName`, `emails`, and `external_id`. For example, to search for an identity with the `userName` Octocat, you would use this query: + * + * `?filter=userName%20eq%20\"Octocat\"`. + * + * To filter results for the identity with the email `octocat@github.com`, you would use this query: + * + * `?filter=emails%20eq%20\"octocat@github.com\"`. + */ + filter?: string; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["scim-group-list-enterprise"]; + "application/scim+json": components["schemas"]["scim-user-list"]; }; }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["scim_bad_request"]; + 403: components["responses"]["scim_forbidden"]; + 404: components["responses"]["scim_not_found"]; + 429: components["responses"]["scim_too_many_requests"]; }; }; - /** - * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - * - * Provision an enterprise group, and invite users to the group. This sends invitation emails to the email address of the invited users to join the GitHub organization that the SCIM group corresponds to. - */ - "enterprise-admin/provision-and-invite-enterprise-group": { + /** Provision organization membership for a user, and send an activation email to the email address. */ + "scim/provision-and-invite-user": { parameters: { path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; }; }; responses: { - /** response */ + /** Response */ 201: { content: { - "application/json": components["schemas"]["scim-enterprise-group"]; + "application/scim+json": components["schemas"]["scim-user"]; }; }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["scim_bad_request"]; + 403: components["responses"]["scim_forbidden"]; + 404: components["responses"]["scim_not_found"]; + 409: components["responses"]["scim_conflict"]; + 500: components["responses"]["scim_internal_error"]; }; requestBody: { content: { "application/json": { - /** The SCIM schema URIs. */ - schemas: string[]; - /** The name of the SCIM group. This must match the GitHub organization that the group maps to. */ - displayName: string; - members?: { - /** The SCIM user ID for a user. */ + /** + * @description Configured by the admin. Could be an email, login, or username + * @example someone@example.com + */ + userName: string; + /** + * @description The name of the user, suitable for display to end-users + * @example Jon Doe + */ + displayName?: string; + /** + * @example { + * "givenName": "Jane", + * "familyName": "User" + * } + */ + name: { + givenName: string; + familyName: string; + formatted?: string; + }; + /** + * @description user emails + * @example [ + * { + * "value": "someone@example.com", + * "primary": true + * }, + * { + * "value": "another@example.com", + * "primary": false + * } + * ] + */ + emails: { value: string; + primary?: boolean; + type?: string; }[]; + schemas?: string[]; + externalId?: string; + groups?: string[]; + active?: boolean; }; }; }; }; - /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ - "enterprise-admin/get-provisioning-information-for-enterprise-group": { + "scim/get-provisioning-information-for-user": { parameters: { path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - /** Identifier generated by the GitHub SCIM endpoint. */ - scim_group_id: components["parameters"]["scim_group_id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the SCIM user. */ + scim_user_id: components["parameters"]["scim-user-id"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["scim-enterprise-group"]; + "application/scim+json": components["schemas"]["scim-user"]; }; }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["scim_forbidden"]; + 404: components["responses"]["scim_not_found"]; }; }; /** - * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * Replaces an existing provisioned user's information. You must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the [Update an attribute for a SCIM user](https://docs.github.com/rest/reference/scim#update-an-attribute-for-a-scim-user) endpoint instead. * - * Replaces an existing provisioned group’s information. You must provide all the information required for the group as if you were provisioning it for the first time. Any existing group information that you don't provide will be removed, including group membership. If you want to only update a specific attribute, use the [Update an attribute for a SCIM enterprise group](#update-an-attribute-for-a-scim-enterprise-group) endpoint instead. + * You must at least provide the required values for the user: `userName`, `name`, and `emails`. + * + * **Warning:** Setting `active: false` removes the user from the organization, deletes the external identity, and deletes the associated `{scim_user_id}`. */ - "enterprise-admin/set-information-for-provisioned-enterprise-group": { + "scim/set-information-for-provisioned-user": { parameters: { path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - /** Identifier generated by the GitHub SCIM endpoint. */ - scim_group_id: components["parameters"]["scim_group_id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the SCIM user. */ + scim_user_id: components["parameters"]["scim-user-id"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["scim-enterprise-group"]; + "application/scim+json": components["schemas"]["scim-user"]; }; }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["scim_forbidden"]; + 404: components["responses"]["scim_not_found"]; }; requestBody: { content: { "application/json": { - /** The SCIM schema URIs. */ - schemas: string[]; - /** The name of the SCIM group. This must match the GitHub organization that the group maps to. */ - displayName: string; - members?: { - /** The SCIM user ID for a user. */ + schemas?: string[]; + /** + * @description The name of the user, suitable for display to end-users + * @example Jon Doe + */ + displayName?: string; + externalId?: string; + groups?: string[]; + active?: boolean; + /** + * @description Configured by the admin. Could be an email, login, or username + * @example someone@example.com + */ + userName: string; + /** + * @example { + * "givenName": "Jane", + * "familyName": "User" + * } + */ + name: { + givenName: string; + familyName: string; + formatted?: string; + }; + /** + * @description user emails + * @example [ + * { + * "value": "someone@example.com", + * "primary": true + * }, + * { + * "value": "another@example.com", + * "primary": false + * } + * ] + */ + emails: { + type?: string; value: string; + primary?: boolean; }[]; }; }; }; }; - /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ - "enterprise-admin/delete-scim-group-from-enterprise": { + "scim/delete-user-from-org": { parameters: { path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - /** Identifier generated by the GitHub SCIM endpoint. */ - scim_group_id: components["parameters"]["scim_group_id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the SCIM user. */ + scim_user_id: components["parameters"]["scim-user-id"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["scim_forbidden"]; + 404: components["responses"]["scim_not_found"]; }; }; /** - * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * Allows you to change a provisioned user's individual attributes. To change a user's values, you must provide a specific `Operations` JSON format that contains at least one of the `add`, `remove`, or `replace` operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). * - * Allows you to change a provisioned group’s individual attributes. To change a group’s values, you must provide a specific Operations JSON format that contains at least one of the add, remove, or replace operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). + * **Note:** Complicated SCIM `path` selectors that include filters are not supported. For example, a `path` selector defined as `"path": "emails[type eq \"work\"]"` will not work. + * + * **Warning:** If you set `active:false` using the `replace` operation (as shown in the JSON example below), it removes the user from the organization, deletes the external identity, and deletes the associated `:scim_user_id`. + * + * ``` + * { + * "Operations":[{ + * "op":"replace", + * "value":{ + * "active":false + * } + * }] + * } + * ``` */ - "enterprise-admin/update-attribute-for-enterprise-group": { + "scim/update-attribute-for-user": { parameters: { path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - /** Identifier generated by the GitHub SCIM endpoint. */ - scim_group_id: components["parameters"]["scim_group_id"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the SCIM user. */ + scim_user_id: components["parameters"]["scim-user-id"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["scim-enterprise-group"]; + "application/scim+json": components["schemas"]["scim-user"]; + }; + }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["scim_bad_request"]; + 403: components["responses"]["scim_forbidden"]; + 404: components["responses"]["scim_not_found"]; + /** Response */ + 429: { + content: { + "application/json": components["schemas"]["basic-error"]; }; }; }; requestBody: { content: { "application/json": { - /** The SCIM schema URIs. */ - schemas: string[]; - /** Array of [SCIM operations](https://tools.ietf.org/html/rfc7644#section-3.5.2). */ - Operations: { [key: string]: any }[]; + schemas?: string[]; + /** + * @description Set of operations to be performed + * @example [ + * { + * "op": "replace", + * "value": { + * "active": false + * } + * } + * ] + */ + Operations: { + /** @enum {string} */ + op: "add" | "remove" | "replace"; + path?: string; + value?: + | { + active?: boolean | null; + userName?: string | null; + externalId?: string | null; + givenName?: string | null; + familyName?: string | null; + } + | { + value?: string; + primary?: boolean; + }[] + | string; + }[]; }; }; }; }; /** - * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * Searches for query terms inside of a file. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). * - * Retrieves a paginated list of all provisioned enterprise members, including pending invitations. + * When searching for code, you can get text match metadata for the file **content** and file **path** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). * - * When a user with a SAML-provisioned external identity leaves (or is removed from) an enterprise, the account's metadata is immediately removed. However, the returned list of user accounts might not always match the organization or enterprise member list you see on GitHub. This can happen in certain cases where an external identity associated with an organization will not match an organization member: - * - When a user with a SCIM-provisioned external identity is removed from an enterprise, the account's metadata is preserved to allow the user to re-join the organization in the future. - * - When inviting a user to join an organization, you can expect to see their external identity in the results before they accept the invitation, or if the invitation is cancelled (or never accepted). - * - When a user is invited over SCIM, an external identity is created that matches with the invitee's email address. However, this identity is only linked to a user account when the user accepts the invitation by going through SAML SSO. + * For example, if you want to find the definition of the `addClass` function inside [jQuery](https://github.com/jquery/jquery) repository, your query would look something like this: * - * The returned list of external identities can include an entry for a `null` user. These are unlinked SAML identities that are created when a user goes through the following Single Sign-On (SSO) process but does not sign in to their GitHub account after completing SSO: + * `q=addClass+in:file+language:js+repo:jquery/jquery` * - * 1. The user is granted access by the IdP and is not a member of the GitHub enterprise. + * This query searches for the keyword `addClass` within a file's contents. The query limits the search to files where the language is JavaScript in the `jquery/jquery` repository. + * + * #### Considerations for code search + * + * Due to the complexity of searching code, there are a few restrictions on how searches are performed: + * + * * Only the _default branch_ is considered. In most cases, this will be the `master` branch. + * * Only files smaller than 384 KB are searchable. + * * You must always include at least one search term when searching source code. For example, searching for [`language:go`](https://github.com/search?utf8=%E2%9C%93&q=language%3Ago&type=Code) is not valid, while [`amazing + * language:go`](https://github.com/search?utf8=%E2%9C%93&q=amazing+language%3Ago&type=Code) is. + */ + "search/code": { + parameters: { + query: { + /** The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See "[Searching code](https://docs.github.com/search-github/searching-on-github/searching-code)" for a detailed list of qualifiers. */ + q: string; + /** Sorts the results of your query. Can only be `indexed`, which indicates how recently a file has been indexed by the GitHub search infrastructure. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) */ + sort?: "indexed"; + /** Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ + order?: components["parameters"]["order"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["code-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Find commits via various criteria on the default branch (usually `master`). This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for commits, you can get text match metadata for the **message** field when you provide the `text-match` media type. For more details about how to receive highlighted search results, see [Text match + * metadata](https://docs.github.com/rest/reference/search#text-match-metadata). * - * 1. The user attempts to access the GitHub enterprise and initiates the SAML SSO process, and is not currently signed in to their GitHub account. + * For example, if you want to find commits related to CSS in the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. Your query would look something like this: * - * 1. After successfully authenticating with the SAML SSO IdP, the `null` external identity entry is created and the user is prompted to sign in to their GitHub account: - * - If the user signs in, their GitHub account is linked to this entry. - * - If the user does not sign in (or does not create a new account when prompted), they are not added to the GitHub enterprise, and the external identity `null` entry remains in place. + * `q=repo:octocat/Spoon-Knife+css` */ - "enterprise-admin/list-provisioned-identities-enterprise": { + "search/commits": { parameters: { - path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - }; query: { - /** Used for pagination: the index of the first result to return. */ - startIndex?: components["parameters"]["start_index"]; - /** Used for pagination: the number of results to return. */ - count?: components["parameters"]["count"]; + /** The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See "[Searching commits](https://docs.github.com/search-github/searching-on-github/searching-commits)" for a detailed list of qualifiers. */ + q: string; + /** Sorts the results of your query by `author-date` or `committer-date`. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) */ + sort?: "author-date" | "committer-date"; + /** Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ + order?: components["parameters"]["order"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["scim-user-list-enterprise"]; + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["commit-search-result-item"][]; + }; }; }; + 304: components["responses"]["not_modified"]; }; }; /** - * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * Find issues by state and keyword. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). * - * Provision enterprise membership for a user, and send organization invitation emails to the email address. + * When searching for issues, you can get text match metadata for the issue **title**, issue **body**, and issue **comment body** fields when you pass the `text-match` media type. For more details about how to receive highlighted + * search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). * - * You can optionally include the groups a user will be invited to join. If you do not provide a list of `groups`, the user is provisioned for the enterprise, but no organization invitation emails will be sent. + * For example, if you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this. + * + * `q=windows+label:bug+language:python+state:open&sort=created&order=asc` + * + * This query searches for the keyword `windows`, within any open issue that is labeled as `bug`. The search runs across repositories whose primary language is Python. The results are sorted by creation date in ascending order, which means the oldest issues appear first in the search results. + * + * **Note:** For [user-to-server](https://docs.github.com/developers/apps/identifying-and-authorizing-users-for-github-apps#user-to-server-requests) GitHub App requests, you can't retrieve a combination of issues and pull requests in a single query. Requests that don't include the `is:issue` or `is:pull-request` qualifier will receive an HTTP `422 Unprocessable Entity` response. To get results for both issues and pull requests, you must send separate queries for issues and pull requests. For more information about the `is` qualifier, see "[Searching only issues or pull requests](https://docs.github.com/github/searching-for-information-on-github/searching-issues-and-pull-requests#search-only-issues-or-pull-requests)." */ - "enterprise-admin/provision-and-invite-enterprise-user": { + "search/issues-and-pull-requests": { parameters: { - path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; + query: { + /** The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See "[Searching issues and pull requests](https://docs.github.com/search-github/searching-on-github/searching-issues-and-pull-requests)" for a detailed list of qualifiers. */ + q: string; + /** Sorts the results of your query by the number of `comments`, `reactions`, `reactions-+1`, `reactions--1`, `reactions-smile`, `reactions-thinking_face`, `reactions-heart`, `reactions-tada`, or `interactions`. You can also sort results by how recently the items were `created` or `updated`, Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) */ + sort?: + | "comments" + | "reactions" + | "reactions-+1" + | "reactions--1" + | "reactions-smile" + | "reactions-thinking_face" + | "reactions-heart" + | "reactions-tada" + | "interactions" + | "created" + | "updated"; + /** Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ + order?: components["parameters"]["order"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** response */ - 201: { + /** Response */ + 200: { content: { - "application/json": components["schemas"]["scim-enterprise-user"]; - }; - }; - }; - requestBody: { - content: { - "application/json": { - /** The SCIM schema URIs. */ - schemas: string[]; - /** The username for the user. */ - userName: string; - name: { - /** The first name of the user. */ - givenName: string; - /** The last name of the user. */ - familyName: string; + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["issue-search-result-item"][]; }; - /** List of user emails. */ - emails: { - /** The email address. */ - value: string; - /** The type of email address. */ - type: string; - /** Whether this email address is the primary address. */ - primary: boolean; - }[]; - /** List of SCIM group IDs the user is a member of. */ - groups?: { - value?: string; - }[]; }; }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; }; }; - /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ - "enterprise-admin/get-provisioning-information-for-enterprise-user": { + /** + * Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for labels, you can get text match metadata for the label **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find labels in the `linguist` repository that match `bug`, `defect`, or `enhancement`. Your query might look like this: + * + * `q=bug+defect+enhancement&repository_id=64778136` + * + * The labels that best match the query appear first in the search results. + */ + "search/labels": { parameters: { - path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - /** scim_user_id parameter */ - scim_user_id: components["parameters"]["scim_user_id"]; + query: { + /** The id of the repository. */ + repository_id: number; + /** The search keywords. This endpoint does not accept qualifiers in the query. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). */ + q: string; + /** Sorts the results of your query by when the label was `created` or `updated`. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) */ + sort?: "created" | "updated"; + /** Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ + order?: components["parameters"]["order"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["scim-enterprise-user"]; + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["label-search-result-item"][]; + }; }; }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; /** - * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). * - * Replaces an existing provisioned user's information. You must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the [Update an attribute for a SCIM user](#update-an-attribute-for-an-enterprise-scim-user) endpoint instead. + * When searching for repositories, you can get text match metadata for the **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). * - * You must at least provide the required values for the user: `userName`, `name`, and `emails`. + * For example, if you want to search for popular Tetris repositories written in assembly code, your query might look like this: * - * **Warning:** Setting `active: false` removes the user from the enterprise, deletes the external identity, and deletes the associated `{scim_user_id}`. + * `q=tetris+language:assembly&sort=stars&order=desc` + * + * This query searches for repositories with the word `tetris` in the name, the description, or the README. The results are limited to repositories where the primary language is assembly. The results are sorted by stars in descending order, so that the most popular repositories appear first in the search results. */ - "enterprise-admin/set-information-for-provisioned-enterprise-user": { + "search/repos": { parameters: { - path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - /** scim_user_id parameter */ - scim_user_id: components["parameters"]["scim_user_id"]; + query: { + /** The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See "[Searching for repositories](https://docs.github.com/articles/searching-for-repositories/)" for a detailed list of qualifiers. */ + q: string; + /** Sorts the results of your query by number of `stars`, `forks`, or `help-wanted-issues` or how recently the items were `updated`. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) */ + sort?: "stars" | "forks" | "help-wanted-issues" | "updated"; + /** Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ + order?: components["parameters"]["order"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["scim-enterprise-user"]; - }; - }; - }; - requestBody: { - content: { - "application/json": { - /** The SCIM schema URIs. */ - schemas: string[]; - /** The username for the user. */ - userName: string; - name: { - /** The first name of the user. */ - givenName: string; - /** The last name of the user. */ - familyName: string; + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["repo-search-result-item"][]; }; - /** List of user emails. */ - emails: { - /** The email address. */ - value: string; - /** The type of email address. */ - type: string; - /** Whether this email address is the primary address. */ - primary: boolean; - }[]; - /** List of SCIM group IDs the user is a member of. */ - groups?: { - value?: string; - }[]; }; }; - }; - }; - /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ - "enterprise-admin/delete-user-from-enterprise": { - parameters: { - path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - /** scim_user_id parameter */ - scim_user_id: components["parameters"]["scim_user_id"]; - }; - }; - responses: { - /** Empty response */ - 204: never; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; }; }; /** - * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). See "[Searching topics](https://docs.github.com/articles/searching-topics/)" for a detailed list of qualifiers. * - * Allows you to change a provisioned user's individual attributes. To change a user's values, you must provide a specific `Operations` JSON format that contains at least one of the `add`, `remove`, or `replace` operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). + * When searching for topics, you can get text match metadata for the topic's **short\_description**, **description**, **name**, or **display\_name** field when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). * - * **Note:** Complicated SCIM `path` selectors that include filters are not supported. For example, a `path` selector defined as `"path": "emails[type eq \"work\"]"` will not work. + * For example, if you want to search for topics related to Ruby that are featured on https://github.com/topics. Your query might look like this: * - * **Warning:** If you set `active:false` using the `replace` operation (as shown in the JSON example below), it removes the user from the enterprise, deletes the external identity, and deletes the associated `:scim_user_id`. + * `q=ruby+is:featured` * - * ``` - * { - * "Operations":[{ - * "op":"replace", - * "value":{ - * "active":false - * } - * }] - * } - * ``` + * This query searches for topics with the keyword `ruby` and limits the results to find only topics that are featured. The topics that are the best match for the query appear first in the search results. */ - "enterprise-admin/update-attribute-for-enterprise-user": { + "search/topics": { parameters: { - path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - /** scim_user_id parameter */ - scim_user_id: components["parameters"]["scim_user_id"]; + query: { + /** The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). */ + q: string; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["scim-enterprise-user"]; - }; - }; - }; - requestBody: { - content: { - "application/json": { - /** The SCIM schema URIs. */ - schemas: string[]; - /** Array of [SCIM operations](https://tools.ietf.org/html/rfc7644#section-3.5.2). */ - Operations: { [key: string]: any }[]; + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["topic-search-result-item"][]; + }; }; }; - }; - }; - /** - * Retrieves a paginated list of all provisioned organization members, including pending invitations. If you provide the `filter` parameter, the resources for all matching provisions members are returned. - * - * When a user with a SAML-provisioned external identity leaves (or is removed from) an organization, the account's metadata is immediately removed. However, the returned list of user accounts might not always match the organization or enterprise member list you see on GitHub. This can happen in certain cases where an external identity associated with an organization will not match an organization member: - * - When a user with a SCIM-provisioned external identity is removed from an organization, the account's metadata is preserved to allow the user to re-join the organization in the future. - * - When inviting a user to join an organization, you can expect to see their external identity in the results before they accept the invitation, or if the invitation is cancelled (or never accepted). - * - When a user is invited over SCIM, an external identity is created that matches with the invitee's email address. However, this identity is only linked to a user account when the user accepts the invitation by going through SAML SSO. + 304: components["responses"]["not_modified"]; + }; + }; + /** + * Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). * - * The returned list of external identities can include an entry for a `null` user. These are unlinked SAML identities that are created when a user goes through the following Single Sign-On (SSO) process but does not sign in to their GitHub account after completing SSO: + * When searching for users, you can get text match metadata for the issue **login**, **email**, and **name** fields when you pass the `text-match` media type. For more details about highlighting search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). * - * 1. The user is granted access by the IdP and is not a member of the GitHub organization. + * For example, if you're looking for a list of popular users, you might try this query: * - * 1. The user attempts to access the GitHub organization and initiates the SAML SSO process, and is not currently signed in to their GitHub account. + * `q=tom+repos:%3E42+followers:%3E1000` * - * 1. After successfully authenticating with the SAML SSO IdP, the `null` external identity entry is created and the user is prompted to sign in to their GitHub account: - * - If the user signs in, their GitHub account is linked to this entry. - * - If the user does not sign in (or does not create a new account when prompted), they are not added to the GitHub organization, and the external identity `null` entry remains in place. + * This query searches for users with the name `tom`. The results are restricted to users with more than 42 repositories and over 1,000 followers. */ - "scim/list-provisioned-identities": { + "search/users": { parameters: { - path: { - org: components["parameters"]["org"]; - }; query: { - /** Used for pagination: the index of the first result to return. */ - startIndex?: number; - /** Used for pagination: the number of results to return. */ - count?: number; - /** - * Filters results using the equals query parameter operator (`eq`). You can filter results that are equal to `id`, `userName`, `emails`, and `external_id`. For example, to search for an identity with the `userName` Octocat, you would use this query: - * - * `?filter=userName%20eq%20\"Octocat\"`. - * - * To filter results for the identity with the email `octocat@github.com`, you would use this query: - * - * `?filter=emails%20eq%20\"octocat@github.com\"`. - */ - filter?: string; + /** The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See "[Searching users](https://docs.github.com/search-github/searching-on-github/searching-users)" for a detailed list of qualifiers. */ + q: string; + /** Sorts the results of your query by number of `followers` or `repositories`, or when the person `joined` GitHub. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) */ + sort?: "followers" | "repositories" | "joined"; + /** Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ + order?: components["parameters"]["order"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/scim+json": components["schemas"]["scim-user-list"]; + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["user-search-result-item"][]; + }; }; }; 304: components["responses"]["not_modified"]; - 400: components["responses"]["scim_bad_request"]; - 403: components["responses"]["scim_forbidden"]; - 404: components["responses"]["scim_not_found"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; }; }; - /** Provision organization membership for a user, and send an activation email to the email address. */ - "scim/provision-and-invite-user": { + /** **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the [Get a team by name](https://docs.github.com/rest/reference/teams#get-a-team-by-name) endpoint. */ + "teams/get-legacy": { parameters: { path: { - org: components["parameters"]["org"]; + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; }; }; responses: { - /** response */ - 201: { + /** Response */ + 200: { content: { - "application/scim+json": components["schemas"]["scim-user"]; - }; - }; - 304: components["responses"]["not_modified"]; - 400: components["responses"]["scim_bad_request"]; - 403: components["responses"]["scim_forbidden"]; - 404: components["responses"]["scim_not_found"]; - 409: components["responses"]["scim_conflict"]; - 500: components["responses"]["scim_internal_error"]; - }; - requestBody: { - content: { - "application/json": { - /** Configured by the admin. Could be an email, login, or username */ - userName: string; - /** The name of the user, suitable for display to end-users */ - displayName?: string; - name: { - givenName: string; - familyName: string; - formatted?: string; - }; - /** user emails */ - emails: { - value: string; - primary?: boolean; - type?: string; - }[]; - schemas?: string[]; - externalId?: string; - groups?: string[]; - active?: boolean; + "application/json": components["schemas"]["team-full"]; }; }; + 404: components["responses"]["not_found"]; }; }; - "scim/get-provisioning-information-for-user": { + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a team](https://docs.github.com/rest/reference/teams#delete-a-team) endpoint. + * + * To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + */ + "teams/delete-legacy": { parameters: { path: { - org: components["parameters"]["org"]; - /** scim_user_id parameter */ - scim_user_id: components["parameters"]["scim_user_id"]; + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; }; }; responses: { - /** response */ - 200: { - content: { - "application/scim+json": components["schemas"]["scim-user"]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["scim_forbidden"]; - 404: components["responses"]["scim_not_found"]; + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; /** - * Replaces an existing provisioned user's information. You must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the [Update an attribute for a SCIM user](https://docs.github.com/rest/reference/scim#update-an-attribute-for-a-scim-user) endpoint instead. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a team](https://docs.github.com/rest/reference/teams#update-a-team) endpoint. * - * You must at least provide the required values for the user: `userName`, `name`, and `emails`. + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. * - * **Warning:** Setting `active: false` removes the user from the organization, deletes the external identity, and deletes the associated `{scim_user_id}`. + * **Note:** With nested teams, the `privacy` for parent teams cannot be `secret`. */ - "scim/set-information-for-provisioned-user": { + "teams/update-legacy": { parameters: { path: { - org: components["parameters"]["org"]; - /** scim_user_id parameter */ - scim_user_id: components["parameters"]["scim_user_id"]; + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; }; }; responses: { - /** response */ + /** Response when the updated information already exists */ 200: { content: { - "application/scim+json": components["schemas"]["scim-user"]; + "application/json": components["schemas"]["team-full"]; }; }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["scim_forbidden"]; - 404: components["responses"]["scim_not_found"]; + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - schemas?: string[]; - /** The name of the user, suitable for display to end-users */ - displayName?: string; - externalId?: string; - groups?: string[]; - active?: boolean; - /** Configured by the admin. Could be an email, login, or username */ - userName: string; - name: { - givenName: string; - familyName: string; - formatted?: string; - }; - /** user emails */ - emails: { - type?: string; - value: string; - primary?: boolean; - }[]; + /** @description The name of the team. */ + name: string; + /** @description The description of the team. */ + description?: string; + /** + * @description The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + * @enum {string} + */ + privacy?: "secret" | "closed"; + /** + * @description **Deprecated**. The permission that new repositories will be added to the team with when none is specified. + * @default pull + * @enum {string} + */ + permission?: "pull" | "push" | "admin"; + /** @description The ID of a team to set as the parent team. */ + parent_team_id?: number | null; }; }; }; }; - "scim/delete-user-from-org": { + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://docs.github.com/rest/reference/teams#list-discussions) endpoint. + * + * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "teams/list-discussions-legacy": { parameters: { path: { - org: components["parameters"]["org"]; - /** scim_user_id parameter */ - scim_user_id: components["parameters"]["scim_user_id"]; + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + query: { + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** Empty response */ - 204: never; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["scim_forbidden"]; - 404: components["responses"]["scim_not_found"]; + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["team-discussion"][]; + }; + }; }; }; /** - * Allows you to change a provisioned user's individual attributes. To change a user's values, you must provide a specific `Operations` JSON format that contains at least one of the `add`, `remove`, or `replace` operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). - * - * **Note:** Complicated SCIM `path` selectors that include filters are not supported. For example, a `path` selector defined as `"path": "emails[type eq \"work\"]"` will not work. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://docs.github.com/rest/reference/teams#create-a-discussion) endpoint. * - * **Warning:** If you set `active:false` using the `replace` operation (as shown in the JSON example below), it removes the user from the organization, deletes the external identity, and deletes the associated `:scim_user_id`. + * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). * - * ``` - * { - * "Operations":[{ - * "op":"replace", - * "value":{ - * "active":false - * } - * }] - * } - * ``` + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ - "scim/update-attribute-for-user": { + "teams/create-discussion-legacy": { parameters: { path: { - org: components["parameters"]["org"]; - /** scim_user_id parameter */ - scim_user_id: components["parameters"]["scim_user_id"]; + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; }; }; responses: { - /** response */ - 200: { - content: { - "application/scim+json": components["schemas"]["scim-user"]; - }; - }; - 304: components["responses"]["not_modified"]; - 400: components["responses"]["scim_bad_request"]; - 403: components["responses"]["scim_forbidden"]; - 404: components["responses"]["scim_not_found"]; - /** Too many requests */ - 429: { + /** Response */ + 201: { content: { - "application/json": components["schemas"]["basic-error"]; + "application/json": components["schemas"]["team-discussion"]; }; }; }; requestBody: { content: { "application/json": { - schemas?: string[]; - /** Set of operations to be performed */ - Operations: { - op: "add" | "remove" | "replace"; - path?: string; - value?: - | { - active?: boolean | null; - userName?: string | null; - externalId?: string | null; - givenName?: string | null; - familyName?: string | null; - } - | { - value?: string; - primary?: boolean; - }[] - | string; - }[]; + /** @description The discussion post's title. */ + title: string; + /** @description The discussion post's body text. */ + body: string; + /** + * @description Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. + * @default false + */ + private?: boolean; }; }; }; }; /** - * Searches for query terms inside of a file. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for code, you can get text match metadata for the file **content** and file **path** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). - * - * For example, if you want to find the definition of the `addClass` function inside [jQuery](https://github.com/jquery/jquery) repository, your query would look something like this: - * - * `q=addClass+in:file+language:js+repo:jquery/jquery` - * - * This query searches for the keyword `addClass` within a file's contents. The query limits the search to files where the language is JavaScript in the `jquery/jquery` repository. - * - * #### Considerations for code search - * - * Due to the complexity of searching code, there are a few restrictions on how searches are performed: + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion](https://docs.github.com/rest/reference/teams#get-a-discussion) endpoint. * - * * Only the _default branch_ is considered. In most cases, this will be the `master` branch. - * * Only files smaller than 384 KB are searchable. - * * You must always include at least one search term when searching source code. For example, searching for [`language:go`](https://github.com/search?utf8=%E2%9C%93&q=language%3Ago&type=Code) is not valid, while [`amazing - * language:go`](https://github.com/search?utf8=%E2%9C%93&q=amazing+language%3Ago&type=Code) is. + * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ - "search/code": { + "teams/get-discussion-legacy": { parameters: { - query: { - /** The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See "[Searching code](https://help.github.com/articles/searching-code/)" for a detailed list of qualifiers. */ - q: string; - /** Sorts the results of your query. Can only be `indexed`, which indicates how recently a file has been indexed by the GitHub search infrastructure. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) */ - sort?: "indexed"; - /** Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ - order?: components["parameters"]["order"]; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": { - total_count: number; - incomplete_results: boolean; - items: components["schemas"]["code-search-result-item"][]; - }; + "application/json": components["schemas"]["team-discussion"]; }; }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["service_unavailable"]; }; }; /** - * Find commits via various criteria on the default branch (usually `master`). This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for commits, you can get text match metadata for the **message** field when you provide the `text-match` media type. For more details about how to receive highlighted search results, see [Text match - * metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://docs.github.com/rest/reference/teams#delete-a-discussion) endpoint. * - * For example, if you want to find commits related to CSS in the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. Your query would look something like this: + * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "teams/delete-discussion-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion](https://docs.github.com/rest/reference/teams#update-a-discussion) endpoint. * - * `q=repo:octocat/Spoon-Knife+css` + * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ - "search/commits": { + "teams/update-discussion-legacy": { parameters: { - query: { - /** The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See "[Searching commits](https://help.github.com/articles/searching-commits/)" for a detailed list of qualifiers. */ - q: string; - /** Sorts the results of your query by `author-date` or `committer-date`. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) */ - sort?: "author-date" | "committer-date"; - /** Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ - order?: components["parameters"]["order"]; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": { - total_count: number; - incomplete_results: boolean; - items: components["schemas"]["commit-search-result-item"][]; - }; + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion post's title. */ + title?: string; + /** @description The discussion post's body text. */ + body?: string; }; }; - 304: components["responses"]["not_modified"]; - 415: components["responses"]["preview_header_missing"]; }; }; /** - * Find issues by state and keyword. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for issues, you can get text match metadata for the issue **title**, issue **body**, and issue **comment body** fields when you pass the `text-match` media type. For more details about how to receive highlighted - * search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). - * - * For example, if you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this. - * - * `q=windows+label:bug+language:python+state:open&sort=created&order=asc` - * - * This query searches for the keyword `windows`, within any open issue that is labeled as `bug`. The search runs across repositories whose primary language is Python. The results are sorted by creation date in ascending order, which means the oldest issues appear first in the search results. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List discussion comments](https://docs.github.com/rest/reference/teams#list-discussion-comments) endpoint. * - * **Note:** For [user-to-server](https://docs.github.com/developers/apps/identifying-and-authorizing-users-for-github-apps#user-to-server-requests) GitHub App requests, you can't retrieve a combination of issues and pull requests in a single query. Requests that don't include the `is:issue` or `is:pull-request` qualifier will receive an HTTP `422 Unprocessable Entity` response. To get results for both issues and pull requests, you must send separate queries for issues and pull requests. For more information about the `is` qualifier, see "[Searching only issues or pull requests](https://docs.github.com/github/searching-for-information-on-github/searching-issues-and-pull-requests#search-only-issues-or-pull-requests)." + * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ - "search/issues-and-pull-requests": { + "teams/list-discussion-comments-legacy": { parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; query: { - /** The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See "[Searching issues and pull requests](https://help.github.com/articles/searching-issues-and-pull-requests/)" for a detailed list of qualifiers. */ - q: string; - /** Sorts the results of your query by the number of `comments`, `reactions`, `reactions-+1`, `reactions--1`, `reactions-smile`, `reactions-thinking_face`, `reactions-heart`, `reactions-tada`, or `interactions`. You can also sort results by how recently the items were `created` or `updated`, Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) */ - sort?: - | "comments" - | "reactions" - | "reactions-+1" - | "reactions--1" - | "reactions-smile" - | "reactions-thinking_face" - | "reactions-heart" - | "reactions-tada" - | "interactions" - | "created" - | "updated"; - /** Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ - order?: components["parameters"]["order"]; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { + headers: {}; content: { - "application/json": { - total_count: number; - incomplete_results: boolean; - items: components["schemas"]["issue-search-result-item"][]; - }; + "application/json": components["schemas"]["team-discussion-comment"][]; }; }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["service_unavailable"]; }; }; /** - * Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for labels, you can get text match metadata for the label **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). - * - * For example, if you want to find labels in the `linguist` repository that match `bug`, `defect`, or `enhancement`. Your query might look like this: + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Create a discussion comment](https://docs.github.com/rest/reference/teams#create-a-discussion-comment) endpoint. * - * `q=bug+defect+enhancement&repository_id=64778136` + * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). * - * The labels that best match the query appear first in the search results. + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ - "search/labels": { + "teams/create-discussion-comment-legacy": { parameters: { - query: { - /** The id of the repository. */ - repository_id: number; - /** The search keywords. This endpoint does not accept qualifiers in the query. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). */ - q: string; - /** Sorts the results of your query by when the label was `created` or `updated`. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) */ - sort?: "created" | "updated"; - /** Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ - order?: components["parameters"]["order"]; + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; }; }; responses: { - /** response */ - 200: { + /** Response */ + 201: { content: { - "application/json": { - total_count: number; - incomplete_results: boolean; - items: components["schemas"]["label-search-result-item"][]; - }; + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion comment's body text. */ + body: string; }; }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; }; }; /** - * Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for repositories, you can get text match metadata for the **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). - * - * For example, if you want to search for popular Tetris repositories written in assembly code, your query might look like this: - * - * `q=tetris+language:assembly&sort=stars&order=desc` - * - * This query searches for repositories with the word `tetris` in the name, the description, or the README. The results are limited to repositories where the primary language is assembly. The results are sorted by stars in descending order, so that the most popular repositories appear first in the search results. - * - * When you include the `mercy` preview header, you can also search for multiple topics by adding more `topic:` instances. For example, your query might look like this: + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion comment](https://docs.github.com/rest/reference/teams#get-a-discussion-comment) endpoint. * - * `q=topic:ruby+topic:rails` + * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ - "search/repos": { + "teams/get-discussion-comment-legacy": { parameters: { - query: { - /** The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See "[Searching for repositories](https://help.github.com/articles/searching-for-repositories/)" for a detailed list of qualifiers. */ - q: string; - /** Sorts the results of your query by number of `stars`, `forks`, or `help-wanted-issues` or how recently the items were `updated`. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) */ - sort?: "stars" | "forks" | "help-wanted-issues" | "updated"; - /** Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ - order?: components["parameters"]["order"]; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": { - total_count: number; - incomplete_results: boolean; - items: components["schemas"]["repo-search-result-item"][]; - }; + "application/json": components["schemas"]["team-discussion-comment"]; }; }; - 304: components["responses"]["not_modified"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["service_unavailable"]; }; }; /** - * Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). See "[Searching topics](https://help.github.com/articles/searching-topics/)" for a detailed list of qualifiers. - * - * When searching for topics, you can get text match metadata for the topic's **short\_description**, **description**, **name**, or **display\_name** field when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). - * - * For example, if you want to search for topics related to Ruby that are featured on https://github.com/topics. Your query might look like this: + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a discussion comment](https://docs.github.com/rest/reference/teams#delete-a-discussion-comment) endpoint. * - * `q=ruby+is:featured` + * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "teams/delete-discussion-comment-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion comment](https://docs.github.com/rest/reference/teams#update-a-discussion-comment) endpoint. * - * This query searches for topics with the keyword `ruby` and limits the results to find only topics that are featured. The topics that are the best match for the query appear first in the search results. + * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ - "search/topics": { + "teams/update-discussion-comment-legacy": { parameters: { - query: { - /** The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). */ - q: string; + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": { - total_count: number; - incomplete_results: boolean; - items: components["schemas"]["topic-search-result-item"][]; - }; + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion comment's body text. */ + body: string; }; }; - 304: components["responses"]["not_modified"]; - 415: components["responses"]["preview_header_missing"]; }; }; /** - * Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for users, you can get text match metadata for the issue **login**, **email**, and **name** fields when you pass the `text-match` media type. For more details about highlighting search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). - * - * For example, if you're looking for a list of popular users, you might try this query: - * - * `q=tom+repos:%3E42+followers:%3E1000` + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion-comment) endpoint. * - * This query searches for users with the name `tom`. The results are restricted to users with more than 42 repositories and over 1,000 followers. + * List the reactions to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ - "search/users": { + "reactions/list-for-team-discussion-comment-legacy": { parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; query: { - /** The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See "[Searching users](https://help.github.com/articles/searching-users/)" for a detailed list of qualifiers. */ - q: string; - /** Sorts the results of your query by number of `followers` or `repositories`, or when the person `joined` GitHub. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) */ - sort?: "followers" | "repositories" | "joined"; - /** Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ - order?: components["parameters"]["order"]; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion comment. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { + headers: {}; content: { - "application/json": { - total_count: number; - incomplete_results: boolean; - items: components["schemas"]["user-search-result-item"][]; - }; + "application/json": components["schemas"]["reaction"][]; }; }; - 304: components["responses"]["not_modified"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["service_unavailable"]; }; }; - /** **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the [Get a team by name](https://docs.github.com/rest/reference/teams#get-a-team-by-name) endpoint. */ - "teams/get-legacy": { + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Create reaction for a team discussion comment](https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion-comment)" endpoint. + * + * Create a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. + */ + "reactions/create-for-team-discussion-comment-legacy": { parameters: { path: { + /** The unique identifier of the team. */ team_id: components["parameters"]["team-id"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; }; }; responses: { - /** response */ - 200: { + /** Response */ + 201: { content: { - "application/json": components["schemas"]["team-full"]; + "application/json": components["schemas"]["reaction"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion comment. + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; }; }; - 404: components["responses"]["not_found"]; }; }; /** - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a team](https://docs.github.com/rest/reference/teams#delete-a-team) endpoint. - * - * To delete a team, the authenticated user must be an organization owner or team maintainer. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion) endpoint. * - * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + * List the reactions to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ - "teams/delete-legacy": { + "reactions/list-for-team-discussion-legacy": { parameters: { path: { + /** The unique identifier of the team. */ team_id: components["parameters"]["team-id"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + query: { + /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** Empty response */ - 204: never; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; }; }; /** - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a team](https://docs.github.com/rest/reference/teams#update-a-team) endpoint. - * - * To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion) endpoint. * - * **Note:** With nested teams, the `privacy` for parent teams cannot be `secret`. + * Create a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. */ - "teams/update-legacy": { + "reactions/create-for-team-discussion-legacy": { parameters: { path: { + /** The unique identifier of the team. */ team_id: components["parameters"]["team-id"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; }; }; responses: { - /** response */ + /** Response */ 201: { content: { - "application/json": components["schemas"]["team-full"]; + "application/json": components["schemas"]["reaction"]; }; }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - /** The name of the team. */ - name: string; - /** The description of the team. */ - description?: string; - /** - * The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. The options are: - * **For a non-nested team:** - * \* `secret` - only visible to organization owners and members of this team. - * \* `closed` - visible to all members of this organization. - * **For a parent or child team:** - * \* `closed` - visible to all members of this organization. - */ - privacy?: "secret" | "closed"; /** - * **Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of: - * \* `pull` - team members can pull, but not push to or administer newly-added repositories. - * \* `push` - team members can pull and push, but not administer newly-added repositories. - * \* `admin` - team members can pull, push and administer newly-added repositories. + * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion. + * @enum {string} */ - permission?: "pull" | "push" | "admin"; - /** The ID of a team to set as the parent team. */ - parent_team_id?: number | null; + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; }; }; }; }; /** - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://docs.github.com/rest/reference/teams#list-discussions) endpoint. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://docs.github.com/rest/reference/teams#list-pending-team-invitations) endpoint. * - * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. */ - "teams/list-discussions-legacy": { + "teams/list-pending-invitations-legacy": { parameters: { path: { + /** The unique identifier of the team. */ team_id: components["parameters"]["team-id"]; }; query: { - /** One of `asc` (ascending) or `desc` (descending). */ - direction?: components["parameters"]["direction"]; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": components["schemas"]["team-discussion"][]; + "application/json": components["schemas"]["organization-invitation"][]; }; }; }; }; /** - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://docs.github.com/rest/reference/teams#create-a-discussion) endpoint. - * - * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://docs.github.com/rest/reference/teams#list-team-members) endpoint. * - * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + * Team members will include the members of child teams. */ - "teams/create-discussion-legacy": { + "teams/list-members-legacy": { parameters: { path: { + /** The unique identifier of the team. */ team_id: components["parameters"]["team-id"]; }; + query: { + /** Filters members returned by their role in the team. */ + role?: "member" | "maintainer" | "all"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; }; responses: { - /** response */ - 201: { + /** Response */ + 200: { + headers: {}; content: { - "application/json": components["schemas"]["team-discussion"]; + "application/json": components["schemas"]["simple-user"][]; }; }; + 404: components["responses"]["not_found"]; }; - requestBody: { - content: { - "application/json": { - /** The discussion post's title. */ - title: string; - /** The discussion post's body text. */ - body: string; - /** Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. */ - private?: boolean; - }; + }; + /** + * The "Get team member" endpoint (described below) is deprecated. + * + * We recommend using the [Get team membership for a user](https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user) endpoint instead. It allows you to get both active and pending memberships. + * + * To list members in a team, the team must be visible to the authenticated user. + */ + "teams/get-member-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** if user is a member */ + 204: never; + /** if user is not a member */ + 404: unknown; + }; + }; + /** + * The "Add team member" endpoint (described below) is deprecated. + * + * We recommend using the [Add or update team membership for a user](https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user) endpoint instead. It allows you to invite new organization members to your teams. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To add someone to a team, the authenticated user must be an organization owner or a team maintainer in the team they're changing. The person being added to the team must be a member of the team's organization. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + "teams/add-member-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; }; }; + responses: { + /** Response */ + 204: never; + 403: components["responses"]["forbidden"]; + /** Not Found if team synchronization is set up */ + 404: unknown; + /** Unprocessable Entity if you attempt to add an organization to a team or you attempt to add a user to a team when they are not a member of at least one other team in the same organization */ + 422: unknown; + }; }; /** - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion](https://docs.github.com/rest/reference/teams#get-a-discussion) endpoint. + * The "Remove team member" endpoint (described below) is deprecated. + * + * We recommend using the [Remove team membership for a user](https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user) endpoint instead. It allows you to remove both active and pending memberships. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * To remove a team member, the authenticated user must have 'admin' permissions to the team or be an owner of the org that the team is associated with. Removing a team member does not delete the user, it just removes them from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." */ - "teams/get-discussion-legacy": { + "teams/remove-member-legacy": { parameters: { path: { + /** The unique identifier of the team. */ team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; }; }; responses: { - /** response */ - 200: { - content: { - "application/json": components["schemas"]["team-discussion"]; - }; - }; + /** Response */ + 204: never; + /** Not Found if team synchronization is setup */ + 404: unknown; }; }; /** - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://docs.github.com/rest/reference/teams#delete-a-discussion) endpoint. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get team membership for a user](https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user) endpoint. * - * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * **Note:** + * The response contains the `state` of the membership and the member's `role`. + * + * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/reference/teams#create-a-team). */ - "teams/delete-discussion-legacy": { + "teams/get-membership-for-user-legacy": { parameters: { path: { + /** The unique identifier of the team. */ team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; }; }; responses: { - /** Empty response */ - 204: never; + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-membership"]; + }; + }; + 404: components["responses"]["not_found"]; }; }; /** - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion](https://docs.github.com/rest/reference/teams#update-a-discussion) endpoint. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team membership for a user](https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user) endpoint. * - * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * If the user is already a member of the team's organization, this endpoint will add the user to the team. To add a membership between an organization member and a team, the authenticated user must be an organization owner or a team maintainer. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * If the user is unaffiliated with the team's organization, this endpoint will send an invitation to the user via email. This newly-created membership will be in the "pending" state until the user accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. To add a membership between an unaffiliated user and a team, the authenticated user must be an organization owner. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. */ - "teams/update-discussion-legacy": { + "teams/add-or-update-membership-for-user-legacy": { parameters: { path: { + /** The unique identifier of the team. */ team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["team-discussion"]; + "application/json": components["schemas"]["team-membership"]; }; }; + /** Forbidden if team synchronization is set up */ + 403: unknown; + 404: components["responses"]["not_found"]; + /** Unprocessable Entity if you attempt to add an organization to a team */ + 422: unknown; }; requestBody: { content: { "application/json": { - /** The discussion post's title. */ - title?: string; - /** The discussion post's body text. */ - body?: string; + /** + * @description The role that this user should have in the team. + * @default member + * @enum {string} + */ + role?: "member" | "maintainer"; }; }; }; }; /** - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List discussion comments](https://docs.github.com/rest/reference/teams#list-discussion-comments) endpoint. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove team membership for a user](https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user) endpoint. * - * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." */ - "teams/list-discussion-comments-legacy": { + "teams/remove-membership-for-user-legacy": { parameters: { path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + /** if team synchronization is set up */ + 403: unknown; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team projects`](https://docs.github.com/rest/reference/teams#list-team-projects) endpoint. + * + * Lists the organization projects for a team. + */ + "teams/list-projects-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; }; query: { - /** One of `asc` (ascending) or `desc` (descending). */ - direction?: components["parameters"]["direction"]; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": components["schemas"]["team-discussion-comment"][]; + "application/json": components["schemas"]["team-project"][]; }; }; + 404: components["responses"]["not_found"]; }; }; /** - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Create a discussion comment](https://docs.github.com/rest/reference/teams#create-a-discussion-comment) endpoint. - * - * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a project](https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-project) endpoint. * - * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. */ - "teams/create-discussion-comment-legacy": { + "teams/check-permissions-for-project-legacy": { parameters: { path: { + /** The unique identifier of the team. */ team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; }; }; responses: { - /** response */ - 201: { + /** Response */ + 200: { content: { - "application/json": components["schemas"]["team-discussion-comment"]; - }; - }; - }; - requestBody: { - content: { - "application/json": { - /** The discussion comment's body text. */ - body: string; + "application/json": components["schemas"]["team-project"]; }; }; + /** Not Found if project is not managed by this team */ + 404: unknown; }; }; /** - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion comment](https://docs.github.com/rest/reference/teams#get-a-discussion-comment) endpoint. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team project permissions](https://docs.github.com/rest/reference/teams#add-or-update-team-project-permissions) endpoint. * - * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. */ - "teams/get-discussion-comment-legacy": { + "teams/add-or-update-project-permissions-legacy": { parameters: { path: { + /** The unique identifier of the team. */ team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; }; }; responses: { - /** response */ - 200: { + /** Response */ + 204: never; + /** Forbidden if the project is not owned by the organization */ + 403: { content: { - "application/json": components["schemas"]["team-discussion-comment"]; + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The permission to grant to the team for this project. Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * @enum {string} + */ + permission?: "read" | "write" | "admin"; }; }; }; }; /** - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a discussion comment](https://docs.github.com/rest/reference/teams#delete-a-discussion-comment) endpoint. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a project from a team](https://docs.github.com/rest/reference/teams#remove-a-project-from-a-team) endpoint. * - * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. **Note:** This endpoint removes the project from the team, but does not delete it. */ - "teams/delete-discussion-comment-legacy": { + "teams/remove-project-legacy": { parameters: { path: { + /** The unique identifier of the team. */ team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; - /** - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion comment](https://docs.github.com/rest/reference/teams#update-a-discussion-comment) endpoint. - * - * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "teams/update-discussion-comment-legacy": { + /** **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List team repositories](https://docs.github.com/rest/reference/teams#list-team-repositories) endpoint. */ + "teams/list-repos-legacy": { parameters: { path: { + /** The unique identifier of the team. */ team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { + headers: {}; content: { - "application/json": components["schemas"]["team-discussion-comment"]; - }; - }; - }; - requestBody: { - content: { - "application/json": { - /** The discussion comment's body text. */ - body: string; + "application/json": components["schemas"]["minimal-repository"][]; }; }; + 404: components["responses"]["not_found"]; }; }; /** - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion-comment) endpoint. + * **Note**: Repositories inherited through a parent team will also be checked. * - * List the reactions to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a repository](https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-repository) endpoint. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: */ - "reactions/list-for-team-discussion-comment-legacy": { + "teams/check-permissions-for-repo-legacy": { parameters: { path: { + /** The unique identifier of the team. */ team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; - }; - query: { - /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion comment. */ - content?: - | "+1" - | "-1" - | "laugh" - | "confused" - | "heart" - | "hooray" - | "rocket" - | "eyes"; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; }; }; responses: { - /** response */ + /** Alternative response with extra repository information */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["reaction"][]; + "application/json": components["schemas"]["team-repository"]; }; }; + /** Response if repository is managed by this team */ + 204: never; + /** Not Found if repository is not managed by this team */ + 404: unknown; }; }; /** - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Create reaction for a team discussion comment](https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion-comment)" endpoint. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Add or update team repository permissions](https://docs.github.com/rest/reference/teams#add-or-update-team-repository-permissions)" endpoint. * - * Create a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion comment. + * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." */ - "reactions/create-for-team-discussion-comment-legacy": { + "teams/add-or-update-repo-permissions-legacy": { parameters: { path: { + /** The unique identifier of the team. */ team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; }; }; responses: { - /** response */ - 201: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - }; - requestBody: { - content: { - "application/json": { - /** The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion comment. */ - content: - | "+1" - | "-1" - | "laugh" - | "confused" - | "heart" - | "hooray" - | "rocket" - | "eyes"; + /** Response */ + 204: never; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The permission to grant the team on this repository. If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. + * @enum {string} + */ + permission?: "pull" | "push" | "admin"; }; }; }; }; /** - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion) endpoint. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a repository from a team](https://docs.github.com/rest/reference/teams#remove-a-repository-from-a-team) endpoint. * - * List the reactions to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. NOTE: This does not delete the repository, it just removes it from the team. */ - "reactions/list-for-team-discussion-legacy": { + "teams/remove-repo-legacy": { parameters: { path: { + /** The unique identifier of the team. */ team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; }; - query: { - /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion. */ - content?: - | "+1" - | "-1" - | "laugh" - | "confused" - | "heart" - | "hooray" - | "rocket" - | "eyes"; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List IdP groups for a team`](https://docs.github.com/rest/reference/teams#list-idp-groups-for-a-team) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * List IdP groups connected to a team on GitHub. + */ + "teams/list-idp-groups-for-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; }; }; responses: { - /** response */ + /** Response */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["reaction"][]; + "application/json": components["schemas"]["group-mapping"]; }; }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; /** - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion) endpoint. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create or update IdP group connections`](https://docs.github.com/rest/reference/teams#create-or-update-idp-group-connections) endpoint. * - * Create a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion. + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Creates, updates, or removes a connection between a team and an IdP group. When adding groups to a team, you must include all new and existing groups to avoid replacing existing groups with the new ones. Specifying an empty `groups` array will remove all connections for a team. */ - "reactions/create-for-team-discussion-legacy": { + "teams/create-or-update-idp-group-connections-legacy": { parameters: { path: { + /** The unique identifier of the team. */ team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; }; }; responses: { - /** response */ - 201: { + /** Response */ + 200: { content: { - "application/json": components["schemas"]["reaction"]; + "application/json": components["schemas"]["group-mapping"]; }; }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - /** The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion. */ - content: - | "+1" - | "-1" - | "laugh" - | "confused" - | "heart" - | "hooray" - | "rocket" - | "eyes"; + /** @description The IdP groups you want to connect to a GitHub team. When updating, the new `groups` object will replace the original one. You must include any existing groups that you don't want to remove. */ + groups: { + /** @description ID of the IdP group. */ + group_id: string; + /** @description Name of the IdP group. */ + group_name: string; + /** @description Description of the IdP group. */ + group_description: string; + /** @example "caceab43fc9ffa20081c" */ + id?: string; + /** @example "external-team-6c13e7288ef7" */ + name?: string; + /** @example "moar cheese pleese" */ + description?: string; + }[]; + /** @example "I am not a timestamp" */ + synced_at?: string; }; }; }; }; - /** - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://docs.github.com/rest/reference/teams#list-pending-team-invitations) endpoint. - * - * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. - */ - "teams/list-pending-invitations-legacy": { + /** **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://docs.github.com/rest/reference/teams#list-child-teams) endpoint. */ + "teams/list-child-legacy": { parameters: { path: { + /** The unique identifier of the team. */ team_id: components["parameters"]["team-id"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** if child teams exist */ 200: { headers: {}; content: { - "application/json": components["schemas"]["organization-invitation"][]; + "application/json": components["schemas"]["team"][]; }; }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; /** - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://docs.github.com/rest/reference/teams#list-team-members) endpoint. + * If the authenticated user is authenticated through basic authentication or OAuth with the `user` scope, then the response lists public and private profile information. * - * Team members will include the members of child teams. + * If the authenticated user is authenticated through OAuth without the `user` scope, then the response lists only public profile information. */ - "teams/list-members-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; + "users/get-authenticated": { + parameters: {}; + responses: { + /** Response */ + 200: { + content: { + "application/json": + | components["schemas"]["private-user"] + | components["schemas"]["public-user"]; + }; }; - query: { - /** - * Filters members returned by their role in the team. Can be one of: - * \* `member` - normal members of the team. - * \* `maintainer` - team maintainers. - * \* `all` - all members of the team. - */ - role?: "member" | "maintainer" | "all"; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** **Note:** If your email is set to private and you send an `email` parameter as part of this request to update your profile, your privacy settings are still enforced: the email address will not be displayed on your public profile or via the API. */ + "users/update-authenticated": { + parameters: {}; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["private-user"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The new name of the user. + * @example Omar Jahandar + */ + name?: string; + /** + * @description The publicly visible email address of the user. + * @example omar@example.com + */ + email?: string; + /** + * @description The new blog URL of the user. + * @example blog.example.com + */ + blog?: string; + /** + * @description The new Twitter username of the user. + * @example therealomarj + */ + twitter_username?: string | null; + /** + * @description The new company of the user. + * @example Acme corporation + */ + company?: string; + /** + * @description The new location of the user. + * @example Berlin, Germany + */ + location?: string; + /** @description The new hiring availability of the user. */ + hireable?: boolean; + /** @description The new short biography of the user. */ + bio?: string; + }; }; }; + }; + /** List the users you've blocked on your personal account. */ + "users/list-blocked-by-authenticated-user": { + parameters: {}; responses: { - /** response */ + /** Response */ 200: { - headers: {}; content: { "application/json": components["schemas"]["simple-user"][]; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; }; }; - /** - * The "Get team member" endpoint (described below) is deprecated. - * - * We recommend using the [Get team membership for a user](https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user) endpoint instead. It allows you to get both active and pending memberships. - * - * To list members in a team, the team must be visible to the authenticated user. - */ - "teams/get-member-legacy": { + "users/check-blocked": { parameters: { path: { - team_id: components["parameters"]["team-id"]; + /** The handle for the GitHub user account. */ username: components["parameters"]["username"]; }; }; responses: { - /** Response if user is a member */ + /** If the user is blocked: */ 204: never; - /** Response if user is not a member */ - 404: unknown; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** If the user is not blocked: */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; }; }; - /** - * The "Add team member" endpoint (described below) is deprecated. - * - * We recommend using the [Add or update team membership for a user](https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user) endpoint instead. It allows you to invite new organization members to your teams. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * To add someone to a team, the authenticated user must be an organization owner or a team maintainer in the team they're changing. The person being added to the team must be a member of the team's organization. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - * - * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - "teams/add-member-legacy": { + "users/block": { parameters: { path: { - team_id: components["parameters"]["team-id"]; + /** The handle for the GitHub user account. */ username: components["parameters"]["username"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; - /** Response if team synchronization is set up */ - 404: unknown; - /** response */ - 422: { - content: { - "application/json": { - message?: string; - errors?: { - code?: string; - field?: string; - resource?: string; - }[]; - documentation_url?: string; - }; - }; - }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; - /** - * The "Remove team member" endpoint (described below) is deprecated. - * - * We recommend using the [Remove team membership for a user](https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user) endpoint instead. It allows you to remove both active and pending memberships. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * To remove a team member, the authenticated user must have 'admin' permissions to the team or be an owner of the org that the team is associated with. Removing a team member does not delete the user, it just removes them from the team. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - */ - "teams/remove-member-legacy": { + "users/unblock": { parameters: { path: { - team_id: components["parameters"]["team-id"]; + /** The handle for the GitHub user account. */ username: components["parameters"]["username"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; - /** Response if team synchronization is setup */ - 404: unknown; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; - /** - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get team membership for a user](https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user) endpoint. - * - * Team members will include the members of child teams. + /** + * Lists the authenticated user's codespaces. * - * To get a user's membership with a team, the team must be visible to the authenticated user. + * You must authenticate using an access token with the `codespace` scope to use this endpoint. * - * **Note:** The `role` for organization owners returns as `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/reference/teams#create-a-team). + * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. */ - "teams/get-membership-for-user-legacy": { + "codespaces/list-for-authenticated-user": { parameters: { - path: { - team_id: components["parameters"]["team-id"]; - username: components["parameters"]["username"]; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** ID of the Repository to filter on */ + repository_id?: components["parameters"]["repository-id-in-query"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["team-membership"]; + "application/json": { + total_count: number; + codespaces: components["schemas"]["codespace"][]; + }; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; }; }; /** - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team membership for a user](https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user) endpoint. + * Creates a new codespace, owned by the authenticated user. * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * This endpoint requires either a `repository_id` OR a `pull_request` but not both. * - * If the user is already a member of the team's organization, this endpoint will add the user to the team. To add a membership between an organization member and a team, the authenticated user must be an organization owner or a team maintainer. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - * - * If the user is unaffiliated with the team's organization, this endpoint will send an invitation to the user via email. This newly-created membership will be in the "pending" state until the user accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. To add a membership between an unaffiliated user and a team, the authenticated user must be an organization owner. + * You must authenticate using an access token with the `codespace` scope to use this endpoint. * - * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. */ - "teams/add-or-update-membership-for-user-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - username: components["parameters"]["username"]; - }; - }; + "codespaces/create-for-authenticated-user": { responses: { - /** response */ - 200: { + /** Response when the codespace was successfully created */ + 201: { content: { - "application/json": components["schemas"]["team-membership"]; + "application/json": components["schemas"]["codespace"]; }; }; - /** Response if team synchronization is set up */ - 403: unknown; - 404: components["responses"]["not_found"]; - /** Response if you attempt to add an organization to a team */ - 422: { + /** Response when the codespace creation partially failed but is being retried in the background */ + 202: { content: { - "application/json": { - message?: string; - errors?: { - code?: string; - field?: string; - resource?: string; - }[]; - documentation_url?: string; - }; + "application/json": components["schemas"]["codespace"]; }; }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; requestBody: { content: { - "application/json": { - /** - * The role that this user should have in the team. Can be one of: - * \* `member` - a normal member of the team. - * \* `maintainer` - a team maintainer. Able to add/remove other team members, promote other team members to team maintainer, and edit the team's name and description. - */ - role?: "member" | "maintainer"; - }; + "application/json": + | { + /** @description Repository id for this codespace */ + repository_id: number; + /** @description Git ref (typically a branch name) for this codespace */ + ref?: string; + /** @description Location for this codespace. Assigned by IP if not provided */ + location?: string; + /** @description IP for location auto-detection when proxying a request */ + client_ip?: string; + /** @description Machine type to use for this codespace */ + machine?: string; + /** @description Path to devcontainer.json config to use for this codespace */ + devcontainer_path?: string; + /** @description Whether to authorize requested permissions from devcontainer.json */ + multi_repo_permissions_opt_out?: boolean; + /** @description Working directory for this codespace */ + working_directory?: string; + /** @description Time in minutes before codespace stops from inactivity */ + idle_timeout_minutes?: number; + /** @description Display name for this codespace */ + display_name?: string; + /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ + retention_period_minutes?: number; + } + | { + /** @description Pull request number for this codespace */ + pull_request: { + /** @description Pull request number */ + pull_request_number: number; + /** @description Repository id for this codespace */ + repository_id: number; + }; + /** @description Location for this codespace. Assigned by IP if not provided */ + location?: string; + /** @description Machine type to use for this codespace */ + machine?: string; + /** @description Path to devcontainer.json config to use for this codespace */ + devcontainer_path?: string; + /** @description Working directory for this codespace */ + working_directory?: string; + /** @description Time in minutes before codespace stops from inactivity */ + idle_timeout_minutes?: number; + }; }; }; }; /** - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove team membership for a user](https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user) endpoint. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Lists all secrets available for a user's Codespaces without revealing their + * encrypted values. * - * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. */ - "teams/remove-membership-for-user-legacy": { + "codespaces/list-secrets-for-authenticated-user": { parameters: { - path: { - team_id: components["parameters"]["team-id"]; - username: components["parameters"]["username"]; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { - /** Empty response */ - 204: never; - /** Response if team synchronization is set up */ - 403: unknown; + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["codespaces-secret"][]; + }; + }; + }; }; }; /** - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team projects`](https://docs.github.com/rest/reference/teams#list-team-projects) endpoint. + * Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. * - * Lists the organization projects for a team. + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. */ - "teams/list-projects-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - }; - query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; - }; - }; + "codespaces/get-public-key-for-authenticated-user": { responses: { - /** response */ + /** Response */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["team-project"][]; + "application/json": components["schemas"]["codespaces-user-public-key"]; }; }; - 404: components["responses"]["not_found"]; - 415: components["responses"]["preview_header_missing"]; }; }; /** - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a project](https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-project) endpoint. + * Gets a secret available to a user's codespaces without revealing its encrypted value. * - * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. */ - "teams/check-permissions-for-project-legacy": { + "codespaces/get-secret-for-authenticated-user": { parameters: { path: { - team_id: components["parameters"]["team-id"]; - project_id: components["parameters"]["project-id"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["team-project"]; + "application/json": components["schemas"]["codespaces-secret"]; }; }; - /** Response if project is not managed by this team */ - 404: unknown; - 415: components["responses"]["preview_header_missing"]; }; }; /** - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team project permissions](https://docs.github.com/rest/reference/teams#add-or-update-team-project-permissions) endpoint. + * Creates or updates a secret for a user's codespace with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). * - * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must also have Codespaces access to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission and `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` */ - "teams/add-or-update-project-permissions-legacy": { + "codespaces/create-or-update-secret-for-authenticated-user": { parameters: { path: { - team_id: components["parameters"]["team-id"]; - project_id: components["parameters"]["project-id"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; }; }; responses: { - /** Empty response */ - 204: never; - /** Response if the project is not owned by the organization */ - 403: { + /** Response after successfully creaing a secret */ + 201: { content: { - "application/json": { - message?: string; - documentation_url?: string; - }; + "application/json": { [key: string]: unknown }; }; }; + /** Response after successfully updating a secret */ + 204: never; 404: components["responses"]["not_found"]; - 415: components["responses"]["preview_header_missing"]; 422: components["responses"]["validation_failed"]; }; requestBody: { content: { "application/json": { - /** - * The permission to grant to the team for this project. Can be one of: - * \* `read` - team members can read, but not write to or administer this project. - * \* `write` - team members can read and write, but not administer this project. - * \* `admin` - team members can read, write and administer this project. - * Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - permission?: "read" | "write" | "admin"; + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get the public key for the authenticated user](https://docs.github.com/rest/reference/codespaces#get-the-public-key-for-the-authenticated-user) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id: string; + /** @description An array of repository ids that can access the user secret. You can manage the list of selected repositories using the [List selected repositories for a user secret](https://docs.github.com/rest/reference/codespaces#list-selected-repositories-for-a-user-secret), [Set selected repositories for a user secret](https://docs.github.com/rest/reference/codespaces#set-selected-repositories-for-a-user-secret), and [Remove a selected repository from a user secret](https://docs.github.com/rest/reference/codespaces#remove-a-selected-repository-from-a-user-secret) endpoints. */ + selected_repository_ids?: string[]; }; }; }; }; /** - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a project from a team](https://docs.github.com/rest/reference/teams#remove-a-project-from-a-team) endpoint. + * Deletes a secret from a user's codespaces using the secret name. Deleting the secret will remove access from all codespaces that were allowed to access the secret. * - * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. **Note:** This endpoint removes the project from the team, but does not delete it. + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_user_secrets` user permission to use this endpoint. */ - "teams/remove-project-legacy": { + "codespaces/delete-secret-for-authenticated-user": { parameters: { path: { - team_id: components["parameters"]["team-id"]; - project_id: components["parameters"]["project-id"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; - 404: components["responses"]["not_found"]; - 415: components["responses"]["preview_header_missing"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List team repositories](https://docs.github.com/rest/reference/teams#list-team-repositories) endpoint. */ - "teams/list-repos-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - }; - query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** response */ - 200: { - headers: {}; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - 404: components["responses"]["not_found"]; }; }; /** - * **Note**: Repositories inherited through a parent team will also be checked. + * List the repositories that have been granted the ability to use a user's codespace secret. * - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a repository](https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-repository) endpoint. + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. * - * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. */ - "teams/check-permissions-for-repo-legacy": { + "codespaces/list-repositories-for-secret-for-authenticated-user": { parameters: { path: { - team_id: components["parameters"]["team-id"]; - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; }; }; responses: { - /** Alternative response with extra repository information */ + /** Response */ 200: { content: { - "application/vnd.github.v3.repository+json": components["schemas"]["team-repository"]; + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; }; }; - /** Response if repository is managed by this team */ - 204: never; - /** Response if repository is not managed by this team */ - 404: unknown; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; }; }; /** - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Add or update team repository permissions](https://docs.github.com/rest/reference/teams#add-or-update-team-repository-permissions)" endpoint. + * Select the repositories that will use a user's codespace secret. * - * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. * - * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. */ - "teams/add-or-update-repo-permissions-legacy": { + "codespaces/set-repositories-for-secret-for-authenticated-user": { parameters: { path: { - team_id: components["parameters"]["team-id"]; - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; }; }; responses: { - /** Empty response */ + /** No Content when repositories were added to the selected list */ 204: never; + 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; }; requestBody: { content: { "application/json": { - /** - * The permission to grant the team on this repository. Can be one of: - * \* `pull` - team members can pull, but not push to or administer this repository. - * \* `push` - team members can pull and push, but not administer this repository. - * \* `admin` - team members can pull, push and administer this repository. - * - * If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. - */ - permission?: "pull" | "push" | "admin"; + /** @description An array of repository ids for which a codespace can access the secret. You can manage the list of selected repositories using the [List selected repositories for a user secret](https://docs.github.com/rest/reference/codespaces#list-selected-repositories-for-a-user-secret), [Add a selected repository to a user secret](https://docs.github.com/rest/reference/codespaces#add-a-selected-repository-to-a-user-secret), and [Remove a selected repository from a user secret](https://docs.github.com/rest/reference/codespaces#remove-a-selected-repository-from-a-user-secret) endpoints. */ + selected_repository_ids: number[]; }; }; }; }; /** - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a repository from a team](https://docs.github.com/rest/reference/teams#remove-a-repository-from-a-team) endpoint. - * - * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. NOTE: This does not delete the repository, it just removes it from the team. + * Adds a repository to the selected repositories for a user's codespace secret. + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on the referenced repository to use this endpoint. */ - "teams/remove-repo-legacy": { + "codespaces/add-repository-for-secret-for-authenticated-user": { parameters: { path: { - team_id: components["parameters"]["team-id"]; - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; }; }; responses: { - /** Empty response */ + /** No Content when repository was added to the selected list */ 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; }; }; /** - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List IdP groups for a team`](https://docs.github.com/rest/reference/teams#list-idp-groups-for-a-team) endpoint. + * Removes a repository from the selected repositories for a user's codespace secret. + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * GitHub Apps must have write access to the `codespaces_user_secrets` user permission to use this endpoint. + */ + "codespaces/remove-repository-for-secret-for-authenticated-user": { + parameters: { + path: { + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + }; + responses: { + /** No Content when repository was removed from the selected list */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Gets information about a user's codespace. * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * You must authenticate using an access token with the `codespace` scope to use this endpoint. * - * List IdP groups connected to a team on GitHub. + * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. */ - "teams/list-idp-groups-for-legacy": { + "codespaces/get-for-authenticated-user": { parameters: { path: { - team_id: components["parameters"]["team-id"]; + /** The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["group-mapping"]; + "application/json": components["schemas"]["codespace"]; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; }; }; /** - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create or update IdP group connections`](https://docs.github.com/rest/reference/teams#create-or-update-idp-group-connections) endpoint. + * Deletes a user's codespace. * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * You must authenticate using an access token with the `codespace` scope to use this endpoint. * - * Creates, updates, or removes a connection between a team and an IdP group. When adding groups to a team, you must include all new and existing groups to avoid replacing existing groups with the new ones. Specifying an empty `groups` array will remove all connections for a team. + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. */ - "teams/create-or-update-idp-group-connections-legacy": { + "codespaces/delete-for-authenticated-user": { parameters: { path: { - team_id: components["parameters"]["team-id"]; + /** The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; }; }; responses: { - /** response */ + 202: components["responses"]["accepted"]; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Updates a codespace owned by the authenticated user. Currently only the codespace's machine type and recent folders can be modified using this endpoint. + * + * If you specify a new machine type it will be applied the next time your codespace is started. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + "codespaces/update-for-authenticated-user": { + parameters: { + path: { + /** The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + }; + responses: { + /** Response */ 200: { content: { - "application/json": components["schemas"]["group-mapping"]; + "application/json": components["schemas"]["codespace"]; }; }; + 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; + 404: components["responses"]["not_found"]; }; requestBody: { content: { "application/json": { - /** The IdP groups you want to connect to a GitHub team. When updating, the new `groups` object will replace the original one. You must include any existing groups that you don't want to remove. */ - groups: { - /** ID of the IdP group. */ - group_id: string; - /** Name of the IdP group. */ - group_name: string; - /** Description of the IdP group. */ - group_description: string; - id?: string; - name?: string; - description?: string; - }[]; - synced_at?: string; + /** @description A valid machine to transition this codespace to. */ + machine?: string; + /** @description Display name for this codespace */ + display_name?: string; + /** @description Recently opened folders inside the codespace. It is currently used by the clients to determine the folder path to load the codespace in. */ + recent_folders?: string[]; }; }; }; }; - /** **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://docs.github.com/rest/reference/teams#list-child-teams) endpoint. */ - "teams/list-child-legacy": { + /** + * Triggers an export of the specified codespace and returns a URL and ID where the status of the export can be monitored. + * + * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + */ + "codespaces/export-for-authenticated-user": { parameters: { path: { - team_id: components["parameters"]["team-id"]; - }; - query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; }; }; responses: { - /** Response if child teams exist */ - 200: { - headers: {}; + /** Response */ + 202: { content: { - "application/json": components["schemas"]["team"][]; + "application/json": components["schemas"]["codespace-export-details"]; }; }; + 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; }; }; /** - * If the authenticated user is authenticated through basic authentication or OAuth with the `user` scope, then the response lists public and private profile information. + * Gets information about an export of a codespace. * - * If the authenticated user is authenticated through OAuth without the `user` scope, then the response lists only public profile information. + * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. */ - "users/get-authenticated": { - parameters: {}; - responses: { - /** response */ - 200: { - content: { - "application/json": - | components["schemas"]["private-user"] - | components["schemas"]["public-user"]; - }; + "codespaces/get-export-details-for-authenticated-user": { + parameters: { + path: { + /** The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + /** The ID of the export operation, or `latest`. Currently only `latest` is currently supported. */ + export_id: components["parameters"]["export-id"]; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; }; - }; - /** **Note:** If your email is set to private and you send an `email` parameter as part of this request to update your profile, your privacy settings are still enforced: the email address will not be displayed on your public profile or via the API. */ - "users/update-authenticated": { - parameters: {}; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["private-user"]; + "application/json": components["schemas"]["codespace-export-details"]; }; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; }; - requestBody: { - content: { - "application/json": { - /** The new name of the user. */ - name?: string; - /** The publicly visible email address of the user. */ - email?: string; - /** The new blog URL of the user. */ - blog?: string; - /** The new Twitter username of the user. */ - twitter_username?: string | null; - /** The new company of the user. */ - company?: string; - /** The new location of the user. */ - location?: string; - /** The new hiring availability of the user. */ - hireable?: boolean; - /** The new short biography of the user. */ - bio?: string; - }; + }; + /** + * List the machine types a codespace can transition to use. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. + */ + "codespaces/codespace-machines-for-authenticated-user": { + parameters: { + path: { + /** The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; }; }; - }; - /** List the users you've blocked on your personal account. */ - "users/list-blocked-by-authenticated": { - parameters: {}; responses: { - /** response */ + /** Response */ 200: { content: { - "application/json": components["schemas"]["simple-user"][]; + "application/json": { + total_count: number; + machines: components["schemas"]["codespace-machine"][]; + }; }; }; 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; - 415: components["responses"]["preview_header_missing"]; + 500: components["responses"]["internal_error"]; }; }; - "users/check-blocked": { + /** + * Starts a user's codespace. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + */ + "codespaces/start-for-authenticated-user": { parameters: { path: { - username: components["parameters"]["username"]; + /** The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; }; }; responses: { - /** If the user is blocked: */ - 204: never; + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; 304: components["responses"]["not_modified"]; + 400: components["responses"]["bad_request"]; 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - /** If the user is not blocked: */ - 404: { + /** Payment required */ + 402: { content: { "application/json": components["schemas"]["basic-error"]; }; }; - }; - }; - "users/block": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; - }; - responses: { - /** Empty response */ - 204: never; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; + 409: components["responses"]["conflict"]; + 500: components["responses"]["internal_error"]; }; }; - "users/unblock": { + /** + * Stops a user's codespace. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + */ + "codespaces/stop-for-authenticated-user": { parameters: { path: { - username: components["parameters"]["username"]; + /** The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; }; }; responses: { - /** Empty response */ - 204: never; - 304: components["responses"]["not_modified"]; + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; }; }; /** Sets the visibility for your primary email addresses. */ - "users/set-primary-email-visibility-for-authenticated": { + "users/set-primary-email-visibility-for-authenticated-user": { parameters: {}; responses: { - /** response */ + /** Response */ 200: { content: { "application/json": components["schemas"]["email"][]; @@ -27661,26 +44610,27 @@ export interface operations { requestBody: { content: { "application/json": { - /** An email address associated with the GitHub user account to manage. */ - email: string; - /** Denotes whether an email is publically visible. */ + /** + * @description Denotes whether an email is publicly visible. + * @enum {string} + */ visibility: "public" | "private"; }; }; }; }; /** Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the `user:email` scope. */ - "users/list-emails-for-authenticated": { + "users/list-emails-for-authenticated-user": { parameters: { query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { @@ -27694,10 +44644,10 @@ export interface operations { }; }; /** This endpoint is accessible with the `user` scope. */ - "users/add-email-for-authenticated": { + "users/add-email-for-authenticated-user": { parameters: {}; responses: { - /** response */ + /** Response */ 201: { content: { "application/json": components["schemas"]["email"][]; @@ -27711,21 +44661,21 @@ export interface operations { }; requestBody: { content: { - "application/json": - | { - /** Adds one or more email addresses to your GitHub account. Must contain at least one email address. **Note:** Alternatively, you can pass a single email address or an `array` of emails addresses directly, but we recommend that you pass an object using the `emails` key. */ - emails: string[]; - } - | string[] - | string; + "application/json": { + /** + * @description Adds one or more email addresses to your GitHub account. Must contain at least one email address. **Note:** Alternatively, you can pass a single email address or an `array` of emails addresses directly, but we recommend that you pass an object using the `emails` key. + * @example [] + */ + emails: string[]; + }; }; }; }; /** This endpoint is accessible with the `user` scope. */ - "users/delete-email-for-authenticated": { + "users/delete-email-for-authenticated-user": { parameters: {}; responses: { - /** Empty response */ + /** Response */ 204: never; 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; @@ -27735,13 +44685,10 @@ export interface operations { }; requestBody: { content: { - "application/json": - | { - /** Email addresses associated with the GitHub user account. */ - emails: string[]; - } - | string[] - | string; + "application/json": { + /** @description Email addresses associated with the GitHub user account. */ + emails: string[]; + }; }; }; }; @@ -27749,14 +44696,14 @@ export interface operations { "users/list-followers-for-authenticated-user": { parameters: { query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { @@ -27769,17 +44716,17 @@ export interface operations { }; }; /** Lists the people who the authenticated user follows. */ - "users/list-followed-by-authenticated": { + "users/list-followed-by-authenticated-user": { parameters: { query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { @@ -27794,16 +44741,17 @@ export interface operations { "users/check-person-is-followed-by-authenticated": { parameters: { path: { + /** The handle for the GitHub user account. */ username: components["parameters"]["username"]; }; }; responses: { - /** Response if the person is followed by the authenticated user */ + /** if the person is followed by the authenticated user */ 204: never; 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; - /** Response if the person is not followed by the authenticated user */ + /** if the person is not followed by the authenticated user */ 404: { content: { "application/json": components["schemas"]["basic-error"]; @@ -27819,11 +44767,12 @@ export interface operations { "users/follow": { parameters: { path: { + /** The handle for the GitHub user account. */ username: components["parameters"]["username"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; @@ -27835,11 +44784,12 @@ export interface operations { "users/unfollow": { parameters: { path: { + /** The handle for the GitHub user account. */ username: components["parameters"]["username"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; @@ -27848,17 +44798,17 @@ export interface operations { }; }; /** Lists the current user's GPG keys. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ - "users/list-gpg-keys-for-authenticated": { + "users/list-gpg-keys-for-authenticated-user": { parameters: { query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { @@ -27872,10 +44822,10 @@ export interface operations { }; }; /** Adds a GPG key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ - "users/create-gpg-key-for-authenticated": { + "users/create-gpg-key-for-authenticated-user": { parameters: {}; responses: { - /** response */ + /** Response */ 201: { content: { "application/json": components["schemas"]["gpg-key"]; @@ -27890,22 +44840,24 @@ export interface operations { requestBody: { content: { "application/json": { - /** A GPG key in ASCII-armored format. */ + /** @description A descriptive name for the new key. */ + name?: string; + /** @description A GPG key in ASCII-armored format. */ armored_public_key: string; }; }; }; }; /** View extended details for a single GPG key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ - "users/get-gpg-key-for-authenticated": { + "users/get-gpg-key-for-authenticated-user": { parameters: { path: { - /** gpg_key_id parameter */ - gpg_key_id: components["parameters"]["gpg_key_id"]; + /** The unique identifier of the GPG key. */ + gpg_key_id: components["parameters"]["gpg-key-id"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { "application/json": components["schemas"]["gpg-key"]; @@ -27918,15 +44870,15 @@ export interface operations { }; }; /** Removes a GPG key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ - "users/delete-gpg-key-for-authenticated": { + "users/delete-gpg-key-for-authenticated-user": { parameters: { path: { - /** gpg_key_id parameter */ - gpg_key_id: components["parameters"]["gpg_key_id"]; + /** The unique identifier of the GPG key. */ + gpg_key_id: components["parameters"]["gpg-key-id"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; @@ -27947,8 +44899,8 @@ export interface operations { "apps/list-installations-for-authenticated-user": { parameters: { query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; @@ -27967,7 +44919,6 @@ export interface operations { 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; - 415: components["responses"]["preview_header_missing"]; }; }; /** @@ -27982,12 +44933,12 @@ export interface operations { "apps/list-installation-repos-for-authenticated-user": { parameters: { path: { - /** installation_id parameter */ - installation_id: components["parameters"]["installation_id"]; + /** The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; @@ -28014,16 +44965,17 @@ export interface operations { * * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. */ - "apps/add-repo-to-installation": { + "apps/add-repo-to-installation-for-authenticated-user": { parameters: { path: { - /** installation_id parameter */ - installation_id: components["parameters"]["installation_id"]; - repository_id: components["parameters"]["repository_id"]; + /** The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + /** The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; 304: components["responses"]["not_modified"]; 403: components["responses"]["forbidden"]; @@ -28035,37 +44987,43 @@ export interface operations { * * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. */ - "apps/remove-repo-from-installation": { + "apps/remove-repo-from-installation-for-authenticated-user": { parameters: { path: { - /** installation_id parameter */ - installation_id: components["parameters"]["installation_id"]; - repository_id: components["parameters"]["repository_id"]; + /** The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + /** The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; 304: components["responses"]["not_modified"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; }; }; - /** Shows which type of GitHub user can interact with your public repositories and when the restriction expires. If there are no restrictions, you will see an empty response. */ + /** Shows which type of GitHub user can interact with your public repositories and when the restriction expires. */ "interactions/get-restrictions-for-authenticated-user": { responses: { - /** response */ + /** Default response */ 200: { content: { - "application/json": components["schemas"]["interaction-limit-response"]; + "application/json": Partial< + components["schemas"]["interaction-limit-response"] + > & + Partial<{ [key: string]: unknown }>; }; }; + /** Response when there are no restrictions */ + 204: never; }; }; /** Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user. */ "interactions/set-restrictions-for-authenticated-user": { responses: { - /** response */ + /** Response */ 200: { content: { "application/json": components["schemas"]["interaction-limit-response"]; @@ -28082,7 +45040,7 @@ export interface operations { /** Removes any interaction restrictions from your public repositories. */ "interactions/remove-restrictions-for-authenticated-user": { responses: { - /** Empty response */ + /** Response */ 204: never; }; }; @@ -28097,33 +45055,32 @@ export interface operations { "issues/list-for-authenticated-user": { parameters: { query: { - /** - * Indicates which sorts of issues to return. Can be one of: - * \* `assigned`: Issues assigned to you - * \* `created`: Issues created by you - * \* `mentioned`: Issues mentioning you - * \* `subscribed`: Issues you're subscribed to updates for - * \* `all`: All issues the authenticated user can see, regardless of participation or creation - */ - filter?: "assigned" | "created" | "mentioned" | "subscribed" | "all"; + /** Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation. */ + filter?: + | "assigned" + | "created" + | "mentioned" + | "subscribed" + | "repos" + | "all"; /** Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. */ state?: "open" | "closed" | "all"; /** A list of comma separated label names. Example: `bug,ui,@high` */ labels?: components["parameters"]["labels"]; /** What to sort results by. Can be either `created`, `updated`, `comments`. */ sort?: "created" | "updated" | "comments"; - /** One of `asc` (ascending) or `desc` (descending). */ + /** The direction to sort the results by. */ direction?: components["parameters"]["direction"]; /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ since?: components["parameters"]["since"]; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { @@ -28135,17 +45092,17 @@ export interface operations { }; }; /** Lists the public SSH keys for the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ - "users/list-public-ssh-keys-for-authenticated": { + "users/list-public-ssh-keys-for-authenticated-user": { parameters: { query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { @@ -28159,10 +45116,10 @@ export interface operations { }; }; /** Adds a public SSH key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ - "users/create-public-ssh-key-for-authenticated": { + "users/create-public-ssh-key-for-authenticated-user": { parameters: {}; responses: { - /** response */ + /** Response */ 201: { content: { "application/json": components["schemas"]["key"]; @@ -28177,24 +45134,27 @@ export interface operations { requestBody: { content: { "application/json": { - /** A descriptive name for the new key. */ + /** + * @description A descriptive name for the new key. + * @example Personal MacBook Air + */ title?: string; - /** The public SSH key to add to your GitHub account. */ + /** @description The public SSH key to add to your GitHub account. */ key: string; }; }; }; }; /** View extended details for a single public SSH key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ - "users/get-public-ssh-key-for-authenticated": { + "users/get-public-ssh-key-for-authenticated-user": { parameters: { path: { - /** key_id parameter */ - key_id: components["parameters"]["key_id"]; + /** The unique identifier of the key. */ + key_id: components["parameters"]["key-id"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { "application/json": components["schemas"]["key"]; @@ -28207,15 +45167,15 @@ export interface operations { }; }; /** Removes a public SSH key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ - "users/delete-public-ssh-key-for-authenticated": { + "users/delete-public-ssh-key-for-authenticated-user": { parameters: { path: { - /** key_id parameter */ - key_id: components["parameters"]["key_id"]; + /** The unique identifier of the key. */ + key_id: components["parameters"]["key-id"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; @@ -28227,14 +45187,14 @@ export interface operations { "apps/list-subscriptions-for-authenticated-user": { parameters: { query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { @@ -28250,14 +45210,14 @@ export interface operations { "apps/list-subscriptions-for-authenticated-user-stubbed": { parameters: { query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { @@ -28273,14 +45233,14 @@ export interface operations { query: { /** Indicates the state of the memberships to return. Can be either `active` or `pending`. If not specified, the API returns both active and pending memberships. */ state?: "active" | "pending"; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { @@ -28296,11 +45256,12 @@ export interface operations { "orgs/get-membership-for-authenticated-user": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { "application/json": components["schemas"]["org-membership"]; @@ -28313,11 +45274,12 @@ export interface operations { "orgs/update-membership-for-authenticated-user": { parameters: { path: { + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { "application/json": components["schemas"]["org-membership"]; @@ -28330,7 +45292,10 @@ export interface operations { requestBody: { content: { "application/json": { - /** The state that the membership should be in. Only `"active"` will be accepted. */ + /** + * @description The state that the membership should be in. Only `"active"` will be accepted. + * @enum {string} + */ state: "active"; }; }; @@ -28340,14 +45305,14 @@ export interface operations { "migrations/list-for-authenticated-user": { parameters: { query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { @@ -28363,7 +45328,7 @@ export interface operations { "migrations/start-for-authenticated-user": { parameters: {}; responses: { - /** response */ + /** Response */ 201: { content: { "application/json": components["schemas"]["migration"]; @@ -28377,11 +45342,48 @@ export interface operations { requestBody: { content: { "application/json": { - /** Lock the repositories being migrated at the start of the migration */ + /** + * @description Lock the repositories being migrated at the start of the migration + * @example true + */ lock_repositories?: boolean; - /** Do not include attachments in the migration */ + /** + * @description Indicates whether metadata should be excluded and only git source should be included for the migration. + * @example true + */ + exclude_metadata?: boolean; + /** + * @description Indicates whether the repository git data should be excluded from the migration. + * @example true + */ + exclude_git_data?: boolean; + /** + * @description Do not include attachments in the migration + * @example true + */ exclude_attachments?: boolean; - /** Exclude attributes from the API response to improve performance */ + /** + * @description Do not include releases in the migration + * @example true + */ + exclude_releases?: boolean; + /** + * @description Indicates whether projects owned by the organization or users should be excluded. + * @example true + */ + exclude_owner_projects?: boolean; + /** + * @description Indicates whether this should only include organization metadata (repositories array should be empty and will ignore other flags). + * @default false + * @example true + */ + org_metadata_only?: boolean; + /** + * @description Exclude attributes from the API response to improve performance + * @example [ + * "repositories" + * ] + */ exclude?: "repositories"[]; repositories: string[]; }; @@ -28401,15 +45403,15 @@ export interface operations { "migrations/get-status-for-authenticated-user": { parameters: { path: { - /** migration_id parameter */ - migration_id: components["parameters"]["migration_id"]; + /** The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; }; query: { exclude?: string[]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { "application/json": components["schemas"]["migration"]; @@ -28447,12 +45449,12 @@ export interface operations { "migrations/get-archive-for-authenticated-user": { parameters: { path: { - /** migration_id parameter */ - migration_id: components["parameters"]["migration_id"]; + /** The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; }; }; responses: { - /** response */ + /** Response */ 302: never; 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; @@ -28463,12 +45465,12 @@ export interface operations { "migrations/delete-archive-for-authenticated-user": { parameters: { path: { - /** migration_id parameter */ - migration_id: components["parameters"]["migration_id"]; + /** The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; @@ -28480,14 +45482,14 @@ export interface operations { "migrations/unlock-repo-for-authenticated-user": { parameters: { path: { - /** migration_id parameter */ - migration_id: components["parameters"]["migration_id"]; + /** The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; /** repo_name parameter */ - repo_name: components["parameters"]["repo_name"]; + repo_name: components["parameters"]["repo-name"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; @@ -28496,21 +45498,21 @@ export interface operations { }; }; /** Lists all the repositories for this user migration. */ - "migrations/list-repos-for-user": { + "migrations/list-repos-for-authenticated-user": { parameters: { path: { - /** migration_id parameter */ - migration_id: components["parameters"]["migration_id"]; + /** The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { @@ -28530,14 +45532,14 @@ export interface operations { "orgs/list-for-authenticated-user": { parameters: { query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { @@ -28549,10 +45551,232 @@ export interface operations { 403: components["responses"]["forbidden"]; }; }; + /** + * Lists packages owned by the authenticated user within the user's namespace. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/list-packages-for-authenticated-user": { + parameters: { + query: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: + | "npm" + | "maven" + | "rubygems" + | "docker" + | "nuget" + | "container"; + /** The selected visibility of the packages. Only `container` package_types currently support `internal` visibility properly. For other ecosystems `internal` is synonymous with `private`. This parameter is optional and only filters an existing result set. */ + visibility?: components["parameters"]["package-visibility"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + }; + }; + /** + * Gets a specific package for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/get-package-for-authenticated-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package"]; + }; + }; + }; + }; + /** + * Deletes a package owned by the authenticated user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:delete` scopes. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/delete-package-for-authenticated-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Restores a package owned by the authenticated user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/restore-package-for-authenticated-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + }; + query: { + /** package token */ + token?: string; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Returns all package versions for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/get-all-package-versions-for-package-owned-by-authenticated-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + }; + query: { + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** The state of the package, either active or deleted. */ + state?: "active" | "deleted"; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package-version"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Gets a specific package version for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/get-package-version-for-authenticated-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package-version"]; + }; + }; + }; + }; + /** + * Deletes a specific package version for a package owned by the authenticated user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:delete` scopes. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/delete-package-version-for-authenticated-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Restores a package version owned by the authenticated user. + * + * You can restore a deleted package version under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/restore-package-version-for-authenticated-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Creates a user project board. Returns a `410 Gone` status if the user does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ "projects/create-for-authenticated-user": { parameters: {}; responses: { - /** response */ + /** Response */ 201: { content: { "application/json": components["schemas"]["project"]; @@ -28561,32 +45785,37 @@ export interface operations { 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; - 415: components["responses"]["preview_header_missing"]; 422: components["responses"]["validation_failed_simple"]; }; requestBody: { content: { "application/json": { - /** Name of the project */ + /** + * @description Name of the project + * @example Week One Sprint + */ name: string; - /** Body of the project */ + /** + * @description Body of the project + * @example This project represents the sprint of the first week in January + */ body?: string | null; }; }; }; }; /** Lists your publicly visible email address, which you can set with the [Set primary email visibility for the authenticated user](https://docs.github.com/rest/reference/users#set-primary-email-visibility-for-the-authenticated-user) endpoint. This endpoint is accessible with the `user:email` scope. */ - "users/list-public-emails-for-authenticated": { + "users/list-public-emails-for-authenticated-user": { parameters: { query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { @@ -28607,7 +45836,7 @@ export interface operations { "repos/list-for-authenticated-user": { parameters: { query: { - /** Can be one of `all`, `public`, or `private`. */ + /** Limit results to repositories with the specified visibility. */ visibility?: "all" | "public" | "private"; /** * Comma-separated list of values. Can include: @@ -28616,18 +45845,14 @@ export interface operations { * \* `organization_member`: Repositories that the user has access to through being a member of an organization. This includes every repository on every team that the user is on. */ affiliation?: string; - /** - * Can be one of `all`, `owner`, `public`, `private`, `member`. Default: `all` - * - * Will cause a `422` error if used in the same request as **visibility** or **affiliation**. Will cause a `422` error if used in the same request as **visibility** or **affiliation**. - */ + /** Limit results to repositories of the specified type. Will cause a `422` error if used in the same request as **visibility** or **affiliation**. */ type?: "all" | "owner" | "public" | "private" | "member"; - /** Can be one of `created`, `updated`, `pushed`, `full_name`. */ + /** The property to sort the results by. */ sort?: "created" | "updated" | "pushed" | "full_name"; - /** Can be one of `asc` or `desc`. Default: `asc` when using `full_name`, otherwise `desc` */ + /** The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ direction?: "asc" | "desc"; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ @@ -28637,7 +45862,7 @@ export interface operations { }; }; responses: { - /** response */ + /** Response */ 200: { content: { "application/json": components["schemas"]["repository"][]; @@ -28656,13 +45881,13 @@ export interface operations { * * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: * - * * `public_repo` scope or `repo` scope to create a public repository - * * `repo` scope to create a private repository + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. + * * `repo` scope to create a private repository. */ "repos/create-for-authenticated-user": { parameters: {}; responses: { - /** response */ + /** Response */ 201: { headers: { Location?: string; @@ -28681,39 +45906,96 @@ export interface operations { requestBody: { content: { "application/json": { - /** The name of the repository. */ + /** + * @description The name of the repository. + * @example Team Environment + */ name: string; - /** A short description of the repository. */ + /** @description A short description of the repository. */ description?: string; - /** A URL with more information about the repository. */ + /** @description A URL with more information about the repository. */ homepage?: string; - /** Whether the repository is private or public. */ + /** + * @description Whether the repository is private. + * @default false + */ private?: boolean; - /** Whether issues are enabled. */ + /** + * @description Whether issues are enabled. + * @default true + * @example true + */ has_issues?: boolean; - /** Whether projects are enabled. */ + /** + * @description Whether projects are enabled. + * @default true + * @example true + */ has_projects?: boolean; - /** Whether the wiki is enabled. */ + /** + * @description Whether the wiki is enabled. + * @default true + * @example true + */ has_wiki?: boolean; - /** The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. */ + /** @description The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. */ team_id?: number; - /** Whether the repository is initialized with a minimal README. */ + /** + * @description Whether the repository is initialized with a minimal README. + * @default false + */ auto_init?: boolean; - /** The desired language or platform to apply to the .gitignore. */ + /** + * @description The desired language or platform to apply to the .gitignore. + * @example Haskell + */ gitignore_template?: string; - /** The license keyword of the open source license for this repository. */ + /** + * @description The license keyword of the open source license for this repository. + * @example mit + */ license_template?: string; - /** Whether to allow squash merges for pull requests. */ + /** + * @description Whether to allow squash merges for pull requests. + * @default true + * @example true + */ allow_squash_merge?: boolean; - /** Whether to allow merge commits for pull requests. */ + /** + * @description Whether to allow merge commits for pull requests. + * @default true + * @example true + */ allow_merge_commit?: boolean; - /** Whether to allow rebase merges for pull requests. */ + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + * @example true + */ allow_rebase_merge?: boolean; - /** Whether to delete head branches when pull requests are merged */ + /** + * @description Whether to allow Auto-merge to be used on pull requests. + * @default false + * @example false + */ + allow_auto_merge?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + * @example false + */ delete_branch_on_merge?: boolean; - /** Whether downloads are enabled. */ + /** + * @description Whether downloads are enabled. + * @default true + * @example true + */ has_downloads?: boolean; - /** Whether this repository acts as a template that can be used to generate new repositories. */ + /** + * @description Whether this repository acts as a template that can be used to generate new repositories. + * @default false + * @example true + */ is_template?: boolean; }; }; @@ -28723,14 +46005,14 @@ export interface operations { "repos/list-invitations-for-authenticated-user": { parameters: { query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { @@ -28743,15 +46025,15 @@ export interface operations { 404: components["responses"]["not_found"]; }; }; - "repos/decline-invitation": { + "repos/decline-invitation-for-authenticated-user": { parameters: { path: { - /** invitation_id parameter */ - invitation_id: components["parameters"]["invitation_id"]; + /** The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; 304: components["responses"]["not_modified"]; 403: components["responses"]["forbidden"]; @@ -28759,15 +46041,15 @@ export interface operations { 409: components["responses"]["conflict"]; }; }; - "repos/accept-invitation": { + "repos/accept-invitation-for-authenticated-user": { parameters: { path: { - /** invitation_id parameter */ - invitation_id: components["parameters"]["invitation_id"]; + /** The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; 304: components["responses"]["not_modified"]; 403: components["responses"]["forbidden"]; @@ -28783,18 +46065,18 @@ export interface operations { "activity/list-repos-starred-by-authenticated-user": { parameters: { query: { - /** One of `created` (when the repository was starred) or `updated` (when it was last pushed to). */ + /** The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to. */ sort?: components["parameters"]["sort"]; - /** One of `asc` (ascending) or `desc` (descending). */ + /** The direction to sort the results by. */ direction?: components["parameters"]["direction"]; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { @@ -28810,7 +46092,9 @@ export interface operations { "activity/check-repo-is-starred-by-authenticated-user": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; }; }; @@ -28820,7 +46104,7 @@ export interface operations { 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; - /** Response if this repository is not starred by you */ + /** Not Found if this repository is not starred by you */ 404: { content: { "application/json": components["schemas"]["basic-error"]; @@ -28832,12 +46116,14 @@ export interface operations { "activity/star-repo-for-authenticated-user": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; @@ -28848,12 +46134,14 @@ export interface operations { "activity/unstar-repo-for-authenticated-user": { parameters: { path: { + /** The account owner of the repository. The name is not case sensitive. */ owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ repo: components["parameters"]["repo"]; }; }; responses: { - /** Empty response */ + /** Response */ 204: never; 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; @@ -28865,14 +46153,14 @@ export interface operations { "activity/list-watched-repos-for-authenticated-user": { parameters: { query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { @@ -28888,14 +46176,14 @@ export interface operations { "teams/list-for-authenticated-user": { parameters: { query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { @@ -28917,12 +46205,12 @@ export interface operations { query: { /** A user ID. Only return users with an ID greater than this ID. */ since?: components["parameters"]["since-user"]; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: { Link?: string; @@ -28946,11 +46234,12 @@ export interface operations { "users/get-by-username": { parameters: { path: { + /** The handle for the GitHub user account. */ username: components["parameters"]["username"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { "application/json": @@ -28965,17 +46254,18 @@ export interface operations { "activity/list-events-for-authenticated-user": { parameters: { path: { + /** The handle for the GitHub user account. */ username: components["parameters"]["username"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { "application/json": components["schemas"]["event"][]; @@ -28987,18 +46277,20 @@ export interface operations { "activity/list-org-events-for-authenticated-user": { parameters: { path: { + /** The handle for the GitHub user account. */ username: components["parameters"]["username"]; + /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { "application/json": components["schemas"]["event"][]; @@ -29009,17 +46301,18 @@ export interface operations { "activity/list-public-events-for-user": { parameters: { path: { + /** The handle for the GitHub user account. */ username: components["parameters"]["username"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { "application/json": components["schemas"]["event"][]; @@ -29031,17 +46324,18 @@ export interface operations { "users/list-followers-for-user": { parameters: { path: { + /** The handle for the GitHub user account. */ username: components["parameters"]["username"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { @@ -29054,17 +46348,18 @@ export interface operations { "users/list-following-for-user": { parameters: { path: { + /** The handle for the GitHub user account. */ username: components["parameters"]["username"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { @@ -29076,14 +46371,15 @@ export interface operations { "users/check-following-for-user": { parameters: { path: { + /** The handle for the GitHub user account. */ username: components["parameters"]["username"]; target_user: string; }; }; responses: { - /** Response if the user follows the target user */ + /** if the user follows the target user */ 204: never; - /** Response if the user does not follow the target user */ + /** if the user does not follow the target user */ 404: unknown; }; }; @@ -29091,19 +46387,20 @@ export interface operations { "gists/list-for-user": { parameters: { path: { + /** The handle for the GitHub user account. */ username: components["parameters"]["username"]; }; query: { /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ since?: components["parameters"]["since"]; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { @@ -29117,17 +46414,18 @@ export interface operations { "users/list-gpg-keys-for-user": { parameters: { path: { + /** The handle for the GitHub user account. */ username: components["parameters"]["username"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { @@ -29149,6 +46447,7 @@ export interface operations { "users/get-context-for-user": { parameters: { path: { + /** The handle for the GitHub user account. */ username: components["parameters"]["username"]; }; query: { @@ -29159,7 +46458,7 @@ export interface operations { }; }; responses: { - /** response */ + /** Response */ 200: { content: { "application/json": components["schemas"]["hovercard"]; @@ -29177,11 +46476,12 @@ export interface operations { "apps/get-user-installation": { parameters: { path: { + /** The handle for the GitHub user account. */ username: components["parameters"]["username"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { "application/json": components["schemas"]["installation"]; @@ -29193,17 +46493,18 @@ export interface operations { "users/list-public-keys-for-user": { parameters: { path: { + /** The handle for the GitHub user account. */ username: components["parameters"]["username"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { @@ -29213,24 +46514,25 @@ export interface operations { }; }; /** - * List [public organization memberships](https://help.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user. + * List [public organization memberships](https://docs.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user. * * This method only lists _public_ memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the [List organizations for the authenticated user](https://docs.github.com/rest/reference/orgs#list-organizations-for-the-authenticated-user) API instead. */ "orgs/list-for-user": { parameters: { path: { + /** The handle for the GitHub user account. */ username: components["parameters"]["username"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { @@ -29239,29 +46541,268 @@ export interface operations { }; }; }; + /** + * Lists all packages in a user's namespace for which the requesting user has access. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/list-packages-for-user": { + parameters: { + query: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: + | "npm" + | "maven" + | "rubygems" + | "docker" + | "nuget" + | "container"; + /** The selected visibility of the packages. Only `container` package_types currently support `internal` visibility properly. For other ecosystems `internal` is synonymous with `private`. This parameter is optional and only filters an existing result set. */ + visibility?: components["parameters"]["package-visibility"]; + }; + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Gets a specific package metadata for a public package owned by a user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/get-package-for-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package"]; + }; + }; + }; + }; + /** + * Deletes an entire package for a user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + */ + "packages/delete-package-for-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Restores an entire package for a user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + */ + "packages/restore-package-for-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + query: { + /** package token */ + token?: string; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Returns all package versions for a public package owned by a specified user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/get-all-package-versions-for-package-owned-by-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package-version"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Gets a specific package version for a public package owned by a specified user. + * + * At this time, to use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/get-package-version-for-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package-version"]; + }; + }; + }; + }; + /** + * Deletes a specific package version for a user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + */ + "packages/delete-package-version-for-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Restores a specific package version for a user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + */ + "packages/restore-package-version-for-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; "projects/list-for-user": { parameters: { path: { + /** The handle for the GitHub user account. */ username: components["parameters"]["username"]; }; query: { /** Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. */ state?: "open" | "closed" | "all"; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { "application/json": components["schemas"]["project"][]; }; }; - 415: components["responses"]["preview_header_missing"]; 422: components["responses"]["validation_failed"]; }; }; @@ -29269,17 +46810,18 @@ export interface operations { "activity/list-received-events-for-user": { parameters: { path: { + /** The handle for the GitHub user account. */ username: components["parameters"]["username"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { "application/json": components["schemas"]["event"][]; @@ -29290,17 +46832,18 @@ export interface operations { "activity/list-received-public-events-for-user": { parameters: { path: { + /** The handle for the GitHub user account. */ username: components["parameters"]["username"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { "application/json": components["schemas"]["event"][]; @@ -29308,27 +46851,28 @@ export interface operations { }; }; }; - /** Lists public repositories for the specified user. */ + /** Lists public repositories for the specified user. Note: For GitHub AE, this endpoint will list internal repositories for the specified user. */ "repos/list-for-user": { parameters: { path: { + /** The handle for the GitHub user account. */ username: components["parameters"]["username"]; }; query: { - /** Can be one of `all`, `owner`, `member`. */ + /** Limit results to repositories of the specified type. */ type?: "all" | "owner" | "member"; - /** Can be one of `created`, `updated`, `pushed`, `full_name`. */ + /** The property to sort the results by. */ sort?: "created" | "updated" | "pushed" | "full_name"; - /** Can be one of `asc` or `desc`. Default: `asc` when using `full_name`, otherwise `desc` */ + /** The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ direction?: "asc" | "desc"; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { @@ -29340,18 +46884,19 @@ export interface operations { /** * Gets the summary of the free and paid GitHub Actions minutes used. * - * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". * * Access tokens must have the `user` scope. */ "billing/get-github-actions-billing-user": { parameters: { path: { + /** The handle for the GitHub user account. */ username: components["parameters"]["username"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { "application/json": components["schemas"]["actions-billing-usage"]; @@ -29362,18 +46907,19 @@ export interface operations { /** * Gets the free and paid storage used for GitHub Packages in gigabytes. * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." * * Access tokens must have the `user` scope. */ "billing/get-github-packages-billing-user": { parameters: { path: { + /** The handle for the GitHub user account. */ username: components["parameters"]["username"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { "application/json": components["schemas"]["packages-billing-usage"]; @@ -29382,20 +46928,21 @@ export interface operations { }; }; /** - * Gets the estimated paid and estimated total storage used for GitHub Actions and Github Packages. + * Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." * * Access tokens must have the `user` scope. */ "billing/get-shared-storage-billing-user": { parameters: { path: { + /** The handle for the GitHub user account. */ username: components["parameters"]["username"]; }; }; responses: { - /** response */ + /** Response */ 200: { content: { "application/json": components["schemas"]["combined-billing-usage"]; @@ -29411,26 +46958,29 @@ export interface operations { "activity/list-repos-starred-by-user": { parameters: { path: { + /** The handle for the GitHub user account. */ username: components["parameters"]["username"]; }; query: { - /** One of `created` (when the repository was starred) or `updated` (when it was last pushed to). */ + /** The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to. */ sort?: components["parameters"]["sort"]; - /** One of `asc` (ascending) or `desc` (descending). */ + /** The direction to sort the results by. */ direction?: components["parameters"]["direction"]; - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { - "application/json": components["schemas"]["repository"][]; - "application/vnd.github.v3.star+json": components["schemas"]["starred-repository"][]; + "application/json": Partial< + components["schemas"]["starred-repository"][] + > & + Partial; }; }; }; @@ -29439,17 +46989,18 @@ export interface operations { "activity/list-repos-watched-by-user": { parameters: { path: { + /** The handle for the GitHub user account. */ username: components["parameters"]["username"]; }; query: { - /** Results per page (max 100) */ - per_page?: components["parameters"]["per_page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ page?: components["parameters"]["page"]; }; }; responses: { - /** response */ + /** Response */ 200: { headers: {}; content: { @@ -29461,7 +47012,7 @@ export interface operations { /** Get a random sentence from the Zen of GitHub */ "meta/get-zen": { responses: { - /** response */ + /** Response */ 200: { content: { "text/plain": string; @@ -29469,4 +47020,76 @@ export interface operations { }; }; }; + /** + * **Deprecated**: Use `repos.compareCommitsWithBasehead()` (`GET /repos/{owner}/{repo}/compare/{basehead}`) instead. Both `:base` and `:head` must be branch names in `:repo`. To compare branches across other repositories in the same network as `:repo`, use the format `:branch`. + * + * The response from the API is equivalent to running the `git log base..head` command; however, commits are returned in chronological order. Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + * + * The response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. + * + * **Working with large comparisons** + * + * To process a response with a large number of commits, you can use (`per_page` or `page`) to paginate the results. When using paging, the list of changed files is only returned with page 1, but includes all changed files for the entire comparison. For more information on working with pagination, see "[Traversing with pagination](/rest/guides/traversing-with-pagination)." + * + * When calling this API without any paging parameters (`per_page` or `page`), the returned list is limited to 250 commits and the last commit in the list is the most recent of the entire comparison. When a paging parameter is specified, the first commit in the returned list of each page is the earliest. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "repos/compare-commits": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + base: string; + head: string; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["commit-comparison"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; } + +export interface external {} diff --git a/node_modules/@octokit/plugin-paginate-rest/README.md b/node_modules/@octokit/plugin-paginate-rest/README.md index f73580a..1e3c0ba 100644 --- a/node_modules/@octokit/plugin-paginate-rest/README.md +++ b/node_modules/@octokit/plugin-paginate-rest/README.md @@ -106,7 +106,7 @@ const issues = await octokit.paginate( per_page: 100, }, (response, done) => { - if (response.data.find((issues) => issue.title.includes("something"))) { + if (response.data.find((issue) => issue.title.includes("something"))) { done(); } return response.data; @@ -117,7 +117,7 @@ const issues = await octokit.paginate( Alternatively you can pass a `request` method as first argument. This is great when using in combination with [`@octokit/plugin-rest-endpoint-methods`](https://github.com/octokit/plugin-rest-endpoint-methods.js/): ```js -const issues = await octokit.paginate(octokit.issues.listForRepo, { +const issues = await octokit.paginate(octokit.rest.issues.listForRepo, { owner: "octocat", repo: "hello-world", since: "2010-10-01", @@ -141,7 +141,8 @@ for await (const response of octokit.paginate.iterator( parameters )) { // do whatever you want with each response, break out of the loop, etc. - console.log(response.data.title); + const issues = response.data; + console.log("%d issues found", issues.length); } ``` @@ -155,11 +156,12 @@ const parameters = { per_page: 100, }; for await (const response of octokit.paginate.iterator( - octokit.issues.listForRepo, + octokit.rest.issues.listForRepo, parameters )) { // do whatever you want with each response, break out of the loop, etc. - console.log(response.data.title); + const issues = response.data; + console.log("%d issues found", issues.length); } ``` @@ -183,6 +185,81 @@ Most of GitHub's paginating REST API endpoints return an array, but there are a If a response is lacking the `Link` header, `octokit.paginate()` still resolves with an array, even if the response returns a single object. +## Types + +The plugin also exposes some types and runtime type guards for TypeScript projects. + + + + + + +
+Types + + +```typescript +import { + PaginateInterface, + PaginatingEndpoints, +} from "@octokit/plugin-paginate-rest"; +``` + +
+Guards + + +```typescript +import { isPaginatingEndpoint } from "@octokit/plugin-paginate-rest"; +``` + +
+ +### PaginateInterface + +An `interface` that declares all the overloads of the `.paginate` method. + +### PaginatingEndpoints + +An `interface` which describes all API endpoints supported by the plugin. Some overloads of `.paginate()` method and `composePaginateRest()` function depend on `PaginatingEndpoints`, using the `keyof PaginatingEndpoints` as a type for one of its arguments. + +```typescript +import { Octokit } from "@octokit/core"; +import { + PaginatingEndpoints, + composePaginateRest, +} from "@octokit/plugin-paginate-rest"; + +type DataType = "data" extends keyof T ? T["data"] : unknown; + +async function myPaginatePlugin( + octokit: Octokit, + endpoint: E, + parameters?: PaginatingEndpoints[E]["parameters"] +): Promise> { + return await composePaginateRest(octokit, endpoint, parameters); +} +``` + +### isPaginatingEndpoint + +A type guard, `isPaginatingEndpoint(arg)` returns `true` if `arg` is one of the keys in `PaginatingEndpoints` (is `keyof PaginatingEndpoints`). + +```typescript +import { Octokit } from "@octokit/core"; +import { + isPaginatingEndpoint, + composePaginateRest, +} from "@octokit/plugin-paginate-rest"; + +async function myPlugin(octokit: Octokit, arg: unknown) { + if (isPaginatingEndpoint(arg)) { + return await composePaginateRest(octokit, arg); + } + // ... +} +``` + ## Contributing See [CONTRIBUTING.md](CONTRIBUTING.md) diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js b/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js index 73f2070..d5fc599 100644 --- a/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js +++ b/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js @@ -2,7 +2,48 @@ Object.defineProperty(exports, '__esModule', { value: true }); -const VERSION = "2.9.1"; +const VERSION = "2.21.3"; + +function ownKeys(object, enumerableOnly) { + var keys = Object.keys(object); + + if (Object.getOwnPropertySymbols) { + var symbols = Object.getOwnPropertySymbols(object); + enumerableOnly && (symbols = symbols.filter(function (sym) { + return Object.getOwnPropertyDescriptor(object, sym).enumerable; + })), keys.push.apply(keys, symbols); + } + + return keys; +} + +function _objectSpread2(target) { + for (var i = 1; i < arguments.length; i++) { + var source = null != arguments[i] ? arguments[i] : {}; + i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { + _defineProperty(target, key, source[key]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { + Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); + }); + } + + return target; +} + +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; +} /** * Some “list” response that can be paginated have a different response structure @@ -21,6 +62,13 @@ const VERSION = "2.9.1"; * otherwise match: https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref */ function normalizePaginatedListResponse(response) { + // endpoints can respond with 204 if repository is empty + if (!response.data) { + return _objectSpread2(_objectSpread2({}, response), {}, { + data: [] + }); + } + const responseNeedsNormalization = "total_count" in response.data && !("url" in response.data); if (!responseNeedsNormalization) return response; // keep the additional properties intact as there is currently no other way // to retrieve the same information. @@ -59,19 +107,32 @@ function iterator(octokit, route, parameters) { if (!url) return { done: true }; - const response = await requestMethod({ - method, - url, - headers - }); - const normalizedResponse = normalizePaginatedListResponse(response); // `response.headers.link` format: - // '; rel="next", ; rel="last"' - // sets `url` to undefined if "next" URL is not present or `link` header is not set - - url = ((normalizedResponse.headers.link || "").match(/<([^>]+)>;\s*rel="next"/) || [])[1]; - return { - value: normalizedResponse - }; + + try { + const response = await requestMethod({ + method, + url, + headers + }); + const normalizedResponse = normalizePaginatedListResponse(response); // `response.headers.link` format: + // '; rel="next", ; rel="last"' + // sets `url` to undefined if "next" URL is not present or `link` header is not set + + url = ((normalizedResponse.headers.link || "").match(/<([^>]+)>;\s*rel="next"/) || [])[1]; + return { + value: normalizedResponse + }; + } catch (error) { + if (error.status !== 409) throw error; + url = ""; + return { + value: { + status: 200, + headers: {}, + data: [] + } + }; + } } }) @@ -113,6 +174,16 @@ const composePaginateRest = Object.assign(paginate, { iterator }); +const paginatingEndpoints = ["GET /app/hook/deliveries", "GET /app/installations", "GET /applications/grants", "GET /authorizations", "GET /enterprises/{enterprise}/actions/permissions/organizations", "GET /enterprises/{enterprise}/actions/runner-groups", "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations", "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners", "GET /enterprises/{enterprise}/actions/runners", "GET /enterprises/{enterprise}/audit-log", "GET /enterprises/{enterprise}/secret-scanning/alerts", "GET /enterprises/{enterprise}/settings/billing/advanced-security", "GET /events", "GET /gists", "GET /gists/public", "GET /gists/starred", "GET /gists/{gist_id}/comments", "GET /gists/{gist_id}/commits", "GET /gists/{gist_id}/forks", "GET /installation/repositories", "GET /issues", "GET /licenses", "GET /marketplace_listing/plans", "GET /marketplace_listing/plans/{plan_id}/accounts", "GET /marketplace_listing/stubbed/plans", "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts", "GET /networks/{owner}/{repo}/events", "GET /notifications", "GET /organizations", "GET /orgs/{org}/actions/cache/usage-by-repository", "GET /orgs/{org}/actions/permissions/repositories", "GET /orgs/{org}/actions/runner-groups", "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories", "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners", "GET /orgs/{org}/actions/runners", "GET /orgs/{org}/actions/secrets", "GET /orgs/{org}/actions/secrets/{secret_name}/repositories", "GET /orgs/{org}/audit-log", "GET /orgs/{org}/blocks", "GET /orgs/{org}/code-scanning/alerts", "GET /orgs/{org}/codespaces", "GET /orgs/{org}/credential-authorizations", "GET /orgs/{org}/dependabot/secrets", "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories", "GET /orgs/{org}/events", "GET /orgs/{org}/external-groups", "GET /orgs/{org}/failed_invitations", "GET /orgs/{org}/hooks", "GET /orgs/{org}/hooks/{hook_id}/deliveries", "GET /orgs/{org}/installations", "GET /orgs/{org}/invitations", "GET /orgs/{org}/invitations/{invitation_id}/teams", "GET /orgs/{org}/issues", "GET /orgs/{org}/members", "GET /orgs/{org}/migrations", "GET /orgs/{org}/migrations/{migration_id}/repositories", "GET /orgs/{org}/outside_collaborators", "GET /orgs/{org}/packages", "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", "GET /orgs/{org}/projects", "GET /orgs/{org}/public_members", "GET /orgs/{org}/repos", "GET /orgs/{org}/secret-scanning/alerts", "GET /orgs/{org}/settings/billing/advanced-security", "GET /orgs/{org}/team-sync/groups", "GET /orgs/{org}/teams", "GET /orgs/{org}/teams/{team_slug}/discussions", "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", "GET /orgs/{org}/teams/{team_slug}/invitations", "GET /orgs/{org}/teams/{team_slug}/members", "GET /orgs/{org}/teams/{team_slug}/projects", "GET /orgs/{org}/teams/{team_slug}/repos", "GET /orgs/{org}/teams/{team_slug}/teams", "GET /projects/columns/{column_id}/cards", "GET /projects/{project_id}/collaborators", "GET /projects/{project_id}/columns", "GET /repos/{owner}/{repo}/actions/artifacts", "GET /repos/{owner}/{repo}/actions/caches", "GET /repos/{owner}/{repo}/actions/runners", "GET /repos/{owner}/{repo}/actions/runs", "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs", "GET /repos/{owner}/{repo}/actions/secrets", "GET /repos/{owner}/{repo}/actions/workflows", "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", "GET /repos/{owner}/{repo}/assignees", "GET /repos/{owner}/{repo}/branches", "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", "GET /repos/{owner}/{repo}/code-scanning/alerts", "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", "GET /repos/{owner}/{repo}/code-scanning/analyses", "GET /repos/{owner}/{repo}/codespaces", "GET /repos/{owner}/{repo}/codespaces/devcontainers", "GET /repos/{owner}/{repo}/codespaces/secrets", "GET /repos/{owner}/{repo}/collaborators", "GET /repos/{owner}/{repo}/comments", "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions", "GET /repos/{owner}/{repo}/commits", "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments", "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls", "GET /repos/{owner}/{repo}/commits/{ref}/check-runs", "GET /repos/{owner}/{repo}/commits/{ref}/check-suites", "GET /repos/{owner}/{repo}/commits/{ref}/status", "GET /repos/{owner}/{repo}/commits/{ref}/statuses", "GET /repos/{owner}/{repo}/contributors", "GET /repos/{owner}/{repo}/dependabot/secrets", "GET /repos/{owner}/{repo}/deployments", "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses", "GET /repos/{owner}/{repo}/environments", "GET /repos/{owner}/{repo}/events", "GET /repos/{owner}/{repo}/forks", "GET /repos/{owner}/{repo}/git/matching-refs/{ref}", "GET /repos/{owner}/{repo}/hooks", "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries", "GET /repos/{owner}/{repo}/invitations", "GET /repos/{owner}/{repo}/issues", "GET /repos/{owner}/{repo}/issues/comments", "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", "GET /repos/{owner}/{repo}/issues/events", "GET /repos/{owner}/{repo}/issues/{issue_number}/comments", "GET /repos/{owner}/{repo}/issues/{issue_number}/events", "GET /repos/{owner}/{repo}/issues/{issue_number}/labels", "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions", "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline", "GET /repos/{owner}/{repo}/keys", "GET /repos/{owner}/{repo}/labels", "GET /repos/{owner}/{repo}/milestones", "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels", "GET /repos/{owner}/{repo}/notifications", "GET /repos/{owner}/{repo}/pages/builds", "GET /repos/{owner}/{repo}/projects", "GET /repos/{owner}/{repo}/pulls", "GET /repos/{owner}/{repo}/pulls/comments", "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments", "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits", "GET /repos/{owner}/{repo}/pulls/{pull_number}/files", "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews", "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", "GET /repos/{owner}/{repo}/releases", "GET /repos/{owner}/{repo}/releases/{release_id}/assets", "GET /repos/{owner}/{repo}/releases/{release_id}/reactions", "GET /repos/{owner}/{repo}/secret-scanning/alerts", "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations", "GET /repos/{owner}/{repo}/stargazers", "GET /repos/{owner}/{repo}/subscribers", "GET /repos/{owner}/{repo}/tags", "GET /repos/{owner}/{repo}/teams", "GET /repos/{owner}/{repo}/topics", "GET /repositories", "GET /repositories/{repository_id}/environments/{environment_name}/secrets", "GET /search/code", "GET /search/commits", "GET /search/issues", "GET /search/labels", "GET /search/repositories", "GET /search/topics", "GET /search/users", "GET /teams/{team_id}/discussions", "GET /teams/{team_id}/discussions/{discussion_number}/comments", "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", "GET /teams/{team_id}/discussions/{discussion_number}/reactions", "GET /teams/{team_id}/invitations", "GET /teams/{team_id}/members", "GET /teams/{team_id}/projects", "GET /teams/{team_id}/repos", "GET /teams/{team_id}/teams", "GET /user/blocks", "GET /user/codespaces", "GET /user/codespaces/secrets", "GET /user/emails", "GET /user/followers", "GET /user/following", "GET /user/gpg_keys", "GET /user/installations", "GET /user/installations/{installation_id}/repositories", "GET /user/issues", "GET /user/keys", "GET /user/marketplace_purchases", "GET /user/marketplace_purchases/stubbed", "GET /user/memberships/orgs", "GET /user/migrations", "GET /user/migrations/{migration_id}/repositories", "GET /user/orgs", "GET /user/packages", "GET /user/packages/{package_type}/{package_name}/versions", "GET /user/public_emails", "GET /user/repos", "GET /user/repository_invitations", "GET /user/starred", "GET /user/subscriptions", "GET /user/teams", "GET /users", "GET /users/{username}/events", "GET /users/{username}/events/orgs/{org}", "GET /users/{username}/events/public", "GET /users/{username}/followers", "GET /users/{username}/following", "GET /users/{username}/gists", "GET /users/{username}/gpg_keys", "GET /users/{username}/keys", "GET /users/{username}/orgs", "GET /users/{username}/packages", "GET /users/{username}/projects", "GET /users/{username}/received_events", "GET /users/{username}/received_events/public", "GET /users/{username}/repos", "GET /users/{username}/starred", "GET /users/{username}/subscriptions"]; + +function isPaginatingEndpoint(arg) { + if (typeof arg === "string") { + return paginatingEndpoints.includes(arg); + } else { + return false; + } +} + /** * @param octokit Octokit instance * @param options Options passed to Octokit constructor @@ -128,5 +199,7 @@ function paginateRest(octokit) { paginateRest.VERSION = VERSION; exports.composePaginateRest = composePaginateRest; +exports.isPaginatingEndpoint = isPaginatingEndpoint; exports.paginateRest = paginateRest; +exports.paginatingEndpoints = paginatingEndpoints; //# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js.map b/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js.map index 0f22a28..fb04fff 100644 --- a/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js.map +++ b/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/normalize-paginated-list-response.js","../dist-src/iterator.js","../dist-src/paginate.js","../dist-src/compose-paginate.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"2.9.1\";\n","/**\n * Some “list” response that can be paginated have a different response structure\n *\n * They have a `total_count` key in the response (search also has `incomplete_results`,\n * /installation/repositories also has `repository_selection`), as well as a key with\n * the list of the items which name varies from endpoint to endpoint.\n *\n * Octokit normalizes these responses so that paginated results are always returned following\n * the same structure. One challenge is that if the list response has only one page, no Link\n * header is provided, so this header alone is not sufficient to check wether a response is\n * paginated or not.\n *\n * We check if a \"total_count\" key is present in the response data, but also make sure that\n * a \"url\" property is not, as the \"Get the combined status for a specific ref\" endpoint would\n * otherwise match: https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref\n */\nexport function normalizePaginatedListResponse(response) {\n const responseNeedsNormalization = \"total_count\" in response.data && !(\"url\" in response.data);\n if (!responseNeedsNormalization)\n return response;\n // keep the additional properties intact as there is currently no other way\n // to retrieve the same information.\n const incompleteResults = response.data.incomplete_results;\n const repositorySelection = response.data.repository_selection;\n const totalCount = response.data.total_count;\n delete response.data.incomplete_results;\n delete response.data.repository_selection;\n delete response.data.total_count;\n const namespaceKey = Object.keys(response.data)[0];\n const data = response.data[namespaceKey];\n response.data = data;\n if (typeof incompleteResults !== \"undefined\") {\n response.data.incomplete_results = incompleteResults;\n }\n if (typeof repositorySelection !== \"undefined\") {\n response.data.repository_selection = repositorySelection;\n }\n response.data.total_count = totalCount;\n return response;\n}\n","import { normalizePaginatedListResponse } from \"./normalize-paginated-list-response\";\nexport function iterator(octokit, route, parameters) {\n const options = typeof route === \"function\"\n ? route.endpoint(parameters)\n : octokit.request.endpoint(route, parameters);\n const requestMethod = typeof route === \"function\" ? route : octokit.request;\n const method = options.method;\n const headers = options.headers;\n let url = options.url;\n return {\n [Symbol.asyncIterator]: () => ({\n async next() {\n if (!url)\n return { done: true };\n const response = await requestMethod({ method, url, headers });\n const normalizedResponse = normalizePaginatedListResponse(response);\n // `response.headers.link` format:\n // '; rel=\"next\", ; rel=\"last\"'\n // sets `url` to undefined if \"next\" URL is not present or `link` header is not set\n url = ((normalizedResponse.headers.link || \"\").match(/<([^>]+)>;\\s*rel=\"next\"/) || [])[1];\n return { value: normalizedResponse };\n },\n }),\n };\n}\n","import { iterator } from \"./iterator\";\nexport function paginate(octokit, route, parameters, mapFn) {\n if (typeof parameters === \"function\") {\n mapFn = parameters;\n parameters = undefined;\n }\n return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn);\n}\nfunction gather(octokit, results, iterator, mapFn) {\n return iterator.next().then((result) => {\n if (result.done) {\n return results;\n }\n let earlyExit = false;\n function done() {\n earlyExit = true;\n }\n results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data);\n if (earlyExit) {\n return results;\n }\n return gather(octokit, results, iterator, mapFn);\n });\n}\n","import { paginate } from \"./paginate\";\nimport { iterator } from \"./iterator\";\nexport const composePaginateRest = Object.assign(paginate, {\n iterator,\n});\n","import { VERSION } from \"./version\";\nimport { paginate } from \"./paginate\";\nimport { iterator } from \"./iterator\";\nexport { composePaginateRest } from \"./compose-paginate\";\n/**\n * @param octokit Octokit instance\n * @param options Options passed to Octokit constructor\n */\nexport function paginateRest(octokit) {\n return {\n paginate: Object.assign(paginate.bind(null, octokit), {\n iterator: iterator.bind(null, octokit),\n }),\n };\n}\npaginateRest.VERSION = VERSION;\n"],"names":["VERSION","normalizePaginatedListResponse","response","responseNeedsNormalization","data","incompleteResults","incomplete_results","repositorySelection","repository_selection","totalCount","total_count","namespaceKey","Object","keys","iterator","octokit","route","parameters","options","endpoint","request","requestMethod","method","headers","url","Symbol","asyncIterator","next","done","normalizedResponse","link","match","value","paginate","mapFn","undefined","gather","results","then","result","earlyExit","concat","composePaginateRest","assign","paginateRest","bind"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/normalize-paginated-list-response.js","../dist-src/iterator.js","../dist-src/paginate.js","../dist-src/compose-paginate.js","../dist-src/generated/paginating-endpoints.js","../dist-src/paginating-endpoints.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"2.21.3\";\n","/**\n * Some “list” response that can be paginated have a different response structure\n *\n * They have a `total_count` key in the response (search also has `incomplete_results`,\n * /installation/repositories also has `repository_selection`), as well as a key with\n * the list of the items which name varies from endpoint to endpoint.\n *\n * Octokit normalizes these responses so that paginated results are always returned following\n * the same structure. One challenge is that if the list response has only one page, no Link\n * header is provided, so this header alone is not sufficient to check wether a response is\n * paginated or not.\n *\n * We check if a \"total_count\" key is present in the response data, but also make sure that\n * a \"url\" property is not, as the \"Get the combined status for a specific ref\" endpoint would\n * otherwise match: https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref\n */\nexport function normalizePaginatedListResponse(response) {\n // endpoints can respond with 204 if repository is empty\n if (!response.data) {\n return {\n ...response,\n data: [],\n };\n }\n const responseNeedsNormalization = \"total_count\" in response.data && !(\"url\" in response.data);\n if (!responseNeedsNormalization)\n return response;\n // keep the additional properties intact as there is currently no other way\n // to retrieve the same information.\n const incompleteResults = response.data.incomplete_results;\n const repositorySelection = response.data.repository_selection;\n const totalCount = response.data.total_count;\n delete response.data.incomplete_results;\n delete response.data.repository_selection;\n delete response.data.total_count;\n const namespaceKey = Object.keys(response.data)[0];\n const data = response.data[namespaceKey];\n response.data = data;\n if (typeof incompleteResults !== \"undefined\") {\n response.data.incomplete_results = incompleteResults;\n }\n if (typeof repositorySelection !== \"undefined\") {\n response.data.repository_selection = repositorySelection;\n }\n response.data.total_count = totalCount;\n return response;\n}\n","import { normalizePaginatedListResponse } from \"./normalize-paginated-list-response\";\nexport function iterator(octokit, route, parameters) {\n const options = typeof route === \"function\"\n ? route.endpoint(parameters)\n : octokit.request.endpoint(route, parameters);\n const requestMethod = typeof route === \"function\" ? route : octokit.request;\n const method = options.method;\n const headers = options.headers;\n let url = options.url;\n return {\n [Symbol.asyncIterator]: () => ({\n async next() {\n if (!url)\n return { done: true };\n try {\n const response = await requestMethod({ method, url, headers });\n const normalizedResponse = normalizePaginatedListResponse(response);\n // `response.headers.link` format:\n // '; rel=\"next\", ; rel=\"last\"'\n // sets `url` to undefined if \"next\" URL is not present or `link` header is not set\n url = ((normalizedResponse.headers.link || \"\").match(/<([^>]+)>;\\s*rel=\"next\"/) || [])[1];\n return { value: normalizedResponse };\n }\n catch (error) {\n if (error.status !== 409)\n throw error;\n url = \"\";\n return {\n value: {\n status: 200,\n headers: {},\n data: [],\n },\n };\n }\n },\n }),\n };\n}\n","import { iterator } from \"./iterator\";\nexport function paginate(octokit, route, parameters, mapFn) {\n if (typeof parameters === \"function\") {\n mapFn = parameters;\n parameters = undefined;\n }\n return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn);\n}\nfunction gather(octokit, results, iterator, mapFn) {\n return iterator.next().then((result) => {\n if (result.done) {\n return results;\n }\n let earlyExit = false;\n function done() {\n earlyExit = true;\n }\n results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data);\n if (earlyExit) {\n return results;\n }\n return gather(octokit, results, iterator, mapFn);\n });\n}\n","import { paginate } from \"./paginate\";\nimport { iterator } from \"./iterator\";\nexport const composePaginateRest = Object.assign(paginate, {\n iterator,\n});\n","export const paginatingEndpoints = [\n \"GET /app/hook/deliveries\",\n \"GET /app/installations\",\n \"GET /applications/grants\",\n \"GET /authorizations\",\n \"GET /enterprises/{enterprise}/actions/permissions/organizations\",\n \"GET /enterprises/{enterprise}/actions/runner-groups\",\n \"GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations\",\n \"GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners\",\n \"GET /enterprises/{enterprise}/actions/runners\",\n \"GET /enterprises/{enterprise}/audit-log\",\n \"GET /enterprises/{enterprise}/secret-scanning/alerts\",\n \"GET /enterprises/{enterprise}/settings/billing/advanced-security\",\n \"GET /events\",\n \"GET /gists\",\n \"GET /gists/public\",\n \"GET /gists/starred\",\n \"GET /gists/{gist_id}/comments\",\n \"GET /gists/{gist_id}/commits\",\n \"GET /gists/{gist_id}/forks\",\n \"GET /installation/repositories\",\n \"GET /issues\",\n \"GET /licenses\",\n \"GET /marketplace_listing/plans\",\n \"GET /marketplace_listing/plans/{plan_id}/accounts\",\n \"GET /marketplace_listing/stubbed/plans\",\n \"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\",\n \"GET /networks/{owner}/{repo}/events\",\n \"GET /notifications\",\n \"GET /organizations\",\n \"GET /orgs/{org}/actions/cache/usage-by-repository\",\n \"GET /orgs/{org}/actions/permissions/repositories\",\n \"GET /orgs/{org}/actions/runner-groups\",\n \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories\",\n \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners\",\n \"GET /orgs/{org}/actions/runners\",\n \"GET /orgs/{org}/actions/secrets\",\n \"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\",\n \"GET /orgs/{org}/audit-log\",\n \"GET /orgs/{org}/blocks\",\n \"GET /orgs/{org}/code-scanning/alerts\",\n \"GET /orgs/{org}/codespaces\",\n \"GET /orgs/{org}/credential-authorizations\",\n \"GET /orgs/{org}/dependabot/secrets\",\n \"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories\",\n \"GET /orgs/{org}/events\",\n \"GET /orgs/{org}/external-groups\",\n \"GET /orgs/{org}/failed_invitations\",\n \"GET /orgs/{org}/hooks\",\n \"GET /orgs/{org}/hooks/{hook_id}/deliveries\",\n \"GET /orgs/{org}/installations\",\n \"GET /orgs/{org}/invitations\",\n \"GET /orgs/{org}/invitations/{invitation_id}/teams\",\n \"GET /orgs/{org}/issues\",\n \"GET /orgs/{org}/members\",\n \"GET /orgs/{org}/migrations\",\n \"GET /orgs/{org}/migrations/{migration_id}/repositories\",\n \"GET /orgs/{org}/outside_collaborators\",\n \"GET /orgs/{org}/packages\",\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\",\n \"GET /orgs/{org}/projects\",\n \"GET /orgs/{org}/public_members\",\n \"GET /orgs/{org}/repos\",\n \"GET /orgs/{org}/secret-scanning/alerts\",\n \"GET /orgs/{org}/settings/billing/advanced-security\",\n \"GET /orgs/{org}/team-sync/groups\",\n \"GET /orgs/{org}/teams\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\",\n \"GET /orgs/{org}/teams/{team_slug}/invitations\",\n \"GET /orgs/{org}/teams/{team_slug}/members\",\n \"GET /orgs/{org}/teams/{team_slug}/projects\",\n \"GET /orgs/{org}/teams/{team_slug}/repos\",\n \"GET /orgs/{org}/teams/{team_slug}/teams\",\n \"GET /projects/columns/{column_id}/cards\",\n \"GET /projects/{project_id}/collaborators\",\n \"GET /projects/{project_id}/columns\",\n \"GET /repos/{owner}/{repo}/actions/artifacts\",\n \"GET /repos/{owner}/{repo}/actions/caches\",\n \"GET /repos/{owner}/{repo}/actions/runners\",\n \"GET /repos/{owner}/{repo}/actions/runs\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\",\n \"GET /repos/{owner}/{repo}/actions/secrets\",\n \"GET /repos/{owner}/{repo}/actions/workflows\",\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\",\n \"GET /repos/{owner}/{repo}/assignees\",\n \"GET /repos/{owner}/{repo}/branches\",\n \"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\",\n \"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\",\n \"GET /repos/{owner}/{repo}/code-scanning/alerts\",\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\",\n \"GET /repos/{owner}/{repo}/code-scanning/analyses\",\n \"GET /repos/{owner}/{repo}/codespaces\",\n \"GET /repos/{owner}/{repo}/codespaces/devcontainers\",\n \"GET /repos/{owner}/{repo}/codespaces/secrets\",\n \"GET /repos/{owner}/{repo}/collaborators\",\n \"GET /repos/{owner}/{repo}/comments\",\n \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/commits\",\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\",\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/status\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/statuses\",\n \"GET /repos/{owner}/{repo}/contributors\",\n \"GET /repos/{owner}/{repo}/dependabot/secrets\",\n \"GET /repos/{owner}/{repo}/deployments\",\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\",\n \"GET /repos/{owner}/{repo}/environments\",\n \"GET /repos/{owner}/{repo}/events\",\n \"GET /repos/{owner}/{repo}/forks\",\n \"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\",\n \"GET /repos/{owner}/{repo}/hooks\",\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\",\n \"GET /repos/{owner}/{repo}/invitations\",\n \"GET /repos/{owner}/{repo}/issues\",\n \"GET /repos/{owner}/{repo}/issues/comments\",\n \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/issues/events\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/events\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\",\n \"GET /repos/{owner}/{repo}/keys\",\n \"GET /repos/{owner}/{repo}/labels\",\n \"GET /repos/{owner}/{repo}/milestones\",\n \"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\",\n \"GET /repos/{owner}/{repo}/notifications\",\n \"GET /repos/{owner}/{repo}/pages/builds\",\n \"GET /repos/{owner}/{repo}/projects\",\n \"GET /repos/{owner}/{repo}/pulls\",\n \"GET /repos/{owner}/{repo}/pulls/comments\",\n \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\",\n \"GET /repos/{owner}/{repo}/releases\",\n \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\",\n \"GET /repos/{owner}/{repo}/releases/{release_id}/reactions\",\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts\",\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations\",\n \"GET /repos/{owner}/{repo}/stargazers\",\n \"GET /repos/{owner}/{repo}/subscribers\",\n \"GET /repos/{owner}/{repo}/tags\",\n \"GET /repos/{owner}/{repo}/teams\",\n \"GET /repos/{owner}/{repo}/topics\",\n \"GET /repositories\",\n \"GET /repositories/{repository_id}/environments/{environment_name}/secrets\",\n \"GET /search/code\",\n \"GET /search/commits\",\n \"GET /search/issues\",\n \"GET /search/labels\",\n \"GET /search/repositories\",\n \"GET /search/topics\",\n \"GET /search/users\",\n \"GET /teams/{team_id}/discussions\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/comments\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/reactions\",\n \"GET /teams/{team_id}/invitations\",\n \"GET /teams/{team_id}/members\",\n \"GET /teams/{team_id}/projects\",\n \"GET /teams/{team_id}/repos\",\n \"GET /teams/{team_id}/teams\",\n \"GET /user/blocks\",\n \"GET /user/codespaces\",\n \"GET /user/codespaces/secrets\",\n \"GET /user/emails\",\n \"GET /user/followers\",\n \"GET /user/following\",\n \"GET /user/gpg_keys\",\n \"GET /user/installations\",\n \"GET /user/installations/{installation_id}/repositories\",\n \"GET /user/issues\",\n \"GET /user/keys\",\n \"GET /user/marketplace_purchases\",\n \"GET /user/marketplace_purchases/stubbed\",\n \"GET /user/memberships/orgs\",\n \"GET /user/migrations\",\n \"GET /user/migrations/{migration_id}/repositories\",\n \"GET /user/orgs\",\n \"GET /user/packages\",\n \"GET /user/packages/{package_type}/{package_name}/versions\",\n \"GET /user/public_emails\",\n \"GET /user/repos\",\n \"GET /user/repository_invitations\",\n \"GET /user/starred\",\n \"GET /user/subscriptions\",\n \"GET /user/teams\",\n \"GET /users\",\n \"GET /users/{username}/events\",\n \"GET /users/{username}/events/orgs/{org}\",\n \"GET /users/{username}/events/public\",\n \"GET /users/{username}/followers\",\n \"GET /users/{username}/following\",\n \"GET /users/{username}/gists\",\n \"GET /users/{username}/gpg_keys\",\n \"GET /users/{username}/keys\",\n \"GET /users/{username}/orgs\",\n \"GET /users/{username}/packages\",\n \"GET /users/{username}/projects\",\n \"GET /users/{username}/received_events\",\n \"GET /users/{username}/received_events/public\",\n \"GET /users/{username}/repos\",\n \"GET /users/{username}/starred\",\n \"GET /users/{username}/subscriptions\",\n];\n","import { paginatingEndpoints, } from \"./generated/paginating-endpoints\";\nexport { paginatingEndpoints } from \"./generated/paginating-endpoints\";\nexport function isPaginatingEndpoint(arg) {\n if (typeof arg === \"string\") {\n return paginatingEndpoints.includes(arg);\n }\n else {\n return false;\n }\n}\n","import { VERSION } from \"./version\";\nimport { paginate } from \"./paginate\";\nimport { iterator } from \"./iterator\";\nexport { composePaginateRest } from \"./compose-paginate\";\nexport { isPaginatingEndpoint, paginatingEndpoints, } from \"./paginating-endpoints\";\n/**\n * @param octokit Octokit instance\n * @param options Options passed to Octokit constructor\n */\nexport function paginateRest(octokit) {\n return {\n paginate: Object.assign(paginate.bind(null, octokit), {\n iterator: iterator.bind(null, octokit),\n }),\n };\n}\npaginateRest.VERSION = VERSION;\n"],"names":["VERSION","normalizePaginatedListResponse","response","data","responseNeedsNormalization","incompleteResults","incomplete_results","repositorySelection","repository_selection","totalCount","total_count","namespaceKey","Object","keys","iterator","octokit","route","parameters","options","endpoint","request","requestMethod","method","headers","url","Symbol","asyncIterator","next","done","normalizedResponse","link","match","value","error","status","paginate","mapFn","undefined","gather","results","then","result","earlyExit","concat","composePaginateRest","assign","paginatingEndpoints","isPaginatingEndpoint","arg","includes","paginateRest","bind"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-src/generated/paginating-endpoints.js b/node_modules/@octokit/plugin-paginate-rest/dist-src/generated/paginating-endpoints.js index cb0ff5c..863af10 100644 --- a/node_modules/@octokit/plugin-paginate-rest/dist-src/generated/paginating-endpoints.js +++ b/node_modules/@octokit/plugin-paginate-rest/dist-src/generated/paginating-endpoints.js @@ -1 +1,216 @@ -export {}; +export const paginatingEndpoints = [ + "GET /app/hook/deliveries", + "GET /app/installations", + "GET /applications/grants", + "GET /authorizations", + "GET /enterprises/{enterprise}/actions/permissions/organizations", + "GET /enterprises/{enterprise}/actions/runner-groups", + "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations", + "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners", + "GET /enterprises/{enterprise}/actions/runners", + "GET /enterprises/{enterprise}/audit-log", + "GET /enterprises/{enterprise}/secret-scanning/alerts", + "GET /enterprises/{enterprise}/settings/billing/advanced-security", + "GET /events", + "GET /gists", + "GET /gists/public", + "GET /gists/starred", + "GET /gists/{gist_id}/comments", + "GET /gists/{gist_id}/commits", + "GET /gists/{gist_id}/forks", + "GET /installation/repositories", + "GET /issues", + "GET /licenses", + "GET /marketplace_listing/plans", + "GET /marketplace_listing/plans/{plan_id}/accounts", + "GET /marketplace_listing/stubbed/plans", + "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts", + "GET /networks/{owner}/{repo}/events", + "GET /notifications", + "GET /organizations", + "GET /orgs/{org}/actions/cache/usage-by-repository", + "GET /orgs/{org}/actions/permissions/repositories", + "GET /orgs/{org}/actions/runner-groups", + "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories", + "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners", + "GET /orgs/{org}/actions/runners", + "GET /orgs/{org}/actions/secrets", + "GET /orgs/{org}/actions/secrets/{secret_name}/repositories", + "GET /orgs/{org}/audit-log", + "GET /orgs/{org}/blocks", + "GET /orgs/{org}/code-scanning/alerts", + "GET /orgs/{org}/codespaces", + "GET /orgs/{org}/credential-authorizations", + "GET /orgs/{org}/dependabot/secrets", + "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories", + "GET /orgs/{org}/events", + "GET /orgs/{org}/external-groups", + "GET /orgs/{org}/failed_invitations", + "GET /orgs/{org}/hooks", + "GET /orgs/{org}/hooks/{hook_id}/deliveries", + "GET /orgs/{org}/installations", + "GET /orgs/{org}/invitations", + "GET /orgs/{org}/invitations/{invitation_id}/teams", + "GET /orgs/{org}/issues", + "GET /orgs/{org}/members", + "GET /orgs/{org}/migrations", + "GET /orgs/{org}/migrations/{migration_id}/repositories", + "GET /orgs/{org}/outside_collaborators", + "GET /orgs/{org}/packages", + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", + "GET /orgs/{org}/projects", + "GET /orgs/{org}/public_members", + "GET /orgs/{org}/repos", + "GET /orgs/{org}/secret-scanning/alerts", + "GET /orgs/{org}/settings/billing/advanced-security", + "GET /orgs/{org}/team-sync/groups", + "GET /orgs/{org}/teams", + "GET /orgs/{org}/teams/{team_slug}/discussions", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", + "GET /orgs/{org}/teams/{team_slug}/invitations", + "GET /orgs/{org}/teams/{team_slug}/members", + "GET /orgs/{org}/teams/{team_slug}/projects", + "GET /orgs/{org}/teams/{team_slug}/repos", + "GET /orgs/{org}/teams/{team_slug}/teams", + "GET /projects/columns/{column_id}/cards", + "GET /projects/{project_id}/collaborators", + "GET /projects/{project_id}/columns", + "GET /repos/{owner}/{repo}/actions/artifacts", + "GET /repos/{owner}/{repo}/actions/caches", + "GET /repos/{owner}/{repo}/actions/runners", + "GET /repos/{owner}/{repo}/actions/runs", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs", + "GET /repos/{owner}/{repo}/actions/secrets", + "GET /repos/{owner}/{repo}/actions/workflows", + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", + "GET /repos/{owner}/{repo}/assignees", + "GET /repos/{owner}/{repo}/branches", + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", + "GET /repos/{owner}/{repo}/code-scanning/alerts", + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", + "GET /repos/{owner}/{repo}/code-scanning/analyses", + "GET /repos/{owner}/{repo}/codespaces", + "GET /repos/{owner}/{repo}/codespaces/devcontainers", + "GET /repos/{owner}/{repo}/codespaces/secrets", + "GET /repos/{owner}/{repo}/collaborators", + "GET /repos/{owner}/{repo}/comments", + "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/commits", + "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments", + "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls", + "GET /repos/{owner}/{repo}/commits/{ref}/check-runs", + "GET /repos/{owner}/{repo}/commits/{ref}/check-suites", + "GET /repos/{owner}/{repo}/commits/{ref}/status", + "GET /repos/{owner}/{repo}/commits/{ref}/statuses", + "GET /repos/{owner}/{repo}/contributors", + "GET /repos/{owner}/{repo}/dependabot/secrets", + "GET /repos/{owner}/{repo}/deployments", + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses", + "GET /repos/{owner}/{repo}/environments", + "GET /repos/{owner}/{repo}/events", + "GET /repos/{owner}/{repo}/forks", + "GET /repos/{owner}/{repo}/git/matching-refs/{ref}", + "GET /repos/{owner}/{repo}/hooks", + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries", + "GET /repos/{owner}/{repo}/invitations", + "GET /repos/{owner}/{repo}/issues", + "GET /repos/{owner}/{repo}/issues/comments", + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/issues/events", + "GET /repos/{owner}/{repo}/issues/{issue_number}/comments", + "GET /repos/{owner}/{repo}/issues/{issue_number}/events", + "GET /repos/{owner}/{repo}/issues/{issue_number}/labels", + "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions", + "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline", + "GET /repos/{owner}/{repo}/keys", + "GET /repos/{owner}/{repo}/labels", + "GET /repos/{owner}/{repo}/milestones", + "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels", + "GET /repos/{owner}/{repo}/notifications", + "GET /repos/{owner}/{repo}/pages/builds", + "GET /repos/{owner}/{repo}/projects", + "GET /repos/{owner}/{repo}/pulls", + "GET /repos/{owner}/{repo}/pulls/comments", + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/files", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", + "GET /repos/{owner}/{repo}/releases", + "GET /repos/{owner}/{repo}/releases/{release_id}/assets", + "GET /repos/{owner}/{repo}/releases/{release_id}/reactions", + "GET /repos/{owner}/{repo}/secret-scanning/alerts", + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations", + "GET /repos/{owner}/{repo}/stargazers", + "GET /repos/{owner}/{repo}/subscribers", + "GET /repos/{owner}/{repo}/tags", + "GET /repos/{owner}/{repo}/teams", + "GET /repos/{owner}/{repo}/topics", + "GET /repositories", + "GET /repositories/{repository_id}/environments/{environment_name}/secrets", + "GET /search/code", + "GET /search/commits", + "GET /search/issues", + "GET /search/labels", + "GET /search/repositories", + "GET /search/topics", + "GET /search/users", + "GET /teams/{team_id}/discussions", + "GET /teams/{team_id}/discussions/{discussion_number}/comments", + "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", + "GET /teams/{team_id}/discussions/{discussion_number}/reactions", + "GET /teams/{team_id}/invitations", + "GET /teams/{team_id}/members", + "GET /teams/{team_id}/projects", + "GET /teams/{team_id}/repos", + "GET /teams/{team_id}/teams", + "GET /user/blocks", + "GET /user/codespaces", + "GET /user/codespaces/secrets", + "GET /user/emails", + "GET /user/followers", + "GET /user/following", + "GET /user/gpg_keys", + "GET /user/installations", + "GET /user/installations/{installation_id}/repositories", + "GET /user/issues", + "GET /user/keys", + "GET /user/marketplace_purchases", + "GET /user/marketplace_purchases/stubbed", + "GET /user/memberships/orgs", + "GET /user/migrations", + "GET /user/migrations/{migration_id}/repositories", + "GET /user/orgs", + "GET /user/packages", + "GET /user/packages/{package_type}/{package_name}/versions", + "GET /user/public_emails", + "GET /user/repos", + "GET /user/repository_invitations", + "GET /user/starred", + "GET /user/subscriptions", + "GET /user/teams", + "GET /users", + "GET /users/{username}/events", + "GET /users/{username}/events/orgs/{org}", + "GET /users/{username}/events/public", + "GET /users/{username}/followers", + "GET /users/{username}/following", + "GET /users/{username}/gists", + "GET /users/{username}/gpg_keys", + "GET /users/{username}/keys", + "GET /users/{username}/orgs", + "GET /users/{username}/packages", + "GET /users/{username}/projects", + "GET /users/{username}/received_events", + "GET /users/{username}/received_events/public", + "GET /users/{username}/repos", + "GET /users/{username}/starred", + "GET /users/{username}/subscriptions", +]; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-src/index.js b/node_modules/@octokit/plugin-paginate-rest/dist-src/index.js index b207803..5ba74de 100644 --- a/node_modules/@octokit/plugin-paginate-rest/dist-src/index.js +++ b/node_modules/@octokit/plugin-paginate-rest/dist-src/index.js @@ -2,6 +2,7 @@ import { VERSION } from "./version"; import { paginate } from "./paginate"; import { iterator } from "./iterator"; export { composePaginateRest } from "./compose-paginate"; +export { isPaginatingEndpoint, paginatingEndpoints, } from "./paginating-endpoints"; /** * @param octokit Octokit instance * @param options Options passed to Octokit constructor diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-src/iterator.js b/node_modules/@octokit/plugin-paginate-rest/dist-src/iterator.js index 14684db..7f9ee64 100644 --- a/node_modules/@octokit/plugin-paginate-rest/dist-src/iterator.js +++ b/node_modules/@octokit/plugin-paginate-rest/dist-src/iterator.js @@ -12,13 +12,27 @@ export function iterator(octokit, route, parameters) { async next() { if (!url) return { done: true }; - const response = await requestMethod({ method, url, headers }); - const normalizedResponse = normalizePaginatedListResponse(response); - // `response.headers.link` format: - // '; rel="next", ; rel="last"' - // sets `url` to undefined if "next" URL is not present or `link` header is not set - url = ((normalizedResponse.headers.link || "").match(/<([^>]+)>;\s*rel="next"/) || [])[1]; - return { value: normalizedResponse }; + try { + const response = await requestMethod({ method, url, headers }); + const normalizedResponse = normalizePaginatedListResponse(response); + // `response.headers.link` format: + // '; rel="next", ; rel="last"' + // sets `url` to undefined if "next" URL is not present or `link` header is not set + url = ((normalizedResponse.headers.link || "").match(/<([^>]+)>;\s*rel="next"/) || [])[1]; + return { value: normalizedResponse }; + } + catch (error) { + if (error.status !== 409) + throw error; + url = ""; + return { + value: { + status: 200, + headers: {}, + data: [], + }, + }; + } }, }), }; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-src/normalize-paginated-list-response.js b/node_modules/@octokit/plugin-paginate-rest/dist-src/normalize-paginated-list-response.js index d29c677..a87028b 100644 --- a/node_modules/@octokit/plugin-paginate-rest/dist-src/normalize-paginated-list-response.js +++ b/node_modules/@octokit/plugin-paginate-rest/dist-src/normalize-paginated-list-response.js @@ -15,6 +15,13 @@ * otherwise match: https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref */ export function normalizePaginatedListResponse(response) { + // endpoints can respond with 204 if repository is empty + if (!response.data) { + return { + ...response, + data: [], + }; + } const responseNeedsNormalization = "total_count" in response.data && !("url" in response.data); if (!responseNeedsNormalization) return response; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-src/paginating-endpoints.js b/node_modules/@octokit/plugin-paginate-rest/dist-src/paginating-endpoints.js new file mode 100644 index 0000000..1e52899 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-src/paginating-endpoints.js @@ -0,0 +1,10 @@ +import { paginatingEndpoints, } from "./generated/paginating-endpoints"; +export { paginatingEndpoints } from "./generated/paginating-endpoints"; +export function isPaginatingEndpoint(arg) { + if (typeof arg === "string") { + return paginatingEndpoints.includes(arg); + } + else { + return false; + } +} diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-src/version.js b/node_modules/@octokit/plugin-paginate-rest/dist-src/version.js index 6eb8096..af4553e 100644 --- a/node_modules/@octokit/plugin-paginate-rest/dist-src/version.js +++ b/node_modules/@octokit/plugin-paginate-rest/dist-src/version.js @@ -1 +1 @@ -export const VERSION = "2.9.1"; +export const VERSION = "2.21.3"; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-types/generated/paginating-endpoints.d.ts b/node_modules/@octokit/plugin-paginate-rest/dist-types/generated/paginating-endpoints.d.ts index d3f1264..4882d94 100644 --- a/node_modules/@octokit/plugin-paginate-rest/dist-types/generated/paginating-endpoints.d.ts +++ b/node_modules/@octokit/plugin-paginate-rest/dist-types/generated/paginating-endpoints.d.ts @@ -1,7 +1,14 @@ import { Endpoints } from "@octokit/types"; export interface PaginatingEndpoints { /** - * @see https://docs.github.com/v3/apps/#list-installations-for-the-authenticated-app + * @see https://docs.github.com/rest/reference/apps#list-deliveries-for-an-app-webhook + */ + "GET /app/hook/deliveries": { + parameters: Endpoints["GET /app/hook/deliveries"]["parameters"]; + response: Endpoints["GET /app/hook/deliveries"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/apps#list-installations-for-the-authenticated-app */ "GET /app/installations": { parameters: Endpoints["GET /app/installations"]["parameters"]; @@ -22,7 +29,7 @@ export interface PaginatingEndpoints { response: Endpoints["GET /authorizations"]["response"]; }; /** - * @see https://docs.github.com/rest/reference/enterprise-admin#list-selected-organizations-enabled-for-github-actions-in-an-enterprise + * @see https://docs.github.com/rest/reference/actions#list-selected-organizations-enabled-for-github-actions-in-an-enterprise */ "GET /enterprises/{enterprise}/actions/permissions/organizations": { parameters: Endpoints["GET /enterprises/{enterprise}/actions/permissions/organizations"]["parameters"]; @@ -31,7 +38,7 @@ export interface PaginatingEndpoints { }; }; /** - * @see https://docs.github.com/rest/reference/enterprise-admin#list-self-hosted-runner-groups-for-an-enterprise + * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runner-groups-for-an-enterprise */ "GET /enterprises/{enterprise}/actions/runner-groups": { parameters: Endpoints["GET /enterprises/{enterprise}/actions/runner-groups"]["parameters"]; @@ -40,7 +47,7 @@ export interface PaginatingEndpoints { }; }; /** - * @see https://docs.github.com/rest/reference/enterprise-admin#list-organization-access-to-a-self-hosted-runner-group-in-a-enterprise + * @see https://docs.github.com/rest/reference/actions#list-organization-access-to-a-self-hosted-runner-group-in-a-enterprise */ "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations": { parameters: Endpoints["GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations"]["parameters"]; @@ -49,7 +56,7 @@ export interface PaginatingEndpoints { }; }; /** - * @see https://docs.github.com/rest/reference/enterprise-admin#list-self-hosted-runners-in-a-group-for-an-enterprise + * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runners-in-a-group-for-an-enterprise */ "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners": { parameters: Endpoints["GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners"]["parameters"]; @@ -58,7 +65,7 @@ export interface PaginatingEndpoints { }; }; /** - * @see https://docs.github.com/rest/reference/enterprise-admin#list-self-hosted-runners-for-an-enterprise + * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runners-for-an-enterprise */ "GET /enterprises/{enterprise}/actions/runners": { parameters: Endpoints["GET /enterprises/{enterprise}/actions/runners"]["parameters"]; @@ -67,11 +74,27 @@ export interface PaginatingEndpoints { }; }; /** - * @see https://docs.github.com/rest/reference/enterprise-admin#list-runner-applications-for-an-enterprise + * @see https://docs.github.com/rest/reference/enterprise-admin#get-the-audit-log-for-an-enterprise + */ + "GET /enterprises/{enterprise}/audit-log": { + parameters: Endpoints["GET /enterprises/{enterprise}/audit-log"]["parameters"]; + response: Endpoints["GET /enterprises/{enterprise}/audit-log"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/secret-scanning#list-secret-scanning-alerts-for-an-enterprise + */ + "GET /enterprises/{enterprise}/secret-scanning/alerts": { + parameters: Endpoints["GET /enterprises/{enterprise}/secret-scanning/alerts"]["parameters"]; + response: Endpoints["GET /enterprises/{enterprise}/secret-scanning/alerts"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/billing#export-advanced-security-active-committers-data-for-enterprise */ - "GET /enterprises/{enterprise}/actions/runners/downloads": { - parameters: Endpoints["GET /enterprises/{enterprise}/actions/runners/downloads"]["parameters"]; - response: Endpoints["GET /enterprises/{enterprise}/actions/runners/downloads"]["response"]; + "GET /enterprises/{enterprise}/settings/billing/advanced-security": { + parameters: Endpoints["GET /enterprises/{enterprise}/settings/billing/advanced-security"]["parameters"]; + response: Endpoints["GET /enterprises/{enterprise}/settings/billing/advanced-security"]["response"] & { + data: Endpoints["GET /enterprises/{enterprise}/settings/billing/advanced-security"]["response"]["data"]["repositories"]; + }; }; /** * @see https://docs.github.com/rest/reference/activity#list-public-events @@ -81,21 +104,21 @@ export interface PaginatingEndpoints { response: Endpoints["GET /events"]["response"]; }; /** - * @see https://docs.github.com/v3/gists/#list-gists-for-the-authenticated-user + * @see https://docs.github.com/rest/reference/gists#list-gists-for-the-authenticated-user */ "GET /gists": { parameters: Endpoints["GET /gists"]["parameters"]; response: Endpoints["GET /gists"]["response"]; }; /** - * @see https://docs.github.com/v3/gists/#list-public-gists + * @see https://docs.github.com/rest/reference/gists#list-public-gists */ "GET /gists/public": { parameters: Endpoints["GET /gists/public"]["parameters"]; response: Endpoints["GET /gists/public"]["response"]; }; /** - * @see https://docs.github.com/v3/gists/#list-starred-gists + * @see https://docs.github.com/rest/reference/gists#list-starred-gists */ "GET /gists/starred": { parameters: Endpoints["GET /gists/starred"]["parameters"]; @@ -109,14 +132,14 @@ export interface PaginatingEndpoints { response: Endpoints["GET /gists/{gist_id}/comments"]["response"]; }; /** - * @see https://docs.github.com/v3/gists/#list-gist-commits + * @see https://docs.github.com/rest/reference/gists#list-gist-commits */ "GET /gists/{gist_id}/commits": { parameters: Endpoints["GET /gists/{gist_id}/commits"]["parameters"]; response: Endpoints["GET /gists/{gist_id}/commits"]["response"]; }; /** - * @see https://docs.github.com/v3/gists/#list-gist-forks + * @see https://docs.github.com/rest/reference/gists#list-gist-forks */ "GET /gists/{gist_id}/forks": { parameters: Endpoints["GET /gists/{gist_id}/forks"]["parameters"]; @@ -132,12 +155,19 @@ export interface PaginatingEndpoints { }; }; /** - * @see https://docs.github.com/v3/issues/#list-issues-assigned-to-the-authenticated-user + * @see https://docs.github.com/rest/reference/issues#list-issues-assigned-to-the-authenticated-user */ "GET /issues": { parameters: Endpoints["GET /issues"]["parameters"]; response: Endpoints["GET /issues"]["response"]; }; + /** + * @see https://docs.github.com/rest/reference/licenses#get-all-commonly-used-licenses + */ + "GET /licenses": { + parameters: Endpoints["GET /licenses"]["parameters"]; + response: Endpoints["GET /licenses"]["response"]; + }; /** * @see https://docs.github.com/rest/reference/apps#list-plans */ @@ -181,12 +211,21 @@ export interface PaginatingEndpoints { response: Endpoints["GET /notifications"]["response"]; }; /** - * @see https://docs.github.com/v3/orgs/#list-organizations + * @see https://docs.github.com/rest/reference/orgs#list-organizations */ "GET /organizations": { parameters: Endpoints["GET /organizations"]["parameters"]; response: Endpoints["GET /organizations"]["response"]; }; + /** + * @see https://docs.github.com/rest/reference/actions#list-repositories-with-github-actions-cache-usage-for-an-organization + */ + "GET /orgs/{org}/actions/cache/usage-by-repository": { + parameters: Endpoints["GET /orgs/{org}/actions/cache/usage-by-repository"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/cache/usage-by-repository"]["response"] & { + data: Endpoints["GET /orgs/{org}/actions/cache/usage-by-repository"]["response"]["data"]["repository_cache_usages"]; + }; + }; /** * @see https://docs.github.com/rest/reference/actions#list-selected-repositories-enabled-for-github-actions-in-an-organization */ @@ -232,13 +271,6 @@ export interface PaginatingEndpoints { data: Endpoints["GET /orgs/{org}/actions/runners"]["response"]["data"]["runners"]; }; }; - /** - * @see https://docs.github.com/rest/reference/actions#list-runner-applications-for-an-organization - */ - "GET /orgs/{org}/actions/runners/downloads": { - parameters: Endpoints["GET /orgs/{org}/actions/runners/downloads"]["parameters"]; - response: Endpoints["GET /orgs/{org}/actions/runners/downloads"]["response"]; - }; /** * @see https://docs.github.com/rest/reference/actions#list-organization-secrets */ @@ -257,6 +289,13 @@ export interface PaginatingEndpoints { data: Endpoints["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"]["response"]["data"]["repositories"]; }; }; + /** + * @see https://docs.github.com/rest/reference/orgs#get-audit-log + */ + "GET /orgs/{org}/audit-log": { + parameters: Endpoints["GET /orgs/{org}/audit-log"]["parameters"]; + response: Endpoints["GET /orgs/{org}/audit-log"]["response"]; + }; /** * @see https://docs.github.com/rest/reference/orgs#list-users-blocked-by-an-organization */ @@ -265,12 +304,46 @@ export interface PaginatingEndpoints { response: Endpoints["GET /orgs/{org}/blocks"]["response"]; }; /** - * @see https://docs.github.com/v3/orgs/#list-saml-sso-authorizations-for-an-organization + * @see https://docs.github.com/rest/reference/code-scanning#list-code-scanning-alerts-by-organization + */ + "GET /orgs/{org}/code-scanning/alerts": { + parameters: Endpoints["GET /orgs/{org}/code-scanning/alerts"]["parameters"]; + response: Endpoints["GET /orgs/{org}/code-scanning/alerts"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-in-organization + */ + "GET /orgs/{org}/codespaces": { + parameters: Endpoints["GET /orgs/{org}/codespaces"]["parameters"]; + response: Endpoints["GET /orgs/{org}/codespaces"]["response"] & { + data: Endpoints["GET /orgs/{org}/codespaces"]["response"]["data"]["codespaces"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/orgs#list-saml-sso-authorizations-for-an-organization */ "GET /orgs/{org}/credential-authorizations": { parameters: Endpoints["GET /orgs/{org}/credential-authorizations"]["parameters"]; response: Endpoints["GET /orgs/{org}/credential-authorizations"]["response"]; }; + /** + * @see https://docs.github.com/rest/reference/dependabot#list-organization-secrets + */ + "GET /orgs/{org}/dependabot/secrets": { + parameters: Endpoints["GET /orgs/{org}/dependabot/secrets"]["parameters"]; + response: Endpoints["GET /orgs/{org}/dependabot/secrets"]["response"] & { + data: Endpoints["GET /orgs/{org}/dependabot/secrets"]["response"]["data"]["secrets"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/dependabot#list-selected-repositories-for-an-organization-secret + */ + "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories": { + parameters: Endpoints["GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"]["response"] & { + data: Endpoints["GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"]["response"]["data"]["repositories"]; + }; + }; /** * @see https://docs.github.com/rest/reference/activity#list-public-organization-events */ @@ -278,6 +351,15 @@ export interface PaginatingEndpoints { parameters: Endpoints["GET /orgs/{org}/events"]["parameters"]; response: Endpoints["GET /orgs/{org}/events"]["response"]; }; + /** + * @see https://docs.github.com/rest/reference/teams#list-external-idp-groups-for-an-organization + */ + "GET /orgs/{org}/external-groups": { + parameters: Endpoints["GET /orgs/{org}/external-groups"]["parameters"]; + response: Endpoints["GET /orgs/{org}/external-groups"]["response"] & { + data: Endpoints["GET /orgs/{org}/external-groups"]["response"]["data"]["groups"]; + }; + }; /** * @see https://docs.github.com/rest/reference/orgs#list-failed-organization-invitations */ @@ -293,7 +375,14 @@ export interface PaginatingEndpoints { response: Endpoints["GET /orgs/{org}/hooks"]["response"]; }; /** - * @see https://docs.github.com/v3/orgs/#list-app-installations-for-an-organization + * @see https://docs.github.com/rest/reference/orgs#list-deliveries-for-an-organization-webhook + */ + "GET /orgs/{org}/hooks/{hook_id}/deliveries": { + parameters: Endpoints["GET /orgs/{org}/hooks/{hook_id}/deliveries"]["parameters"]; + response: Endpoints["GET /orgs/{org}/hooks/{hook_id}/deliveries"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/orgs#list-app-installations-for-an-organization */ "GET /orgs/{org}/installations": { parameters: Endpoints["GET /orgs/{org}/installations"]["parameters"]; @@ -316,7 +405,7 @@ export interface PaginatingEndpoints { response: Endpoints["GET /orgs/{org}/invitations/{invitation_id}/teams"]["response"]; }; /** - * @see https://docs.github.com/v3/issues/#list-organization-issues-assigned-to-the-authenticated-user + * @see https://docs.github.com/rest/reference/issues#list-organization-issues-assigned-to-the-authenticated-user */ "GET /orgs/{org}/issues": { parameters: Endpoints["GET /orgs/{org}/issues"]["parameters"]; @@ -351,7 +440,21 @@ export interface PaginatingEndpoints { response: Endpoints["GET /orgs/{org}/outside_collaborators"]["response"]; }; /** - * @see https://docs.github.com/v3/projects/#list-organization-projects + * @see https://docs.github.com/rest/reference/packages#list-packages-for-an-organization + */ + "GET /orgs/{org}/packages": { + parameters: Endpoints["GET /orgs/{org}/packages"]["parameters"]; + response: Endpoints["GET /orgs/{org}/packages"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/packages#get-all-package-versions-for-a-package-owned-by-an-organization + */ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions": { + parameters: Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"]["parameters"]; + response: Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/projects#list-organization-projects */ "GET /orgs/{org}/projects": { parameters: Endpoints["GET /orgs/{org}/projects"]["parameters"]; @@ -365,12 +468,28 @@ export interface PaginatingEndpoints { response: Endpoints["GET /orgs/{org}/public_members"]["response"]; }; /** - * @see https://docs.github.com/v3/repos/#list-organization-repositories + * @see https://docs.github.com/rest/reference/repos#list-organization-repositories */ "GET /orgs/{org}/repos": { parameters: Endpoints["GET /orgs/{org}/repos"]["parameters"]; response: Endpoints["GET /orgs/{org}/repos"]["response"]; }; + /** + * @see https://docs.github.com/rest/reference/secret-scanning#list-secret-scanning-alerts-for-an-organization + */ + "GET /orgs/{org}/secret-scanning/alerts": { + parameters: Endpoints["GET /orgs/{org}/secret-scanning/alerts"]["parameters"]; + response: Endpoints["GET /orgs/{org}/secret-scanning/alerts"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/billing#get-github-advanced-security-active-committers-for-an-organization + */ + "GET /orgs/{org}/settings/billing/advanced-security": { + parameters: Endpoints["GET /orgs/{org}/settings/billing/advanced-security"]["parameters"]; + response: Endpoints["GET /orgs/{org}/settings/billing/advanced-security"]["response"] & { + data: Endpoints["GET /orgs/{org}/settings/billing/advanced-security"]["response"]["data"]["repositories"]; + }; + }; /** * @see https://docs.github.com/rest/reference/teams#list-idp-groups-for-an-organization */ @@ -381,7 +500,7 @@ export interface PaginatingEndpoints { }; }; /** - * @see https://docs.github.com/v3/teams/#list-teams + * @see https://docs.github.com/rest/reference/teams#list-teams */ "GET /orgs/{org}/teams": { parameters: Endpoints["GET /orgs/{org}/teams"]["parameters"]; @@ -402,14 +521,14 @@ export interface PaginatingEndpoints { response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"]["response"]; }; /** - * @see https://docs.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion-comment */ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": { parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"]["parameters"]; response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"]["response"]; }; /** - * @see https://docs.github.com/v3/reactions/#list-reactions-for-a-team-discussion + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion */ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": { parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"]["parameters"]; @@ -430,30 +549,21 @@ export interface PaginatingEndpoints { response: Endpoints["GET /orgs/{org}/teams/{team_slug}/members"]["response"]; }; /** - * @see https://docs.github.com/v3/teams/#list-team-projects + * @see https://docs.github.com/rest/reference/teams#list-team-projects */ "GET /orgs/{org}/teams/{team_slug}/projects": { parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/projects"]["parameters"]; response: Endpoints["GET /orgs/{org}/teams/{team_slug}/projects"]["response"]; }; /** - * @see https://docs.github.com/v3/teams/#list-team-repositories + * @see https://docs.github.com/rest/reference/teams#list-team-repositories */ "GET /orgs/{org}/teams/{team_slug}/repos": { parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/repos"]["parameters"]; response: Endpoints["GET /orgs/{org}/teams/{team_slug}/repos"]["response"]; }; /** - * @see https://docs.github.com/rest/reference/teams#list-idp-groups-for-a-team - */ - "GET /orgs/{org}/teams/{team_slug}/team-sync/group-mappings": { - parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/team-sync/group-mappings"]["parameters"]; - response: Endpoints["GET /orgs/{org}/teams/{team_slug}/team-sync/group-mappings"]["response"] & { - data: Endpoints["GET /orgs/{org}/teams/{team_slug}/team-sync/group-mappings"]["response"]["data"]["groups"]; - }; - }; - /** - * @see https://docs.github.com/v3/teams/#list-child-teams + * @see https://docs.github.com/rest/reference/teams#list-child-teams */ "GET /orgs/{org}/teams/{team_slug}/teams": { parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/teams"]["parameters"]; @@ -489,6 +599,15 @@ export interface PaginatingEndpoints { data: Endpoints["GET /repos/{owner}/{repo}/actions/artifacts"]["response"]["data"]["artifacts"]; }; }; + /** + * @see https://docs.github.com/rest/actions/cache#list-github-actions-caches-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/caches": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/caches"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/caches"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/caches"]["response"]["data"]["actions_caches"]; + }; + }; /** * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runners-for-a-repository */ @@ -498,13 +617,6 @@ export interface PaginatingEndpoints { data: Endpoints["GET /repos/{owner}/{repo}/actions/runners"]["response"]["data"]["runners"]; }; }; - /** - * @see https://docs.github.com/rest/reference/actions#list-runner-applications-for-a-repository - */ - "GET /repos/{owner}/{repo}/actions/runners/downloads": { - parameters: Endpoints["GET /repos/{owner}/{repo}/actions/runners/downloads"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/actions/runners/downloads"]["response"]; - }; /** * @see https://docs.github.com/rest/reference/actions#list-workflow-runs-for-a-repository */ @@ -523,6 +635,15 @@ export interface PaginatingEndpoints { data: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"]["response"]["data"]["artifacts"]; }; }; + /** + * @see https://docs.github.com/rest/reference/actions#list-jobs-for-a-workflow-run-attempt + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"]["response"]["data"]["jobs"]; + }; + }; /** * @see https://docs.github.com/rest/reference/actions#list-jobs-for-a-workflow-run */ @@ -590,19 +711,53 @@ export interface PaginatingEndpoints { }; }; /** - * @see https://docs.github.com/v3/code-scanning/#list-code-scanning-alerts-for-a-repository + * @see https://docs.github.com/rest/reference/code-scanning#list-code-scanning-alerts-for-a-repository */ "GET /repos/{owner}/{repo}/code-scanning/alerts": { parameters: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts"]["parameters"]; response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts"]["response"]; }; /** - * @see https://docs.github.com/v3/code-scanning/#list-recent-analyses + * @see https://docs.github.com/rest/reference/code-scanning#list-instances-of-a-code-scanning-alert + */ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances": { + parameters: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/code-scanning#list-code-scanning-analyses-for-a-repository */ "GET /repos/{owner}/{repo}/code-scanning/analyses": { parameters: Endpoints["GET /repos/{owner}/{repo}/code-scanning/analyses"]["parameters"]; response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/analyses"]["response"]; }; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-codespaces-in-a-repository-for-the-authenticated-user + */ + "GET /repos/{owner}/{repo}/codespaces": { + parameters: Endpoints["GET /repos/{owner}/{repo}/codespaces"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/codespaces"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/codespaces"]["response"]["data"]["codespaces"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-devcontainers-in-a-repository-for-the-authenticated-user + */ + "GET /repos/{owner}/{repo}/codespaces/devcontainers": { + parameters: Endpoints["GET /repos/{owner}/{repo}/codespaces/devcontainers"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/codespaces/devcontainers"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/codespaces/devcontainers"]["response"]["data"]["devcontainers"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-repository-secrets + */ + "GET /repos/{owner}/{repo}/codespaces/secrets": { + parameters: Endpoints["GET /repos/{owner}/{repo}/codespaces/secrets"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/codespaces/secrets"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/codespaces/secrets"]["response"]["data"]["secrets"]; + }; + }; /** * @see https://docs.github.com/rest/reference/repos#list-repository-collaborators */ @@ -618,7 +773,7 @@ export interface PaginatingEndpoints { response: Endpoints["GET /repos/{owner}/{repo}/comments"]["response"]; }; /** - * @see https://docs.github.com/v3/reactions/#list-reactions-for-a-commit-comment + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-a-commit-comment */ "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions": { parameters: Endpoints["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"]["parameters"]; @@ -631,13 +786,6 @@ export interface PaginatingEndpoints { parameters: Endpoints["GET /repos/{owner}/{repo}/commits"]["parameters"]; response: Endpoints["GET /repos/{owner}/{repo}/commits"]["response"]; }; - /** - * @see https://docs.github.com/rest/reference/repos#list-branches-for-head-commit - */ - "GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head": { - parameters: Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head"]["response"]; - }; /** * @see https://docs.github.com/rest/reference/repos#list-commit-comments */ @@ -670,6 +818,15 @@ export interface PaginatingEndpoints { data: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"]["response"]["data"]["check_suites"]; }; }; + /** + * @see https://docs.github.com/rest/reference/repos#get-the-combined-status-for-a-specific-reference + */ + "GET /repos/{owner}/{repo}/commits/{ref}/status": { + parameters: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/status"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/status"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/status"]["response"]["data"]["statuses"]; + }; + }; /** * @see https://docs.github.com/rest/reference/repos#list-commit-statuses-for-a-reference */ @@ -678,12 +835,21 @@ export interface PaginatingEndpoints { response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/statuses"]["response"]; }; /** - * @see https://docs.github.com/v3/repos/#list-repository-contributors + * @see https://docs.github.com/rest/reference/repos#list-repository-contributors */ "GET /repos/{owner}/{repo}/contributors": { parameters: Endpoints["GET /repos/{owner}/{repo}/contributors"]["parameters"]; response: Endpoints["GET /repos/{owner}/{repo}/contributors"]["response"]; }; + /** + * @see https://docs.github.com/rest/reference/dependabot#list-repository-secrets + */ + "GET /repos/{owner}/{repo}/dependabot/secrets": { + parameters: Endpoints["GET /repos/{owner}/{repo}/dependabot/secrets"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/dependabot/secrets"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/dependabot/secrets"]["response"]["data"]["secrets"]; + }; + }; /** * @see https://docs.github.com/rest/reference/repos#list-deployments */ @@ -698,6 +864,15 @@ export interface PaginatingEndpoints { parameters: Endpoints["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"]["parameters"]; response: Endpoints["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"]["response"]; }; + /** + * @see https://docs.github.com/rest/reference/repos#get-all-environments + */ + "GET /repos/{owner}/{repo}/environments": { + parameters: Endpoints["GET /repos/{owner}/{repo}/environments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/environments"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/environments"]["response"]["data"]["environments"]; + }; + }; /** * @see https://docs.github.com/rest/reference/activity#list-repository-events */ @@ -726,6 +901,13 @@ export interface PaginatingEndpoints { parameters: Endpoints["GET /repos/{owner}/{repo}/hooks"]["parameters"]; response: Endpoints["GET /repos/{owner}/{repo}/hooks"]["response"]; }; + /** + * @see https://docs.github.com/rest/reference/repos#list-deliveries-for-a-repository-webhook + */ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries": { + parameters: Endpoints["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"]["response"]; + }; /** * @see https://docs.github.com/rest/reference/repos#list-repository-invitations */ @@ -734,7 +916,7 @@ export interface PaginatingEndpoints { response: Endpoints["GET /repos/{owner}/{repo}/invitations"]["response"]; }; /** - * @see https://docs.github.com/v3/issues/#list-repository-issues + * @see https://docs.github.com/rest/reference/issues#list-repository-issues */ "GET /repos/{owner}/{repo}/issues": { parameters: Endpoints["GET /repos/{owner}/{repo}/issues"]["parameters"]; @@ -748,7 +930,7 @@ export interface PaginatingEndpoints { response: Endpoints["GET /repos/{owner}/{repo}/issues/comments"]["response"]; }; /** - * @see https://docs.github.com/v3/reactions/#list-reactions-for-an-issue-comment + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-an-issue-comment */ "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": { parameters: Endpoints["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"]["parameters"]; @@ -783,7 +965,7 @@ export interface PaginatingEndpoints { response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"]["response"]; }; /** - * @see https://docs.github.com/v3/reactions/#list-reactions-for-an-issue + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-an-issue */ "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions": { parameters: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"]["parameters"]; @@ -839,14 +1021,14 @@ export interface PaginatingEndpoints { response: Endpoints["GET /repos/{owner}/{repo}/pages/builds"]["response"]; }; /** - * @see https://docs.github.com/v3/projects/#list-repository-projects + * @see https://docs.github.com/rest/reference/projects#list-repository-projects */ "GET /repos/{owner}/{repo}/projects": { parameters: Endpoints["GET /repos/{owner}/{repo}/projects"]["parameters"]; response: Endpoints["GET /repos/{owner}/{repo}/projects"]["response"]; }; /** - * @see https://docs.github.com/v3/pulls/#list-pull-requests + * @see https://docs.github.com/rest/reference/pulls#list-pull-requests */ "GET /repos/{owner}/{repo}/pulls": { parameters: Endpoints["GET /repos/{owner}/{repo}/pulls"]["parameters"]; @@ -860,7 +1042,7 @@ export interface PaginatingEndpoints { response: Endpoints["GET /repos/{owner}/{repo}/pulls/comments"]["response"]; }; /** - * @see https://docs.github.com/v3/reactions/#list-reactions-for-a-pull-request-review-comment + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-a-pull-request-review-comment */ "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": { parameters: Endpoints["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"]["parameters"]; @@ -874,14 +1056,14 @@ export interface PaginatingEndpoints { response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"]["response"]; }; /** - * @see https://docs.github.com/v3/pulls/#list-commits-on-a-pull-request + * @see https://docs.github.com/rest/reference/pulls#list-commits-on-a-pull-request */ "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits": { parameters: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"]["parameters"]; response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"]["response"]; }; /** - * @see https://docs.github.com/v3/pulls/#list-pull-requests-files + * @see https://docs.github.com/rest/reference/pulls#list-pull-requests-files */ "GET /repos/{owner}/{repo}/pulls/{pull_number}/files": { parameters: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"]["parameters"]; @@ -924,6 +1106,13 @@ export interface PaginatingEndpoints { parameters: Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}/assets"]["parameters"]; response: Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}/assets"]["response"]; }; + /** + * @see https://docs.github.com/rest/reference/reactions/#list-reactions-for-a-release + */ + "GET /repos/{owner}/{repo}/releases/{release_id}/reactions": { + parameters: Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}/reactions"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}/reactions"]["response"]; + }; /** * @see https://docs.github.com/rest/reference/secret-scanning#list-secret-scanning-alerts-for-a-repository */ @@ -931,6 +1120,13 @@ export interface PaginatingEndpoints { parameters: Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts"]["parameters"]; response: Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts"]["response"]; }; + /** + * @see https://docs.github.com/rest/reference/secret-scanning#list-locations-for-a-secret-scanning-alert + */ + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations": { + parameters: Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"]["response"]; + }; /** * @see https://docs.github.com/rest/reference/activity#list-stargazers */ @@ -946,55 +1142,46 @@ export interface PaginatingEndpoints { response: Endpoints["GET /repos/{owner}/{repo}/subscribers"]["response"]; }; /** - * @see https://docs.github.com/v3/repos/#list-repository-tags + * @see https://docs.github.com/rest/reference/repos#list-repository-tags */ "GET /repos/{owner}/{repo}/tags": { parameters: Endpoints["GET /repos/{owner}/{repo}/tags"]["parameters"]; response: Endpoints["GET /repos/{owner}/{repo}/tags"]["response"]; }; /** - * @see https://docs.github.com/v3/repos/#list-repository-teams + * @see https://docs.github.com/rest/reference/repos#list-repository-teams */ "GET /repos/{owner}/{repo}/teams": { parameters: Endpoints["GET /repos/{owner}/{repo}/teams"]["parameters"]; response: Endpoints["GET /repos/{owner}/{repo}/teams"]["response"]; }; /** - * @see https://docs.github.com/v3/repos/#list-public-repositories - */ - "GET /repositories": { - parameters: Endpoints["GET /repositories"]["parameters"]; - response: Endpoints["GET /repositories"]["response"]; - }; - /** - * @see https://docs.github.com/rest/reference/enterprise-admin#list-provisioned-scim-groups-for-an-enterprise + * @see https://docs.github.com/rest/reference/repos#get-all-repository-topics */ - "GET /scim/v2/enterprises/{enterprise}/Groups": { - parameters: Endpoints["GET /scim/v2/enterprises/{enterprise}/Groups"]["parameters"]; - response: Endpoints["GET /scim/v2/enterprises/{enterprise}/Groups"]["response"] & { - data: Endpoints["GET /scim/v2/enterprises/{enterprise}/Groups"]["response"]["data"]["Resources"]; + "GET /repos/{owner}/{repo}/topics": { + parameters: Endpoints["GET /repos/{owner}/{repo}/topics"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/topics"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/topics"]["response"]["data"]["names"]; }; }; /** - * @see https://docs.github.com/rest/reference/enterprise-admin#list-scim-provisioned-identities-for-an-enterprise + * @see https://docs.github.com/rest/reference/repos#list-public-repositories */ - "GET /scim/v2/enterprises/{enterprise}/Users": { - parameters: Endpoints["GET /scim/v2/enterprises/{enterprise}/Users"]["parameters"]; - response: Endpoints["GET /scim/v2/enterprises/{enterprise}/Users"]["response"] & { - data: Endpoints["GET /scim/v2/enterprises/{enterprise}/Users"]["response"]["data"]["Resources"]; - }; + "GET /repositories": { + parameters: Endpoints["GET /repositories"]["parameters"]; + response: Endpoints["GET /repositories"]["response"]; }; /** - * @see https://docs.github.com/v3/scim/#list-scim-provisioned-identities + * @see https://docs.github.com/rest/reference/actions#list-environment-secrets */ - "GET /scim/v2/organizations/{org}/Users": { - parameters: Endpoints["GET /scim/v2/organizations/{org}/Users"]["parameters"]; - response: Endpoints["GET /scim/v2/organizations/{org}/Users"]["response"] & { - data: Endpoints["GET /scim/v2/organizations/{org}/Users"]["response"]["data"]["Resources"]; + "GET /repositories/{repository_id}/environments/{environment_name}/secrets": { + parameters: Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/secrets"]["parameters"]; + response: Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/secrets"]["response"] & { + data: Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/secrets"]["response"]["data"]["secrets"]; }; }; /** - * @see https://docs.github.com/v3/search/#search-code + * @see https://docs.github.com/rest/reference/search#search-code */ "GET /search/code": { parameters: Endpoints["GET /search/code"]["parameters"]; @@ -1003,7 +1190,7 @@ export interface PaginatingEndpoints { }; }; /** - * @see https://docs.github.com/v3/search/#search-commits + * @see https://docs.github.com/rest/reference/search#search-commits */ "GET /search/commits": { parameters: Endpoints["GET /search/commits"]["parameters"]; @@ -1012,7 +1199,7 @@ export interface PaginatingEndpoints { }; }; /** - * @see https://docs.github.com/v3/search/#search-issues-and-pull-requests + * @see https://docs.github.com/rest/reference/search#search-issues-and-pull-requests */ "GET /search/issues": { parameters: Endpoints["GET /search/issues"]["parameters"]; @@ -1021,7 +1208,7 @@ export interface PaginatingEndpoints { }; }; /** - * @see https://docs.github.com/v3/search/#search-labels + * @see https://docs.github.com/rest/reference/search#search-labels */ "GET /search/labels": { parameters: Endpoints["GET /search/labels"]["parameters"]; @@ -1030,7 +1217,7 @@ export interface PaginatingEndpoints { }; }; /** - * @see https://docs.github.com/v3/search/#search-repositories + * @see https://docs.github.com/rest/reference/search#search-repositories */ "GET /search/repositories": { parameters: Endpoints["GET /search/repositories"]["parameters"]; @@ -1039,7 +1226,7 @@ export interface PaginatingEndpoints { }; }; /** - * @see https://docs.github.com/v3/search/#search-topics + * @see https://docs.github.com/rest/reference/search#search-topics */ "GET /search/topics": { parameters: Endpoints["GET /search/topics"]["parameters"]; @@ -1048,7 +1235,7 @@ export interface PaginatingEndpoints { }; }; /** - * @see https://docs.github.com/v3/search/#search-users + * @see https://docs.github.com/rest/reference/search#search-users */ "GET /search/users": { parameters: Endpoints["GET /search/users"]["parameters"]; @@ -1071,14 +1258,14 @@ export interface PaginatingEndpoints { response: Endpoints["GET /teams/{team_id}/discussions/{discussion_number}/comments"]["response"]; }; /** - * @see https://docs.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment-legacy + * @see https://docs.github.com/rest/reference/reactions/#list-reactions-for-a-team-discussion-comment-legacy */ "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": { parameters: Endpoints["GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions"]["parameters"]; response: Endpoints["GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions"]["response"]; }; /** - * @see https://docs.github.com/v3/reactions/#list-reactions-for-a-team-discussion-legacy + * @see https://docs.github.com/rest/reference/reactions/#list-reactions-for-a-team-discussion-legacy */ "GET /teams/{team_id}/discussions/{discussion_number}/reactions": { parameters: Endpoints["GET /teams/{team_id}/discussions/{discussion_number}/reactions"]["parameters"]; @@ -1099,30 +1286,21 @@ export interface PaginatingEndpoints { response: Endpoints["GET /teams/{team_id}/members"]["response"]; }; /** - * @see https://docs.github.com/v3/teams/#list-team-projects-legacy + * @see https://docs.github.com/rest/reference/teams/#list-team-projects-legacy */ "GET /teams/{team_id}/projects": { parameters: Endpoints["GET /teams/{team_id}/projects"]["parameters"]; response: Endpoints["GET /teams/{team_id}/projects"]["response"]; }; /** - * @see https://docs.github.com/v3/teams/#list-team-repositories-legacy + * @see https://docs.github.com/rest/reference/teams/#list-team-repositories-legacy */ "GET /teams/{team_id}/repos": { parameters: Endpoints["GET /teams/{team_id}/repos"]["parameters"]; response: Endpoints["GET /teams/{team_id}/repos"]["response"]; }; /** - * @see https://docs.github.com/rest/reference/teams#list-idp-groups-for-a-team-legacy - */ - "GET /teams/{team_id}/team-sync/group-mappings": { - parameters: Endpoints["GET /teams/{team_id}/team-sync/group-mappings"]["parameters"]; - response: Endpoints["GET /teams/{team_id}/team-sync/group-mappings"]["response"] & { - data: Endpoints["GET /teams/{team_id}/team-sync/group-mappings"]["response"]["data"]["groups"]; - }; - }; - /** - * @see https://docs.github.com/v3/teams/#list-child-teams-legacy + * @see https://docs.github.com/rest/reference/teams/#list-child-teams-legacy */ "GET /teams/{team_id}/teams": { parameters: Endpoints["GET /teams/{team_id}/teams"]["parameters"]; @@ -1135,6 +1313,24 @@ export interface PaginatingEndpoints { parameters: Endpoints["GET /user/blocks"]["parameters"]; response: Endpoints["GET /user/blocks"]["response"]; }; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-codespaces-for-the-authenticated-user + */ + "GET /user/codespaces": { + parameters: Endpoints["GET /user/codespaces"]["parameters"]; + response: Endpoints["GET /user/codespaces"]["response"] & { + data: Endpoints["GET /user/codespaces"]["response"]["data"]["codespaces"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-secrets-for-the-authenticated-user + */ + "GET /user/codespaces/secrets": { + parameters: Endpoints["GET /user/codespaces/secrets"]["parameters"]; + response: Endpoints["GET /user/codespaces/secrets"]["response"] & { + data: Endpoints["GET /user/codespaces/secrets"]["response"]["data"]["secrets"]; + }; + }; /** * @see https://docs.github.com/rest/reference/users#list-email-addresses-for-the-authenticated-user */ @@ -1182,7 +1378,7 @@ export interface PaginatingEndpoints { }; }; /** - * @see https://docs.github.com/v3/issues/#list-user-account-issues-assigned-to-the-authenticated-user + * @see https://docs.github.com/rest/reference/issues#list-user-account-issues-assigned-to-the-authenticated-user */ "GET /user/issues": { parameters: Endpoints["GET /user/issues"]["parameters"]; @@ -1231,12 +1427,26 @@ export interface PaginatingEndpoints { response: Endpoints["GET /user/migrations/{migration_id}/repositories"]["response"]; }; /** - * @see https://docs.github.com/v3/orgs/#list-organizations-for-the-authenticated-user + * @see https://docs.github.com/rest/reference/orgs#list-organizations-for-the-authenticated-user */ "GET /user/orgs": { parameters: Endpoints["GET /user/orgs"]["parameters"]; response: Endpoints["GET /user/orgs"]["response"]; }; + /** + * @see https://docs.github.com/rest/reference/packages#list-packages-for-the-authenticated-user + */ + "GET /user/packages": { + parameters: Endpoints["GET /user/packages"]["parameters"]; + response: Endpoints["GET /user/packages"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/packages#get-all-package-versions-for-a-package-owned-by-the-authenticated-user + */ + "GET /user/packages/{package_type}/{package_name}/versions": { + parameters: Endpoints["GET /user/packages/{package_type}/{package_name}/versions"]["parameters"]; + response: Endpoints["GET /user/packages/{package_type}/{package_name}/versions"]["response"]; + }; /** * @see https://docs.github.com/rest/reference/users#list-public-email-addresses-for-the-authenticated-user */ @@ -1245,7 +1455,7 @@ export interface PaginatingEndpoints { response: Endpoints["GET /user/public_emails"]["response"]; }; /** - * @see https://docs.github.com/v3/repos/#list-repositories-for-the-authenticated-user + * @see https://docs.github.com/rest/reference/repos#list-repositories-for-the-authenticated-user */ "GET /user/repos": { parameters: Endpoints["GET /user/repos"]["parameters"]; @@ -1273,14 +1483,14 @@ export interface PaginatingEndpoints { response: Endpoints["GET /user/subscriptions"]["response"]; }; /** - * @see https://docs.github.com/v3/teams/#list-teams-for-the-authenticated-user + * @see https://docs.github.com/rest/reference/teams#list-teams-for-the-authenticated-user */ "GET /user/teams": { parameters: Endpoints["GET /user/teams"]["parameters"]; response: Endpoints["GET /user/teams"]["response"]; }; /** - * @see https://docs.github.com/v3/users/#list-users + * @see https://docs.github.com/rest/reference/users#list-users */ "GET /users": { parameters: Endpoints["GET /users"]["parameters"]; @@ -1322,7 +1532,7 @@ export interface PaginatingEndpoints { response: Endpoints["GET /users/{username}/following"]["response"]; }; /** - * @see https://docs.github.com/v3/gists/#list-gists-for-a-user + * @see https://docs.github.com/rest/reference/gists#list-gists-for-a-user */ "GET /users/{username}/gists": { parameters: Endpoints["GET /users/{username}/gists"]["parameters"]; @@ -1343,14 +1553,21 @@ export interface PaginatingEndpoints { response: Endpoints["GET /users/{username}/keys"]["response"]; }; /** - * @see https://docs.github.com/v3/orgs/#list-organizations-for-a-user + * @see https://docs.github.com/rest/reference/orgs#list-organizations-for-a-user */ "GET /users/{username}/orgs": { parameters: Endpoints["GET /users/{username}/orgs"]["parameters"]; response: Endpoints["GET /users/{username}/orgs"]["response"]; }; /** - * @see https://docs.github.com/v3/projects/#list-user-projects + * @see https://docs.github.com/rest/reference/packages#list-packages-for-user + */ + "GET /users/{username}/packages": { + parameters: Endpoints["GET /users/{username}/packages"]["parameters"]; + response: Endpoints["GET /users/{username}/packages"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/projects#list-user-projects */ "GET /users/{username}/projects": { parameters: Endpoints["GET /users/{username}/projects"]["parameters"]; @@ -1371,7 +1588,7 @@ export interface PaginatingEndpoints { response: Endpoints["GET /users/{username}/received_events/public"]["response"]; }; /** - * @see https://docs.github.com/v3/repos/#list-repositories-for-a-user + * @see https://docs.github.com/rest/reference/repos#list-repositories-for-a-user */ "GET /users/{username}/repos": { parameters: Endpoints["GET /users/{username}/repos"]["parameters"]; @@ -1392,3 +1609,4 @@ export interface PaginatingEndpoints { response: Endpoints["GET /users/{username}/subscriptions"]["response"]; }; } +export declare const paginatingEndpoints: (keyof PaginatingEndpoints)[]; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-types/index.d.ts b/node_modules/@octokit/plugin-paginate-rest/dist-types/index.d.ts index 44fd234..4d84aae 100644 --- a/node_modules/@octokit/plugin-paginate-rest/dist-types/index.d.ts +++ b/node_modules/@octokit/plugin-paginate-rest/dist-types/index.d.ts @@ -1,7 +1,9 @@ import { Octokit } from "@octokit/core"; import { PaginateInterface } from "./types"; export { PaginateInterface } from "./types"; +export { PaginatingEndpoints } from "./types"; export { composePaginateRest } from "./compose-paginate"; +export { isPaginatingEndpoint, paginatingEndpoints, } from "./paginating-endpoints"; /** * @param octokit Octokit instance * @param options Options passed to Octokit constructor diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-types/iterator.d.ts b/node_modules/@octokit/plugin-paginate-rest/dist-types/iterator.d.ts index 276f6d9..931d530 100644 --- a/node_modules/@octokit/plugin-paginate-rest/dist-types/iterator.d.ts +++ b/node_modules/@octokit/plugin-paginate-rest/dist-types/iterator.d.ts @@ -8,6 +8,13 @@ export declare function iterator(octokit: Octokit, route: Route | RequestInterfa } | { value: import("@octokit/types/dist-types/OctokitResponse").OctokitResponse; done?: undefined; + } | { + value: { + status: number; + headers: {}; + data: never[]; + }; + done?: undefined; }>; }; }; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-types/paginating-endpoints.d.ts b/node_modules/@octokit/plugin-paginate-rest/dist-types/paginating-endpoints.d.ts new file mode 100644 index 0000000..f6a4d7b --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-types/paginating-endpoints.d.ts @@ -0,0 +1,3 @@ +import { PaginatingEndpoints } from "./generated/paginating-endpoints"; +export { paginatingEndpoints } from "./generated/paginating-endpoints"; +export declare function isPaginatingEndpoint(arg: unknown): arg is keyof PaginatingEndpoints; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-types/types.d.ts b/node_modules/@octokit/plugin-paginate-rest/dist-types/types.d.ts index fff019d..0634907 100644 --- a/node_modules/@octokit/plugin-paginate-rest/dist-types/types.d.ts +++ b/node_modules/@octokit/plugin-paginate-rest/dist-types/types.d.ts @@ -1,6 +1,7 @@ import { Octokit } from "@octokit/core"; import * as OctokitTypes from "@octokit/types"; export { EndpointOptions, RequestInterface, OctokitResponse, RequestParameters, Route, } from "@octokit/types"; +export { PaginatingEndpoints } from "./generated/paginating-endpoints"; import { PaginatingEndpoints } from "./generated/paginating-endpoints"; declare type KnownKeys = Extract<{ [K in keyof T]: string extends K ? never : number extends K ? never : K; @@ -20,22 +21,22 @@ declare type NormalizeResponse = T & { data: GetResultsType; }; declare type DataType = "data" extends keyof T ? T["data"] : unknown; -export interface MapFunction { - (response: OctokitTypes.OctokitResponse>, done: () => void): R[]; +export interface MapFunction>, M = unknown[]> { + (response: T, done: () => void): M; } export declare type PaginationResults = T[]; export interface PaginateInterface { /** * Paginate a request using endpoint options and map each response to a custom array * - * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + * @param {object} options Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. * @param {function} mapFn Optional method to map each response to a custom array */ - (options: OctokitTypes.EndpointOptions, mapFn: MapFunction): Promise>; + (options: OctokitTypes.EndpointOptions, mapFn: MapFunction>, M[]>): Promise>; /** * Paginate a request using endpoint options * - * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + * @param {object} options Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. */ (options: OctokitTypes.EndpointOptions): Promise>; /** @@ -44,7 +45,7 @@ export interface PaginateInterface { * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` * @param {function} mapFn Optional method to map each response to a custom array */ - (route: R, mapFn: (response: PaginatingEndpoints[R]["response"], done: () => void) => MR): Promise; + (route: R, mapFn: MapFunction): Promise; /** * Paginate a request using a known endpoint route string and parameters, and map each response to a custom array * @@ -52,7 +53,7 @@ export interface PaginateInterface { * @param {object} parameters URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. * @param {function} mapFn Optional method to map each response to a custom array */ - (route: R, parameters: PaginatingEndpoints[R]["parameters"], mapFn: (response: PaginatingEndpoints[R]["response"], done: () => void) => MR): Promise; + (route: R, parameters: PaginatingEndpoints[R]["parameters"], mapFn: MapFunction): Promise; /** * Paginate a request using an known endpoint route string * @@ -73,7 +74,7 @@ export interface PaginateInterface { * @param {string} request Request method (`octokit.request` or `@octokit/request`) * @param {function} mapFn? Optional method to map each response to a custom array */ - (request: R, mapFn: (response: NormalizeResponse>, done: () => void) => MR): Promise; + (request: R, mapFn: MapFunction>, M>): Promise; /** * Paginate a request using an endpoint method, parameters, and a map function * @@ -81,7 +82,7 @@ export interface PaginateInterface { * @param {object} parameters URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. * @param {function} mapFn? Optional method to map each response to a custom array */ - (request: R, parameters: Parameters[0], mapFn: (response: NormalizeResponse>, done: () => void) => MR): Promise; + (request: R, parameters: Parameters[0], mapFn: MapFunction>, M>): Promise; /** * Paginate a request using an endpoint method and parameters * @@ -94,9 +95,9 @@ export interface PaginateInterface { * Get an async iterator to paginate a request using endpoint options * * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of - * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + * @param {object} options Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. */ - (EndpointOptions: OctokitTypes.EndpointOptions): AsyncIterableIterator>>; + (options: OctokitTypes.EndpointOptions): AsyncIterableIterator>>; /** * Get an async iterator to paginate a request using a known endpoint route string and optional parameters * @@ -128,15 +129,15 @@ export interface ComposePaginateInterface { * Paginate a request using endpoint options and map each response to a custom array * * @param {object} octokit Octokit instance - * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + * @param {object} options Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. * @param {function} mapFn Optional method to map each response to a custom array */ - (octokit: Octokit, options: OctokitTypes.EndpointOptions, mapFn: MapFunction): Promise>; + (octokit: Octokit, options: OctokitTypes.EndpointOptions, mapFn: MapFunction>, M[]>): Promise>; /** * Paginate a request using endpoint options * * @param {object} octokit Octokit instance - * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + * @param {object} options Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. */ (octokit: Octokit, options: OctokitTypes.EndpointOptions): Promise>; /** @@ -146,7 +147,7 @@ export interface ComposePaginateInterface { * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` * @param {function} mapFn Optional method to map each response to a custom array */ - (octokit: Octokit, route: R, mapFn: (response: PaginatingEndpoints[R]["response"], done: () => void) => MR): Promise; + (octokit: Octokit, route: R, mapFn: MapFunction): Promise; /** * Paginate a request using a known endpoint route string and parameters, and map each response to a custom array * @@ -155,7 +156,7 @@ export interface ComposePaginateInterface { * @param {object} parameters URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. * @param {function} mapFn Optional method to map each response to a custom array */ - (octokit: Octokit, route: R, parameters: PaginatingEndpoints[R]["parameters"], mapFn: (response: PaginatingEndpoints[R]["response"], done: () => void) => MR): Promise; + (octokit: Octokit, route: R, parameters: PaginatingEndpoints[R]["parameters"], mapFn: MapFunction): Promise; /** * Paginate a request using an known endpoint route string * @@ -179,7 +180,7 @@ export interface ComposePaginateInterface { * @param {string} request Request method (`octokit.request` or `@octokit/request`) * @param {function} mapFn? Optional method to map each response to a custom array */ - (octokit: Octokit, request: R, mapFn: (response: NormalizeResponse>, done: () => void) => MR): Promise; + (octokit: Octokit, request: R, mapFn: MapFunction>, M>): Promise; /** * Paginate a request using an endpoint method, parameters, and a map function * @@ -188,7 +189,7 @@ export interface ComposePaginateInterface { * @param {object} parameters URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. * @param {function} mapFn? Optional method to map each response to a custom array */ - (octokit: Octokit, request: R, parameters: Parameters[0], mapFn: (response: NormalizeResponse>, done: () => void) => MR): Promise; + (octokit: Octokit, request: R, parameters: Parameters[0], mapFn: MapFunction>, M>): Promise; /** * Paginate a request using an endpoint method and parameters * @@ -204,9 +205,9 @@ export interface ComposePaginateInterface { * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of * * @param {object} octokit Octokit instance - * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + * @param {object} options Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. */ - (octokit: Octokit, EndpointOptions: OctokitTypes.EndpointOptions): AsyncIterableIterator>>; + (octokit: Octokit, options: OctokitTypes.EndpointOptions): AsyncIterableIterator>>; /** * Get an async iterator to paginate a request using a known endpoint route string and optional parameters * diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-types/version.d.ts b/node_modules/@octokit/plugin-paginate-rest/dist-types/version.d.ts index 8284dac..77e3d51 100644 --- a/node_modules/@octokit/plugin-paginate-rest/dist-types/version.d.ts +++ b/node_modules/@octokit/plugin-paginate-rest/dist-types/version.d.ts @@ -1 +1 @@ -export declare const VERSION = "2.9.1"; +export declare const VERSION = "2.21.3"; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js b/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js index 7be4ae5..e76659f 100644 --- a/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js +++ b/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js @@ -1,4 +1,4 @@ -const VERSION = "2.9.1"; +const VERSION = "2.21.3"; /** * Some “list” response that can be paginated have a different response structure @@ -17,6 +17,13 @@ const VERSION = "2.9.1"; * otherwise match: https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref */ function normalizePaginatedListResponse(response) { + // endpoints can respond with 204 if repository is empty + if (!response.data) { + return { + ...response, + data: [], + }; + } const responseNeedsNormalization = "total_count" in response.data && !("url" in response.data); if (!responseNeedsNormalization) return response; @@ -54,13 +61,27 @@ function iterator(octokit, route, parameters) { async next() { if (!url) return { done: true }; - const response = await requestMethod({ method, url, headers }); - const normalizedResponse = normalizePaginatedListResponse(response); - // `response.headers.link` format: - // '; rel="next", ; rel="last"' - // sets `url` to undefined if "next" URL is not present or `link` header is not set - url = ((normalizedResponse.headers.link || "").match(/<([^>]+)>;\s*rel="next"/) || [])[1]; - return { value: normalizedResponse }; + try { + const response = await requestMethod({ method, url, headers }); + const normalizedResponse = normalizePaginatedListResponse(response); + // `response.headers.link` format: + // '; rel="next", ; rel="last"' + // sets `url` to undefined if "next" URL is not present or `link` header is not set + url = ((normalizedResponse.headers.link || "").match(/<([^>]+)>;\s*rel="next"/) || [])[1]; + return { value: normalizedResponse }; + } + catch (error) { + if (error.status !== 409) + throw error; + url = ""; + return { + value: { + status: 200, + headers: {}, + data: [], + }, + }; + } }, }), }; @@ -94,6 +115,232 @@ const composePaginateRest = Object.assign(paginate, { iterator, }); +const paginatingEndpoints = [ + "GET /app/hook/deliveries", + "GET /app/installations", + "GET /applications/grants", + "GET /authorizations", + "GET /enterprises/{enterprise}/actions/permissions/organizations", + "GET /enterprises/{enterprise}/actions/runner-groups", + "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations", + "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners", + "GET /enterprises/{enterprise}/actions/runners", + "GET /enterprises/{enterprise}/audit-log", + "GET /enterprises/{enterprise}/secret-scanning/alerts", + "GET /enterprises/{enterprise}/settings/billing/advanced-security", + "GET /events", + "GET /gists", + "GET /gists/public", + "GET /gists/starred", + "GET /gists/{gist_id}/comments", + "GET /gists/{gist_id}/commits", + "GET /gists/{gist_id}/forks", + "GET /installation/repositories", + "GET /issues", + "GET /licenses", + "GET /marketplace_listing/plans", + "GET /marketplace_listing/plans/{plan_id}/accounts", + "GET /marketplace_listing/stubbed/plans", + "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts", + "GET /networks/{owner}/{repo}/events", + "GET /notifications", + "GET /organizations", + "GET /orgs/{org}/actions/cache/usage-by-repository", + "GET /orgs/{org}/actions/permissions/repositories", + "GET /orgs/{org}/actions/runner-groups", + "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories", + "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners", + "GET /orgs/{org}/actions/runners", + "GET /orgs/{org}/actions/secrets", + "GET /orgs/{org}/actions/secrets/{secret_name}/repositories", + "GET /orgs/{org}/audit-log", + "GET /orgs/{org}/blocks", + "GET /orgs/{org}/code-scanning/alerts", + "GET /orgs/{org}/codespaces", + "GET /orgs/{org}/credential-authorizations", + "GET /orgs/{org}/dependabot/secrets", + "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories", + "GET /orgs/{org}/events", + "GET /orgs/{org}/external-groups", + "GET /orgs/{org}/failed_invitations", + "GET /orgs/{org}/hooks", + "GET /orgs/{org}/hooks/{hook_id}/deliveries", + "GET /orgs/{org}/installations", + "GET /orgs/{org}/invitations", + "GET /orgs/{org}/invitations/{invitation_id}/teams", + "GET /orgs/{org}/issues", + "GET /orgs/{org}/members", + "GET /orgs/{org}/migrations", + "GET /orgs/{org}/migrations/{migration_id}/repositories", + "GET /orgs/{org}/outside_collaborators", + "GET /orgs/{org}/packages", + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", + "GET /orgs/{org}/projects", + "GET /orgs/{org}/public_members", + "GET /orgs/{org}/repos", + "GET /orgs/{org}/secret-scanning/alerts", + "GET /orgs/{org}/settings/billing/advanced-security", + "GET /orgs/{org}/team-sync/groups", + "GET /orgs/{org}/teams", + "GET /orgs/{org}/teams/{team_slug}/discussions", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", + "GET /orgs/{org}/teams/{team_slug}/invitations", + "GET /orgs/{org}/teams/{team_slug}/members", + "GET /orgs/{org}/teams/{team_slug}/projects", + "GET /orgs/{org}/teams/{team_slug}/repos", + "GET /orgs/{org}/teams/{team_slug}/teams", + "GET /projects/columns/{column_id}/cards", + "GET /projects/{project_id}/collaborators", + "GET /projects/{project_id}/columns", + "GET /repos/{owner}/{repo}/actions/artifacts", + "GET /repos/{owner}/{repo}/actions/caches", + "GET /repos/{owner}/{repo}/actions/runners", + "GET /repos/{owner}/{repo}/actions/runs", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs", + "GET /repos/{owner}/{repo}/actions/secrets", + "GET /repos/{owner}/{repo}/actions/workflows", + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", + "GET /repos/{owner}/{repo}/assignees", + "GET /repos/{owner}/{repo}/branches", + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", + "GET /repos/{owner}/{repo}/code-scanning/alerts", + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", + "GET /repos/{owner}/{repo}/code-scanning/analyses", + "GET /repos/{owner}/{repo}/codespaces", + "GET /repos/{owner}/{repo}/codespaces/devcontainers", + "GET /repos/{owner}/{repo}/codespaces/secrets", + "GET /repos/{owner}/{repo}/collaborators", + "GET /repos/{owner}/{repo}/comments", + "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/commits", + "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments", + "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls", + "GET /repos/{owner}/{repo}/commits/{ref}/check-runs", + "GET /repos/{owner}/{repo}/commits/{ref}/check-suites", + "GET /repos/{owner}/{repo}/commits/{ref}/status", + "GET /repos/{owner}/{repo}/commits/{ref}/statuses", + "GET /repos/{owner}/{repo}/contributors", + "GET /repos/{owner}/{repo}/dependabot/secrets", + "GET /repos/{owner}/{repo}/deployments", + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses", + "GET /repos/{owner}/{repo}/environments", + "GET /repos/{owner}/{repo}/events", + "GET /repos/{owner}/{repo}/forks", + "GET /repos/{owner}/{repo}/git/matching-refs/{ref}", + "GET /repos/{owner}/{repo}/hooks", + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries", + "GET /repos/{owner}/{repo}/invitations", + "GET /repos/{owner}/{repo}/issues", + "GET /repos/{owner}/{repo}/issues/comments", + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/issues/events", + "GET /repos/{owner}/{repo}/issues/{issue_number}/comments", + "GET /repos/{owner}/{repo}/issues/{issue_number}/events", + "GET /repos/{owner}/{repo}/issues/{issue_number}/labels", + "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions", + "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline", + "GET /repos/{owner}/{repo}/keys", + "GET /repos/{owner}/{repo}/labels", + "GET /repos/{owner}/{repo}/milestones", + "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels", + "GET /repos/{owner}/{repo}/notifications", + "GET /repos/{owner}/{repo}/pages/builds", + "GET /repos/{owner}/{repo}/projects", + "GET /repos/{owner}/{repo}/pulls", + "GET /repos/{owner}/{repo}/pulls/comments", + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/files", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", + "GET /repos/{owner}/{repo}/releases", + "GET /repos/{owner}/{repo}/releases/{release_id}/assets", + "GET /repos/{owner}/{repo}/releases/{release_id}/reactions", + "GET /repos/{owner}/{repo}/secret-scanning/alerts", + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations", + "GET /repos/{owner}/{repo}/stargazers", + "GET /repos/{owner}/{repo}/subscribers", + "GET /repos/{owner}/{repo}/tags", + "GET /repos/{owner}/{repo}/teams", + "GET /repos/{owner}/{repo}/topics", + "GET /repositories", + "GET /repositories/{repository_id}/environments/{environment_name}/secrets", + "GET /search/code", + "GET /search/commits", + "GET /search/issues", + "GET /search/labels", + "GET /search/repositories", + "GET /search/topics", + "GET /search/users", + "GET /teams/{team_id}/discussions", + "GET /teams/{team_id}/discussions/{discussion_number}/comments", + "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", + "GET /teams/{team_id}/discussions/{discussion_number}/reactions", + "GET /teams/{team_id}/invitations", + "GET /teams/{team_id}/members", + "GET /teams/{team_id}/projects", + "GET /teams/{team_id}/repos", + "GET /teams/{team_id}/teams", + "GET /user/blocks", + "GET /user/codespaces", + "GET /user/codespaces/secrets", + "GET /user/emails", + "GET /user/followers", + "GET /user/following", + "GET /user/gpg_keys", + "GET /user/installations", + "GET /user/installations/{installation_id}/repositories", + "GET /user/issues", + "GET /user/keys", + "GET /user/marketplace_purchases", + "GET /user/marketplace_purchases/stubbed", + "GET /user/memberships/orgs", + "GET /user/migrations", + "GET /user/migrations/{migration_id}/repositories", + "GET /user/orgs", + "GET /user/packages", + "GET /user/packages/{package_type}/{package_name}/versions", + "GET /user/public_emails", + "GET /user/repos", + "GET /user/repository_invitations", + "GET /user/starred", + "GET /user/subscriptions", + "GET /user/teams", + "GET /users", + "GET /users/{username}/events", + "GET /users/{username}/events/orgs/{org}", + "GET /users/{username}/events/public", + "GET /users/{username}/followers", + "GET /users/{username}/following", + "GET /users/{username}/gists", + "GET /users/{username}/gpg_keys", + "GET /users/{username}/keys", + "GET /users/{username}/orgs", + "GET /users/{username}/packages", + "GET /users/{username}/projects", + "GET /users/{username}/received_events", + "GET /users/{username}/received_events/public", + "GET /users/{username}/repos", + "GET /users/{username}/starred", + "GET /users/{username}/subscriptions", +]; + +function isPaginatingEndpoint(arg) { + if (typeof arg === "string") { + return paginatingEndpoints.includes(arg); + } + else { + return false; + } +} + /** * @param octokit Octokit instance * @param options Options passed to Octokit constructor @@ -107,5 +354,5 @@ function paginateRest(octokit) { } paginateRest.VERSION = VERSION; -export { composePaginateRest, paginateRest }; +export { composePaginateRest, isPaginatingEndpoint, paginateRest, paginatingEndpoints }; //# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js.map b/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js.map index cc59149..878b8e4 100644 --- a/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js.map +++ b/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/normalize-paginated-list-response.js","../dist-src/iterator.js","../dist-src/paginate.js","../dist-src/compose-paginate.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"2.9.1\";\n","/**\n * Some “list” response that can be paginated have a different response structure\n *\n * They have a `total_count` key in the response (search also has `incomplete_results`,\n * /installation/repositories also has `repository_selection`), as well as a key with\n * the list of the items which name varies from endpoint to endpoint.\n *\n * Octokit normalizes these responses so that paginated results are always returned following\n * the same structure. One challenge is that if the list response has only one page, no Link\n * header is provided, so this header alone is not sufficient to check wether a response is\n * paginated or not.\n *\n * We check if a \"total_count\" key is present in the response data, but also make sure that\n * a \"url\" property is not, as the \"Get the combined status for a specific ref\" endpoint would\n * otherwise match: https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref\n */\nexport function normalizePaginatedListResponse(response) {\n const responseNeedsNormalization = \"total_count\" in response.data && !(\"url\" in response.data);\n if (!responseNeedsNormalization)\n return response;\n // keep the additional properties intact as there is currently no other way\n // to retrieve the same information.\n const incompleteResults = response.data.incomplete_results;\n const repositorySelection = response.data.repository_selection;\n const totalCount = response.data.total_count;\n delete response.data.incomplete_results;\n delete response.data.repository_selection;\n delete response.data.total_count;\n const namespaceKey = Object.keys(response.data)[0];\n const data = response.data[namespaceKey];\n response.data = data;\n if (typeof incompleteResults !== \"undefined\") {\n response.data.incomplete_results = incompleteResults;\n }\n if (typeof repositorySelection !== \"undefined\") {\n response.data.repository_selection = repositorySelection;\n }\n response.data.total_count = totalCount;\n return response;\n}\n","import { normalizePaginatedListResponse } from \"./normalize-paginated-list-response\";\nexport function iterator(octokit, route, parameters) {\n const options = typeof route === \"function\"\n ? route.endpoint(parameters)\n : octokit.request.endpoint(route, parameters);\n const requestMethod = typeof route === \"function\" ? route : octokit.request;\n const method = options.method;\n const headers = options.headers;\n let url = options.url;\n return {\n [Symbol.asyncIterator]: () => ({\n async next() {\n if (!url)\n return { done: true };\n const response = await requestMethod({ method, url, headers });\n const normalizedResponse = normalizePaginatedListResponse(response);\n // `response.headers.link` format:\n // '; rel=\"next\", ; rel=\"last\"'\n // sets `url` to undefined if \"next\" URL is not present or `link` header is not set\n url = ((normalizedResponse.headers.link || \"\").match(/<([^>]+)>;\\s*rel=\"next\"/) || [])[1];\n return { value: normalizedResponse };\n },\n }),\n };\n}\n","import { iterator } from \"./iterator\";\nexport function paginate(octokit, route, parameters, mapFn) {\n if (typeof parameters === \"function\") {\n mapFn = parameters;\n parameters = undefined;\n }\n return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn);\n}\nfunction gather(octokit, results, iterator, mapFn) {\n return iterator.next().then((result) => {\n if (result.done) {\n return results;\n }\n let earlyExit = false;\n function done() {\n earlyExit = true;\n }\n results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data);\n if (earlyExit) {\n return results;\n }\n return gather(octokit, results, iterator, mapFn);\n });\n}\n","import { paginate } from \"./paginate\";\nimport { iterator } from \"./iterator\";\nexport const composePaginateRest = Object.assign(paginate, {\n iterator,\n});\n","import { VERSION } from \"./version\";\nimport { paginate } from \"./paginate\";\nimport { iterator } from \"./iterator\";\nexport { composePaginateRest } from \"./compose-paginate\";\n/**\n * @param octokit Octokit instance\n * @param options Options passed to Octokit constructor\n */\nexport function paginateRest(octokit) {\n return {\n paginate: Object.assign(paginate.bind(null, octokit), {\n iterator: iterator.bind(null, octokit),\n }),\n };\n}\npaginateRest.VERSION = VERSION;\n"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/normalize-paginated-list-response.js","../dist-src/iterator.js","../dist-src/paginate.js","../dist-src/compose-paginate.js","../dist-src/generated/paginating-endpoints.js","../dist-src/paginating-endpoints.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"2.21.3\";\n","/**\n * Some “list” response that can be paginated have a different response structure\n *\n * They have a `total_count` key in the response (search also has `incomplete_results`,\n * /installation/repositories also has `repository_selection`), as well as a key with\n * the list of the items which name varies from endpoint to endpoint.\n *\n * Octokit normalizes these responses so that paginated results are always returned following\n * the same structure. One challenge is that if the list response has only one page, no Link\n * header is provided, so this header alone is not sufficient to check wether a response is\n * paginated or not.\n *\n * We check if a \"total_count\" key is present in the response data, but also make sure that\n * a \"url\" property is not, as the \"Get the combined status for a specific ref\" endpoint would\n * otherwise match: https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref\n */\nexport function normalizePaginatedListResponse(response) {\n // endpoints can respond with 204 if repository is empty\n if (!response.data) {\n return {\n ...response,\n data: [],\n };\n }\n const responseNeedsNormalization = \"total_count\" in response.data && !(\"url\" in response.data);\n if (!responseNeedsNormalization)\n return response;\n // keep the additional properties intact as there is currently no other way\n // to retrieve the same information.\n const incompleteResults = response.data.incomplete_results;\n const repositorySelection = response.data.repository_selection;\n const totalCount = response.data.total_count;\n delete response.data.incomplete_results;\n delete response.data.repository_selection;\n delete response.data.total_count;\n const namespaceKey = Object.keys(response.data)[0];\n const data = response.data[namespaceKey];\n response.data = data;\n if (typeof incompleteResults !== \"undefined\") {\n response.data.incomplete_results = incompleteResults;\n }\n if (typeof repositorySelection !== \"undefined\") {\n response.data.repository_selection = repositorySelection;\n }\n response.data.total_count = totalCount;\n return response;\n}\n","import { normalizePaginatedListResponse } from \"./normalize-paginated-list-response\";\nexport function iterator(octokit, route, parameters) {\n const options = typeof route === \"function\"\n ? route.endpoint(parameters)\n : octokit.request.endpoint(route, parameters);\n const requestMethod = typeof route === \"function\" ? route : octokit.request;\n const method = options.method;\n const headers = options.headers;\n let url = options.url;\n return {\n [Symbol.asyncIterator]: () => ({\n async next() {\n if (!url)\n return { done: true };\n try {\n const response = await requestMethod({ method, url, headers });\n const normalizedResponse = normalizePaginatedListResponse(response);\n // `response.headers.link` format:\n // '; rel=\"next\", ; rel=\"last\"'\n // sets `url` to undefined if \"next\" URL is not present or `link` header is not set\n url = ((normalizedResponse.headers.link || \"\").match(/<([^>]+)>;\\s*rel=\"next\"/) || [])[1];\n return { value: normalizedResponse };\n }\n catch (error) {\n if (error.status !== 409)\n throw error;\n url = \"\";\n return {\n value: {\n status: 200,\n headers: {},\n data: [],\n },\n };\n }\n },\n }),\n };\n}\n","import { iterator } from \"./iterator\";\nexport function paginate(octokit, route, parameters, mapFn) {\n if (typeof parameters === \"function\") {\n mapFn = parameters;\n parameters = undefined;\n }\n return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn);\n}\nfunction gather(octokit, results, iterator, mapFn) {\n return iterator.next().then((result) => {\n if (result.done) {\n return results;\n }\n let earlyExit = false;\n function done() {\n earlyExit = true;\n }\n results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data);\n if (earlyExit) {\n return results;\n }\n return gather(octokit, results, iterator, mapFn);\n });\n}\n","import { paginate } from \"./paginate\";\nimport { iterator } from \"./iterator\";\nexport const composePaginateRest = Object.assign(paginate, {\n iterator,\n});\n","export const paginatingEndpoints = [\n \"GET /app/hook/deliveries\",\n \"GET /app/installations\",\n \"GET /applications/grants\",\n \"GET /authorizations\",\n \"GET /enterprises/{enterprise}/actions/permissions/organizations\",\n \"GET /enterprises/{enterprise}/actions/runner-groups\",\n \"GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations\",\n \"GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners\",\n \"GET /enterprises/{enterprise}/actions/runners\",\n \"GET /enterprises/{enterprise}/audit-log\",\n \"GET /enterprises/{enterprise}/secret-scanning/alerts\",\n \"GET /enterprises/{enterprise}/settings/billing/advanced-security\",\n \"GET /events\",\n \"GET /gists\",\n \"GET /gists/public\",\n \"GET /gists/starred\",\n \"GET /gists/{gist_id}/comments\",\n \"GET /gists/{gist_id}/commits\",\n \"GET /gists/{gist_id}/forks\",\n \"GET /installation/repositories\",\n \"GET /issues\",\n \"GET /licenses\",\n \"GET /marketplace_listing/plans\",\n \"GET /marketplace_listing/plans/{plan_id}/accounts\",\n \"GET /marketplace_listing/stubbed/plans\",\n \"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\",\n \"GET /networks/{owner}/{repo}/events\",\n \"GET /notifications\",\n \"GET /organizations\",\n \"GET /orgs/{org}/actions/cache/usage-by-repository\",\n \"GET /orgs/{org}/actions/permissions/repositories\",\n \"GET /orgs/{org}/actions/runner-groups\",\n \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories\",\n \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners\",\n \"GET /orgs/{org}/actions/runners\",\n \"GET /orgs/{org}/actions/secrets\",\n \"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\",\n \"GET /orgs/{org}/audit-log\",\n \"GET /orgs/{org}/blocks\",\n \"GET /orgs/{org}/code-scanning/alerts\",\n \"GET /orgs/{org}/codespaces\",\n \"GET /orgs/{org}/credential-authorizations\",\n \"GET /orgs/{org}/dependabot/secrets\",\n \"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories\",\n \"GET /orgs/{org}/events\",\n \"GET /orgs/{org}/external-groups\",\n \"GET /orgs/{org}/failed_invitations\",\n \"GET /orgs/{org}/hooks\",\n \"GET /orgs/{org}/hooks/{hook_id}/deliveries\",\n \"GET /orgs/{org}/installations\",\n \"GET /orgs/{org}/invitations\",\n \"GET /orgs/{org}/invitations/{invitation_id}/teams\",\n \"GET /orgs/{org}/issues\",\n \"GET /orgs/{org}/members\",\n \"GET /orgs/{org}/migrations\",\n \"GET /orgs/{org}/migrations/{migration_id}/repositories\",\n \"GET /orgs/{org}/outside_collaborators\",\n \"GET /orgs/{org}/packages\",\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\",\n \"GET /orgs/{org}/projects\",\n \"GET /orgs/{org}/public_members\",\n \"GET /orgs/{org}/repos\",\n \"GET /orgs/{org}/secret-scanning/alerts\",\n \"GET /orgs/{org}/settings/billing/advanced-security\",\n \"GET /orgs/{org}/team-sync/groups\",\n \"GET /orgs/{org}/teams\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\",\n \"GET /orgs/{org}/teams/{team_slug}/invitations\",\n \"GET /orgs/{org}/teams/{team_slug}/members\",\n \"GET /orgs/{org}/teams/{team_slug}/projects\",\n \"GET /orgs/{org}/teams/{team_slug}/repos\",\n \"GET /orgs/{org}/teams/{team_slug}/teams\",\n \"GET /projects/columns/{column_id}/cards\",\n \"GET /projects/{project_id}/collaborators\",\n \"GET /projects/{project_id}/columns\",\n \"GET /repos/{owner}/{repo}/actions/artifacts\",\n \"GET /repos/{owner}/{repo}/actions/caches\",\n \"GET /repos/{owner}/{repo}/actions/runners\",\n \"GET /repos/{owner}/{repo}/actions/runs\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\",\n \"GET /repos/{owner}/{repo}/actions/secrets\",\n \"GET /repos/{owner}/{repo}/actions/workflows\",\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\",\n \"GET /repos/{owner}/{repo}/assignees\",\n \"GET /repos/{owner}/{repo}/branches\",\n \"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\",\n \"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\",\n \"GET /repos/{owner}/{repo}/code-scanning/alerts\",\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\",\n \"GET /repos/{owner}/{repo}/code-scanning/analyses\",\n \"GET /repos/{owner}/{repo}/codespaces\",\n \"GET /repos/{owner}/{repo}/codespaces/devcontainers\",\n \"GET /repos/{owner}/{repo}/codespaces/secrets\",\n \"GET /repos/{owner}/{repo}/collaborators\",\n \"GET /repos/{owner}/{repo}/comments\",\n \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/commits\",\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\",\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/status\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/statuses\",\n \"GET /repos/{owner}/{repo}/contributors\",\n \"GET /repos/{owner}/{repo}/dependabot/secrets\",\n \"GET /repos/{owner}/{repo}/deployments\",\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\",\n \"GET /repos/{owner}/{repo}/environments\",\n \"GET /repos/{owner}/{repo}/events\",\n \"GET /repos/{owner}/{repo}/forks\",\n \"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\",\n \"GET /repos/{owner}/{repo}/hooks\",\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\",\n \"GET /repos/{owner}/{repo}/invitations\",\n \"GET /repos/{owner}/{repo}/issues\",\n \"GET /repos/{owner}/{repo}/issues/comments\",\n \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/issues/events\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/events\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\",\n \"GET /repos/{owner}/{repo}/keys\",\n \"GET /repos/{owner}/{repo}/labels\",\n \"GET /repos/{owner}/{repo}/milestones\",\n \"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\",\n \"GET /repos/{owner}/{repo}/notifications\",\n \"GET /repos/{owner}/{repo}/pages/builds\",\n \"GET /repos/{owner}/{repo}/projects\",\n \"GET /repos/{owner}/{repo}/pulls\",\n \"GET /repos/{owner}/{repo}/pulls/comments\",\n \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\",\n \"GET /repos/{owner}/{repo}/releases\",\n \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\",\n \"GET /repos/{owner}/{repo}/releases/{release_id}/reactions\",\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts\",\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations\",\n \"GET /repos/{owner}/{repo}/stargazers\",\n \"GET /repos/{owner}/{repo}/subscribers\",\n \"GET /repos/{owner}/{repo}/tags\",\n \"GET /repos/{owner}/{repo}/teams\",\n \"GET /repos/{owner}/{repo}/topics\",\n \"GET /repositories\",\n \"GET /repositories/{repository_id}/environments/{environment_name}/secrets\",\n \"GET /search/code\",\n \"GET /search/commits\",\n \"GET /search/issues\",\n \"GET /search/labels\",\n \"GET /search/repositories\",\n \"GET /search/topics\",\n \"GET /search/users\",\n \"GET /teams/{team_id}/discussions\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/comments\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/reactions\",\n \"GET /teams/{team_id}/invitations\",\n \"GET /teams/{team_id}/members\",\n \"GET /teams/{team_id}/projects\",\n \"GET /teams/{team_id}/repos\",\n \"GET /teams/{team_id}/teams\",\n \"GET /user/blocks\",\n \"GET /user/codespaces\",\n \"GET /user/codespaces/secrets\",\n \"GET /user/emails\",\n \"GET /user/followers\",\n \"GET /user/following\",\n \"GET /user/gpg_keys\",\n \"GET /user/installations\",\n \"GET /user/installations/{installation_id}/repositories\",\n \"GET /user/issues\",\n \"GET /user/keys\",\n \"GET /user/marketplace_purchases\",\n \"GET /user/marketplace_purchases/stubbed\",\n \"GET /user/memberships/orgs\",\n \"GET /user/migrations\",\n \"GET /user/migrations/{migration_id}/repositories\",\n \"GET /user/orgs\",\n \"GET /user/packages\",\n \"GET /user/packages/{package_type}/{package_name}/versions\",\n \"GET /user/public_emails\",\n \"GET /user/repos\",\n \"GET /user/repository_invitations\",\n \"GET /user/starred\",\n \"GET /user/subscriptions\",\n \"GET /user/teams\",\n \"GET /users\",\n \"GET /users/{username}/events\",\n \"GET /users/{username}/events/orgs/{org}\",\n \"GET /users/{username}/events/public\",\n \"GET /users/{username}/followers\",\n \"GET /users/{username}/following\",\n \"GET /users/{username}/gists\",\n \"GET /users/{username}/gpg_keys\",\n \"GET /users/{username}/keys\",\n \"GET /users/{username}/orgs\",\n \"GET /users/{username}/packages\",\n \"GET /users/{username}/projects\",\n \"GET /users/{username}/received_events\",\n \"GET /users/{username}/received_events/public\",\n \"GET /users/{username}/repos\",\n \"GET /users/{username}/starred\",\n \"GET /users/{username}/subscriptions\",\n];\n","import { paginatingEndpoints, } from \"./generated/paginating-endpoints\";\nexport { paginatingEndpoints } from \"./generated/paginating-endpoints\";\nexport function isPaginatingEndpoint(arg) {\n if (typeof arg === \"string\") {\n return paginatingEndpoints.includes(arg);\n }\n else {\n return false;\n }\n}\n","import { VERSION } from \"./version\";\nimport { paginate } from \"./paginate\";\nimport { iterator } from \"./iterator\";\nexport { composePaginateRest } from \"./compose-paginate\";\nexport { isPaginatingEndpoint, paginatingEndpoints, } from \"./paginating-endpoints\";\n/**\n * @param octokit Octokit instance\n * @param options Options passed to Octokit constructor\n */\nexport function paginateRest(octokit) {\n return {\n paginate: Object.assign(paginate.bind(null, octokit), {\n iterator: iterator.bind(null, octokit),\n }),\n };\n}\npaginateRest.VERSION = VERSION;\n"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@octokit/plugin-paginate-rest/package.json b/node_modules/@octokit/plugin-paginate-rest/package.json index dd47159..db9a6dc 100644 --- a/node_modules/@octokit/plugin-paginate-rest/package.json +++ b/node_modules/@octokit/plugin-paginate-rest/package.json @@ -1,12 +1,16 @@ { "name": "@octokit/plugin-paginate-rest", "description": "Octokit plugin to paginate REST API endpoint responses", - "version": "2.9.1", + "version": "2.21.3", "license": "MIT", "files": [ "dist-*/", "bin/" ], + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "main": "dist-node/index.js", + "module": "dist-web/index.js", "pika": true, "sideEffects": false, "keywords": [ @@ -15,37 +19,33 @@ "sdk", "toolkit" ], - "repository": "https://github.com/octokit/plugin-paginate-rest.js", + "repository": "github:octokit/plugin-paginate-rest.js", "dependencies": { - "@octokit/types": "^6.8.0" + "@octokit/types": "^6.40.0" }, "peerDependencies": { "@octokit/core": ">=2" }, "devDependencies": { - "@octokit/core": "^3.0.0", - "@octokit/plugin-rest-endpoint-methods": "^4.0.0", - "@pika/pack": "^0.5.0", + "@octokit/core": "^4.0.0", + "@octokit/plugin-rest-endpoint-methods": "^6.0.0", + "@pika/pack": "^0.3.7", "@pika/plugin-build-node": "^0.9.0", "@pika/plugin-build-web": "^0.9.0", "@pika/plugin-ts-standard-pkg": "^0.9.0", "@types/fetch-mock": "^7.3.1", - "@types/jest": "^26.0.0", - "@types/node": "^14.0.4", + "@types/jest": "^28.0.0", + "@types/node": "^16.0.0", "fetch-mock": "^9.0.0", - "jest": "^26.0.1", + "github-openapi-graphql-query": "^2.0.0", + "jest": "^28.0.0", "npm-run-all": "^4.1.5", - "prettier": "^2.0.4", - "semantic-release": "^17.0.0", + "prettier": "2.7.1", "semantic-release-plugin-update-version-in-files": "^1.0.0", - "ts-jest": "^26.0.0", + "ts-jest": "^28.0.0", "typescript": "^4.0.2" }, "publishConfig": { "access": "public" - }, - "source": "dist-src/index.js", - "types": "dist-types/index.d.ts", - "main": "dist-node/index.js", - "module": "dist-web/index.js" + } } diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/README.md b/node_modules/@octokit/plugin-rest-endpoint-methods/README.md index 0658dee..f4a7bbd 100644 --- a/node_modules/@octokit/plugin-rest-endpoint-methods/README.md +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/README.md @@ -45,7 +45,7 @@ const MyOctokit = Octokit.plugin(restEndpointMethods); const octokit = new MyOctokit({ auth: "secret123" }); // https://developer.github.com/v3/users/#get-the-authenticated-user -octokit.users.getAuthenticated(); +octokit.rest.users.getAuthenticated(); ``` There is one method for each REST API endpoint documented at [https://developer.github.com/v3](https://developer.github.com/v3). All endpoint methods are documented in the [docs/](docs/) folder, e.g. [docs/users/getAuthenticated.md](docs/users/getAuthenticated.md) @@ -63,6 +63,8 @@ type UpdateLabelParameters = RestEndpointMethodTypes["issues"]["updateLabel"]["p type UpdateLabelResponse = RestEndpointMethodTypes["issues"]["updateLabel"]["response"]; ``` +In order to get types beyond parameters and responses, check out [`@octokit/openapi-types`](https://github.com/octokit/openapi-types.ts/#readme), which is a direct transpliation from GitHub's official OpenAPI specification. + ## Contributing See [CONTRIBUTING.md](CONTRIBUTING.md) diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js index b68ee7b..abffde8 100644 --- a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js @@ -2,10 +2,60 @@ Object.defineProperty(exports, '__esModule', { value: true }); +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; +} + +function ownKeys(object, enumerableOnly) { + var keys = Object.keys(object); + + if (Object.getOwnPropertySymbols) { + var symbols = Object.getOwnPropertySymbols(object); + if (enumerableOnly) symbols = symbols.filter(function (sym) { + return Object.getOwnPropertyDescriptor(object, sym).enumerable; + }); + keys.push.apply(keys, symbols); + } + + return keys; +} + +function _objectSpread2(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + + if (i % 2) { + ownKeys(Object(source), true).forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } else if (Object.getOwnPropertyDescriptors) { + Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); + } else { + ownKeys(Object(source)).forEach(function (key) { + Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); + }); + } + } + + return target; +} + const Endpoints = { actions: { addSelectedRepoToOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"], cancelWorkflowRun: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"], + createOrUpdateEnvironmentSecret: ["PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"], createOrUpdateOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}"], createOrUpdateRepoSecret: ["PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"], createRegistrationTokenForOrg: ["POST /orgs/{org}/actions/runners/registration-token"], @@ -14,6 +64,7 @@ const Endpoints = { createRemoveTokenForRepo: ["POST /repos/{owner}/{repo}/actions/runners/remove-token"], createWorkflowDispatch: ["POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"], deleteArtifact: ["DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"], + deleteEnvironmentSecret: ["DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"], deleteOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}"], deleteRepoSecret: ["DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"], deleteSelfHostedRunnerFromOrg: ["DELETE /orgs/{org}/actions/runners/{runner_id}"], @@ -30,16 +81,20 @@ const Endpoints = { getAllowedActionsOrganization: ["GET /orgs/{org}/actions/permissions/selected-actions"], getAllowedActionsRepository: ["GET /repos/{owner}/{repo}/actions/permissions/selected-actions"], getArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"], + getEnvironmentPublicKey: ["GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key"], + getEnvironmentSecret: ["GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"], getGithubActionsPermissionsOrganization: ["GET /orgs/{org}/actions/permissions"], getGithubActionsPermissionsRepository: ["GET /repos/{owner}/{repo}/actions/permissions"], getJobForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"], getOrgPublicKey: ["GET /orgs/{org}/actions/secrets/public-key"], getOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}"], + getPendingDeploymentsForRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"], getRepoPermissions: ["GET /repos/{owner}/{repo}/actions/permissions", {}, { renamed: ["actions", "getGithubActionsPermissionsRepository"] }], getRepoPublicKey: ["GET /repos/{owner}/{repo}/actions/secrets/public-key"], getRepoSecret: ["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"], + getReviewsForRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"], getSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}"], getSelfHostedRunnerForRepo: ["GET /repos/{owner}/{repo}/actions/runners/{runner_id}"], getWorkflow: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"], @@ -47,6 +102,7 @@ const Endpoints = { getWorkflowRunUsage: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"], getWorkflowUsage: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"], listArtifactsForRepo: ["GET /repos/{owner}/{repo}/actions/artifacts"], + listEnvironmentSecrets: ["GET /repositories/{repository_id}/environments/{environment_name}/secrets"], listJobsForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"], listOrgSecrets: ["GET /orgs/{org}/actions/secrets"], listRepoSecrets: ["GET /repos/{owner}/{repo}/actions/secrets"], @@ -62,6 +118,7 @@ const Endpoints = { listWorkflowRunsForRepo: ["GET /repos/{owner}/{repo}/actions/runs"], reRunWorkflow: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"], removeSelectedRepoFromOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"], + reviewPendingDeploymentsForRun: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"], setAllowedActionsOrganization: ["PUT /orgs/{org}/actions/permissions/selected-actions"], setAllowedActionsRepository: ["PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"], setGithubActionsPermissionsOrganization: ["PUT /orgs/{org}/actions/permissions"], @@ -164,12 +221,16 @@ const Endpoints = { update: ["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"] }, codeScanning: { + deleteAnalysis: ["DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}"], getAlert: ["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", {}, { renamedParameters: { alert_id: "alert_number" } }], + getAnalysis: ["GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"], + getSarif: ["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"], listAlertsForRepo: ["GET /repos/{owner}/{repo}/code-scanning/alerts"], + listAlertsInstances: ["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"], listRecentAnalyses: ["GET /repos/{owner}/{repo}/code-scanning/analyses"], updateAlert: ["PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"], uploadSarif: ["POST /repos/{owner}/{repo}/code-scanning/sarifs"] @@ -442,6 +503,31 @@ const Endpoints = { updateWebhook: ["PATCH /orgs/{org}/hooks/{hook_id}"], updateWebhookConfigForOrg: ["PATCH /orgs/{org}/hooks/{hook_id}/config"] }, + packages: { + deletePackageForAuthenticatedUser: ["DELETE /user/packages/{package_type}/{package_name}"], + deletePackageForOrg: ["DELETE /orgs/{org}/packages/{package_type}/{package_name}"], + deletePackageVersionForAuthenticatedUser: ["DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}"], + deletePackageVersionForOrg: ["DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"], + getAllPackageVersionsForAPackageOwnedByAnOrg: ["GET /orgs/{org}/packages/{package_type}/{package_name}/versions", {}, { + renamed: ["packages", "getAllPackageVersionsForPackageOwnedByOrg"] + }], + getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}/versions", {}, { + renamed: ["packages", "getAllPackageVersionsForPackageOwnedByAuthenticatedUser"] + }], + getAllPackageVersionsForPackageOwnedByAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}/versions"], + getAllPackageVersionsForPackageOwnedByOrg: ["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"], + getAllPackageVersionsForPackageOwnedByUser: ["GET /users/{username}/packages/{package_type}/{package_name}/versions"], + getPackageForAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}"], + getPackageForOrganization: ["GET /orgs/{org}/packages/{package_type}/{package_name}"], + getPackageForUser: ["GET /users/{username}/packages/{package_type}/{package_name}"], + getPackageVersionForAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}"], + getPackageVersionForOrganization: ["GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"], + getPackageVersionForUser: ["GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"], + restorePackageForAuthenticatedUser: ["POST /user/packages/{package_type}/{package_name}/restore{?token}"], + restorePackageForOrg: ["POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}"], + restorePackageVersionForAuthenticatedUser: ["POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"], + restorePackageVersionForOrg: ["POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"] + }, projects: { addCollaborator: ["PUT /projects/{project_id}/collaborators/{username}", { mediaType: { @@ -671,7 +757,7 @@ const Endpoints = { previews: ["squirrel-girl"] } }, { - deprecated: "octokit.reactions.deleteLegacy() is deprecated, see https://docs.github.com/v3/reactions/#delete-a-reaction-legacy" + deprecated: "octokit.rest.reactions.deleteLegacy() is deprecated, see https://docs.github.com/rest/reference/reactions/#delete-a-reaction-legacy" }], listForCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions", { mediaType: { @@ -740,6 +826,7 @@ const Endpoints = { createForAuthenticatedUser: ["POST /user/repos"], createFork: ["POST /repos/{owner}/{repo}/forks"], createInOrg: ["POST /orgs/{org}/repos"], + createOrUpdateEnvironment: ["PUT /repos/{owner}/{repo}/environments/{environment_name}"], createOrUpdateFileContents: ["PUT /repos/{owner}/{repo}/contents/{path}"], createPagesSite: ["POST /repos/{owner}/{repo}/pages", { mediaType: { @@ -757,6 +844,7 @@ const Endpoints = { delete: ["DELETE /repos/{owner}/{repo}"], deleteAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"], deleteAdminBranchProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"], + deleteAnEnvironment: ["DELETE /repos/{owner}/{repo}/environments/{environment_name}"], deleteBranchProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection"], deleteCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}"], deleteCommitSignatureProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", { @@ -805,6 +893,7 @@ const Endpoints = { get: ["GET /repos/{owner}/{repo}"], getAccessRestrictions: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"], getAdminBranchProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"], + getAllEnvironments: ["GET /repos/{owner}/{repo}/environments"], getAllStatusCheckContexts: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"], getAllTopics: ["GET /repos/{owner}/{repo}/topics", { mediaType: { @@ -832,6 +921,7 @@ const Endpoints = { getDeployKey: ["GET /repos/{owner}/{repo}/keys/{key_id}"], getDeployment: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}"], getDeploymentStatus: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"], + getEnvironment: ["GET /repos/{owner}/{repo}/environments/{environment_name}"], getLatestPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/latest"], getLatestRelease: ["GET /repos/{owner}/{repo}/releases/latest"], getPages: ["GET /repos/{owner}/{repo}/pages"], @@ -840,6 +930,7 @@ const Endpoints = { getPullRequestReviewProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"], getPunchCardStats: ["GET /repos/{owner}/{repo}/stats/punch_card"], getReadme: ["GET /repos/{owner}/{repo}/readme"], + getReadmeInDirectory: ["GET /repos/{owner}/{repo}/readme/{dir}"], getRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}"], getReleaseAsset: ["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"], getReleaseByTag: ["GET /repos/{owner}/{repo}/releases/tags/{tag}"], @@ -1043,7 +1134,7 @@ const Endpoints = { } }; -const VERSION = "4.10.1"; +const VERSION = "4.15.1"; function endpointsToMethods(octokit, endpointsMap) { const newMethods = {}; @@ -1126,19 +1217,11 @@ function decorate(octokit, scope, methodName, defaults, decorations) { return Object.assign(withDecorations, requestWithDefaults); } -/** - * This plugin is a 1:1 copy of internal @octokit/rest plugins. The primary - * goal is to rebuild @octokit/rest on top of @octokit/core. Once that is - * done, we will remove the registerEndpoints methods and return the methods - * directly as with the other plugins. At that point we will also remove the - * legacy workarounds and deprecations. - * - * See the plan at - * https://github.com/octokit/plugin-rest-endpoint-methods.js/pull/1 - */ - function restEndpointMethods(octokit) { - return endpointsToMethods(octokit, Endpoints); + const api = endpointsToMethods(octokit, Endpoints); + return _objectSpread2(_objectSpread2({}, api), {}, { + rest: api + }); } restEndpointMethods.VERSION = VERSION; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js.map b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js.map index 3522fe7..6fee470 100644 --- a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js.map +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sources":["../dist-src/generated/endpoints.js","../dist-src/version.js","../dist-src/endpoints-to-methods.js","../dist-src/index.js"],"sourcesContent":["const Endpoints = {\n actions: {\n addSelectedRepoToOrgSecret: [\n \"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\",\n ],\n cancelWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel\",\n ],\n createOrUpdateOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}\"],\n createOrUpdateRepoSecret: [\n \"PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}\",\n ],\n createRegistrationTokenForOrg: [\n \"POST /orgs/{org}/actions/runners/registration-token\",\n ],\n createRegistrationTokenForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/registration-token\",\n ],\n createRemoveTokenForOrg: [\"POST /orgs/{org}/actions/runners/remove-token\"],\n createRemoveTokenForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/remove-token\",\n ],\n createWorkflowDispatch: [\n \"POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches\",\n ],\n deleteArtifact: [\n \"DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\",\n ],\n deleteOrgSecret: [\"DELETE /orgs/{org}/actions/secrets/{secret_name}\"],\n deleteRepoSecret: [\n \"DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}\",\n ],\n deleteSelfHostedRunnerFromOrg: [\n \"DELETE /orgs/{org}/actions/runners/{runner_id}\",\n ],\n deleteSelfHostedRunnerFromRepo: [\n \"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}\",\n ],\n deleteWorkflowRun: [\"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n deleteWorkflowRunLogs: [\n \"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs\",\n ],\n disableSelectedRepositoryGithubActionsOrganization: [\n \"DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}\",\n ],\n disableWorkflow: [\n \"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable\",\n ],\n downloadArtifact: [\n \"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}\",\n ],\n downloadJobLogsForWorkflowRun: [\n \"GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs\",\n ],\n downloadWorkflowRunLogs: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs\",\n ],\n enableSelectedRepositoryGithubActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/repositories/{repository_id}\",\n ],\n enableWorkflow: [\n \"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable\",\n ],\n getAllowedActionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/selected-actions\",\n ],\n getAllowedActionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions/selected-actions\",\n ],\n getArtifact: [\"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"],\n getGithubActionsPermissionsOrganization: [\n \"GET /orgs/{org}/actions/permissions\",\n ],\n getGithubActionsPermissionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions\",\n ],\n getJobForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/actions/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/actions/secrets/{secret_name}\"],\n getRepoPermissions: [\n \"GET /repos/{owner}/{repo}/actions/permissions\",\n {},\n { renamed: [\"actions\", \"getGithubActionsPermissionsRepository\"] },\n ],\n getRepoPublicKey: [\"GET /repos/{owner}/{repo}/actions/secrets/public-key\"],\n getRepoSecret: [\"GET /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n getSelfHostedRunnerForOrg: [\"GET /orgs/{org}/actions/runners/{runner_id}\"],\n getSelfHostedRunnerForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/{runner_id}\",\n ],\n getWorkflow: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}\"],\n getWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n getWorkflowRunUsage: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing\",\n ],\n getWorkflowUsage: [\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing\",\n ],\n listArtifactsForRepo: [\"GET /repos/{owner}/{repo}/actions/artifacts\"],\n listJobsForWorkflowRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\",\n ],\n listOrgSecrets: [\"GET /orgs/{org}/actions/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/actions/secrets\"],\n listRepoWorkflows: [\"GET /repos/{owner}/{repo}/actions/workflows\"],\n listRunnerApplicationsForOrg: [\"GET /orgs/{org}/actions/runners/downloads\"],\n listRunnerApplicationsForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/downloads\",\n ],\n listSelectedReposForOrgSecret: [\n \"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\",\n ],\n listSelectedRepositoriesEnabledGithubActionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/repositories\",\n ],\n listSelfHostedRunnersForOrg: [\"GET /orgs/{org}/actions/runners\"],\n listSelfHostedRunnersForRepo: [\"GET /repos/{owner}/{repo}/actions/runners\"],\n listWorkflowRunArtifacts: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\",\n ],\n listWorkflowRuns: [\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\",\n ],\n listWorkflowRunsForRepo: [\"GET /repos/{owner}/{repo}/actions/runs\"],\n reRunWorkflow: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun\"],\n removeSelectedRepoFromOrgSecret: [\n \"DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\",\n ],\n setAllowedActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/selected-actions\",\n ],\n setAllowedActionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions/selected-actions\",\n ],\n setGithubActionsPermissionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions\",\n ],\n setGithubActionsPermissionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions\",\n ],\n setSelectedReposForOrgSecret: [\n \"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories\",\n ],\n setSelectedRepositoriesEnabledGithubActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/repositories\",\n ],\n },\n activity: {\n checkRepoIsStarredByAuthenticatedUser: [\"GET /user/starred/{owner}/{repo}\"],\n deleteRepoSubscription: [\"DELETE /repos/{owner}/{repo}/subscription\"],\n deleteThreadSubscription: [\n \"DELETE /notifications/threads/{thread_id}/subscription\",\n ],\n getFeeds: [\"GET /feeds\"],\n getRepoSubscription: [\"GET /repos/{owner}/{repo}/subscription\"],\n getThread: [\"GET /notifications/threads/{thread_id}\"],\n getThreadSubscriptionForAuthenticatedUser: [\n \"GET /notifications/threads/{thread_id}/subscription\",\n ],\n listEventsForAuthenticatedUser: [\"GET /users/{username}/events\"],\n listNotificationsForAuthenticatedUser: [\"GET /notifications\"],\n listOrgEventsForAuthenticatedUser: [\n \"GET /users/{username}/events/orgs/{org}\",\n ],\n listPublicEvents: [\"GET /events\"],\n listPublicEventsForRepoNetwork: [\"GET /networks/{owner}/{repo}/events\"],\n listPublicEventsForUser: [\"GET /users/{username}/events/public\"],\n listPublicOrgEvents: [\"GET /orgs/{org}/events\"],\n listReceivedEventsForUser: [\"GET /users/{username}/received_events\"],\n listReceivedPublicEventsForUser: [\n \"GET /users/{username}/received_events/public\",\n ],\n listRepoEvents: [\"GET /repos/{owner}/{repo}/events\"],\n listRepoNotificationsForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/notifications\",\n ],\n listReposStarredByAuthenticatedUser: [\"GET /user/starred\"],\n listReposStarredByUser: [\"GET /users/{username}/starred\"],\n listReposWatchedByUser: [\"GET /users/{username}/subscriptions\"],\n listStargazersForRepo: [\"GET /repos/{owner}/{repo}/stargazers\"],\n listWatchedReposForAuthenticatedUser: [\"GET /user/subscriptions\"],\n listWatchersForRepo: [\"GET /repos/{owner}/{repo}/subscribers\"],\n markNotificationsAsRead: [\"PUT /notifications\"],\n markRepoNotificationsAsRead: [\"PUT /repos/{owner}/{repo}/notifications\"],\n markThreadAsRead: [\"PATCH /notifications/threads/{thread_id}\"],\n setRepoSubscription: [\"PUT /repos/{owner}/{repo}/subscription\"],\n setThreadSubscription: [\n \"PUT /notifications/threads/{thread_id}/subscription\",\n ],\n starRepoForAuthenticatedUser: [\"PUT /user/starred/{owner}/{repo}\"],\n unstarRepoForAuthenticatedUser: [\"DELETE /user/starred/{owner}/{repo}\"],\n },\n apps: {\n addRepoToInstallation: [\n \"PUT /user/installations/{installation_id}/repositories/{repository_id}\",\n ],\n checkToken: [\"POST /applications/{client_id}/token\"],\n createContentAttachment: [\n \"POST /content_references/{content_reference_id}/attachments\",\n { mediaType: { previews: [\"corsair\"] } },\n ],\n createFromManifest: [\"POST /app-manifests/{code}/conversions\"],\n createInstallationAccessToken: [\n \"POST /app/installations/{installation_id}/access_tokens\",\n ],\n deleteAuthorization: [\"DELETE /applications/{client_id}/grant\"],\n deleteInstallation: [\"DELETE /app/installations/{installation_id}\"],\n deleteToken: [\"DELETE /applications/{client_id}/token\"],\n getAuthenticated: [\"GET /app\"],\n getBySlug: [\"GET /apps/{app_slug}\"],\n getInstallation: [\"GET /app/installations/{installation_id}\"],\n getOrgInstallation: [\"GET /orgs/{org}/installation\"],\n getRepoInstallation: [\"GET /repos/{owner}/{repo}/installation\"],\n getSubscriptionPlanForAccount: [\n \"GET /marketplace_listing/accounts/{account_id}\",\n ],\n getSubscriptionPlanForAccountStubbed: [\n \"GET /marketplace_listing/stubbed/accounts/{account_id}\",\n ],\n getUserInstallation: [\"GET /users/{username}/installation\"],\n getWebhookConfigForApp: [\"GET /app/hook/config\"],\n listAccountsForPlan: [\"GET /marketplace_listing/plans/{plan_id}/accounts\"],\n listAccountsForPlanStubbed: [\n \"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\",\n ],\n listInstallationReposForAuthenticatedUser: [\n \"GET /user/installations/{installation_id}/repositories\",\n ],\n listInstallations: [\"GET /app/installations\"],\n listInstallationsForAuthenticatedUser: [\"GET /user/installations\"],\n listPlans: [\"GET /marketplace_listing/plans\"],\n listPlansStubbed: [\"GET /marketplace_listing/stubbed/plans\"],\n listReposAccessibleToInstallation: [\"GET /installation/repositories\"],\n listSubscriptionsForAuthenticatedUser: [\"GET /user/marketplace_purchases\"],\n listSubscriptionsForAuthenticatedUserStubbed: [\n \"GET /user/marketplace_purchases/stubbed\",\n ],\n removeRepoFromInstallation: [\n \"DELETE /user/installations/{installation_id}/repositories/{repository_id}\",\n ],\n resetToken: [\"PATCH /applications/{client_id}/token\"],\n revokeInstallationAccessToken: [\"DELETE /installation/token\"],\n scopeToken: [\"POST /applications/{client_id}/token/scoped\"],\n suspendInstallation: [\"PUT /app/installations/{installation_id}/suspended\"],\n unsuspendInstallation: [\n \"DELETE /app/installations/{installation_id}/suspended\",\n ],\n updateWebhookConfigForApp: [\"PATCH /app/hook/config\"],\n },\n billing: {\n getGithubActionsBillingOrg: [\"GET /orgs/{org}/settings/billing/actions\"],\n getGithubActionsBillingUser: [\n \"GET /users/{username}/settings/billing/actions\",\n ],\n getGithubPackagesBillingOrg: [\"GET /orgs/{org}/settings/billing/packages\"],\n getGithubPackagesBillingUser: [\n \"GET /users/{username}/settings/billing/packages\",\n ],\n getSharedStorageBillingOrg: [\n \"GET /orgs/{org}/settings/billing/shared-storage\",\n ],\n getSharedStorageBillingUser: [\n \"GET /users/{username}/settings/billing/shared-storage\",\n ],\n },\n checks: {\n create: [\"POST /repos/{owner}/{repo}/check-runs\"],\n createSuite: [\"POST /repos/{owner}/{repo}/check-suites\"],\n get: [\"GET /repos/{owner}/{repo}/check-runs/{check_run_id}\"],\n getSuite: [\"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}\"],\n listAnnotations: [\n \"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\",\n ],\n listForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\"],\n listForSuite: [\n \"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\",\n ],\n listSuitesForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\"],\n rerequestSuite: [\n \"POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest\",\n ],\n setSuitesPreferences: [\n \"PATCH /repos/{owner}/{repo}/check-suites/preferences\",\n ],\n update: [\"PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}\"],\n },\n codeScanning: {\n getAlert: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\",\n {},\n { renamedParameters: { alert_id: \"alert_number\" } },\n ],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/code-scanning/alerts\"],\n listRecentAnalyses: [\"GET /repos/{owner}/{repo}/code-scanning/analyses\"],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\",\n ],\n uploadSarif: [\"POST /repos/{owner}/{repo}/code-scanning/sarifs\"],\n },\n codesOfConduct: {\n getAllCodesOfConduct: [\n \"GET /codes_of_conduct\",\n { mediaType: { previews: [\"scarlet-witch\"] } },\n ],\n getConductCode: [\n \"GET /codes_of_conduct/{key}\",\n { mediaType: { previews: [\"scarlet-witch\"] } },\n ],\n getForRepo: [\n \"GET /repos/{owner}/{repo}/community/code_of_conduct\",\n { mediaType: { previews: [\"scarlet-witch\"] } },\n ],\n },\n emojis: { get: [\"GET /emojis\"] },\n enterpriseAdmin: {\n disableSelectedOrganizationGithubActionsEnterprise: [\n \"DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}\",\n ],\n enableSelectedOrganizationGithubActionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}\",\n ],\n getAllowedActionsEnterprise: [\n \"GET /enterprises/{enterprise}/actions/permissions/selected-actions\",\n ],\n getGithubActionsPermissionsEnterprise: [\n \"GET /enterprises/{enterprise}/actions/permissions\",\n ],\n listSelectedOrganizationsEnabledGithubActionsEnterprise: [\n \"GET /enterprises/{enterprise}/actions/permissions/organizations\",\n ],\n setAllowedActionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions/selected-actions\",\n ],\n setGithubActionsPermissionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions\",\n ],\n setSelectedOrganizationsEnabledGithubActionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions/organizations\",\n ],\n },\n gists: {\n checkIsStarred: [\"GET /gists/{gist_id}/star\"],\n create: [\"POST /gists\"],\n createComment: [\"POST /gists/{gist_id}/comments\"],\n delete: [\"DELETE /gists/{gist_id}\"],\n deleteComment: [\"DELETE /gists/{gist_id}/comments/{comment_id}\"],\n fork: [\"POST /gists/{gist_id}/forks\"],\n get: [\"GET /gists/{gist_id}\"],\n getComment: [\"GET /gists/{gist_id}/comments/{comment_id}\"],\n getRevision: [\"GET /gists/{gist_id}/{sha}\"],\n list: [\"GET /gists\"],\n listComments: [\"GET /gists/{gist_id}/comments\"],\n listCommits: [\"GET /gists/{gist_id}/commits\"],\n listForUser: [\"GET /users/{username}/gists\"],\n listForks: [\"GET /gists/{gist_id}/forks\"],\n listPublic: [\"GET /gists/public\"],\n listStarred: [\"GET /gists/starred\"],\n star: [\"PUT /gists/{gist_id}/star\"],\n unstar: [\"DELETE /gists/{gist_id}/star\"],\n update: [\"PATCH /gists/{gist_id}\"],\n updateComment: [\"PATCH /gists/{gist_id}/comments/{comment_id}\"],\n },\n git: {\n createBlob: [\"POST /repos/{owner}/{repo}/git/blobs\"],\n createCommit: [\"POST /repos/{owner}/{repo}/git/commits\"],\n createRef: [\"POST /repos/{owner}/{repo}/git/refs\"],\n createTag: [\"POST /repos/{owner}/{repo}/git/tags\"],\n createTree: [\"POST /repos/{owner}/{repo}/git/trees\"],\n deleteRef: [\"DELETE /repos/{owner}/{repo}/git/refs/{ref}\"],\n getBlob: [\"GET /repos/{owner}/{repo}/git/blobs/{file_sha}\"],\n getCommit: [\"GET /repos/{owner}/{repo}/git/commits/{commit_sha}\"],\n getRef: [\"GET /repos/{owner}/{repo}/git/ref/{ref}\"],\n getTag: [\"GET /repos/{owner}/{repo}/git/tags/{tag_sha}\"],\n getTree: [\"GET /repos/{owner}/{repo}/git/trees/{tree_sha}\"],\n listMatchingRefs: [\"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\"],\n updateRef: [\"PATCH /repos/{owner}/{repo}/git/refs/{ref}\"],\n },\n gitignore: {\n getAllTemplates: [\"GET /gitignore/templates\"],\n getTemplate: [\"GET /gitignore/templates/{name}\"],\n },\n interactions: {\n getRestrictionsForAuthenticatedUser: [\"GET /user/interaction-limits\"],\n getRestrictionsForOrg: [\"GET /orgs/{org}/interaction-limits\"],\n getRestrictionsForRepo: [\"GET /repos/{owner}/{repo}/interaction-limits\"],\n getRestrictionsForYourPublicRepos: [\n \"GET /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"getRestrictionsForAuthenticatedUser\"] },\n ],\n removeRestrictionsForAuthenticatedUser: [\"DELETE /user/interaction-limits\"],\n removeRestrictionsForOrg: [\"DELETE /orgs/{org}/interaction-limits\"],\n removeRestrictionsForRepo: [\n \"DELETE /repos/{owner}/{repo}/interaction-limits\",\n ],\n removeRestrictionsForYourPublicRepos: [\n \"DELETE /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"removeRestrictionsForAuthenticatedUser\"] },\n ],\n setRestrictionsForAuthenticatedUser: [\"PUT /user/interaction-limits\"],\n setRestrictionsForOrg: [\"PUT /orgs/{org}/interaction-limits\"],\n setRestrictionsForRepo: [\"PUT /repos/{owner}/{repo}/interaction-limits\"],\n setRestrictionsForYourPublicRepos: [\n \"PUT /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"setRestrictionsForAuthenticatedUser\"] },\n ],\n },\n issues: {\n addAssignees: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/assignees\",\n ],\n addLabels: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n checkUserCanBeAssigned: [\"GET /repos/{owner}/{repo}/assignees/{assignee}\"],\n create: [\"POST /repos/{owner}/{repo}/issues\"],\n createComment: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/comments\",\n ],\n createLabel: [\"POST /repos/{owner}/{repo}/labels\"],\n createMilestone: [\"POST /repos/{owner}/{repo}/milestones\"],\n deleteComment: [\n \"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}\",\n ],\n deleteLabel: [\"DELETE /repos/{owner}/{repo}/labels/{name}\"],\n deleteMilestone: [\n \"DELETE /repos/{owner}/{repo}/milestones/{milestone_number}\",\n ],\n get: [\"GET /repos/{owner}/{repo}/issues/{issue_number}\"],\n getComment: [\"GET /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n getEvent: [\"GET /repos/{owner}/{repo}/issues/events/{event_id}\"],\n getLabel: [\"GET /repos/{owner}/{repo}/labels/{name}\"],\n getMilestone: [\"GET /repos/{owner}/{repo}/milestones/{milestone_number}\"],\n list: [\"GET /issues\"],\n listAssignees: [\"GET /repos/{owner}/{repo}/assignees\"],\n listComments: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\"],\n listCommentsForRepo: [\"GET /repos/{owner}/{repo}/issues/comments\"],\n listEvents: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/events\"],\n listEventsForRepo: [\"GET /repos/{owner}/{repo}/issues/events\"],\n listEventsForTimeline: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\",\n { mediaType: { previews: [\"mockingbird\"] } },\n ],\n listForAuthenticatedUser: [\"GET /user/issues\"],\n listForOrg: [\"GET /orgs/{org}/issues\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/issues\"],\n listLabelsForMilestone: [\n \"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\",\n ],\n listLabelsForRepo: [\"GET /repos/{owner}/{repo}/labels\"],\n listLabelsOnIssue: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\",\n ],\n listMilestones: [\"GET /repos/{owner}/{repo}/milestones\"],\n lock: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n removeAllLabels: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels\",\n ],\n removeAssignees: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees\",\n ],\n removeLabel: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}\",\n ],\n setLabels: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n unlock: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n update: [\"PATCH /repos/{owner}/{repo}/issues/{issue_number}\"],\n updateComment: [\"PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n updateLabel: [\"PATCH /repos/{owner}/{repo}/labels/{name}\"],\n updateMilestone: [\n \"PATCH /repos/{owner}/{repo}/milestones/{milestone_number}\",\n ],\n },\n licenses: {\n get: [\"GET /licenses/{license}\"],\n getAllCommonlyUsed: [\"GET /licenses\"],\n getForRepo: [\"GET /repos/{owner}/{repo}/license\"],\n },\n markdown: {\n render: [\"POST /markdown\"],\n renderRaw: [\n \"POST /markdown/raw\",\n { headers: { \"content-type\": \"text/plain; charset=utf-8\" } },\n ],\n },\n meta: {\n get: [\"GET /meta\"],\n getOctocat: [\"GET /octocat\"],\n getZen: [\"GET /zen\"],\n root: [\"GET /\"],\n },\n migrations: {\n cancelImport: [\"DELETE /repos/{owner}/{repo}/import\"],\n deleteArchiveForAuthenticatedUser: [\n \"DELETE /user/migrations/{migration_id}/archive\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n deleteArchiveForOrg: [\n \"DELETE /orgs/{org}/migrations/{migration_id}/archive\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n downloadArchiveForOrg: [\n \"GET /orgs/{org}/migrations/{migration_id}/archive\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n getArchiveForAuthenticatedUser: [\n \"GET /user/migrations/{migration_id}/archive\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n getCommitAuthors: [\"GET /repos/{owner}/{repo}/import/authors\"],\n getImportStatus: [\"GET /repos/{owner}/{repo}/import\"],\n getLargeFiles: [\"GET /repos/{owner}/{repo}/import/large_files\"],\n getStatusForAuthenticatedUser: [\n \"GET /user/migrations/{migration_id}\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n getStatusForOrg: [\n \"GET /orgs/{org}/migrations/{migration_id}\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n listForAuthenticatedUser: [\n \"GET /user/migrations\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n listForOrg: [\n \"GET /orgs/{org}/migrations\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n listReposForOrg: [\n \"GET /orgs/{org}/migrations/{migration_id}/repositories\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n listReposForUser: [\n \"GET /user/migrations/{migration_id}/repositories\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n mapCommitAuthor: [\"PATCH /repos/{owner}/{repo}/import/authors/{author_id}\"],\n setLfsPreference: [\"PATCH /repos/{owner}/{repo}/import/lfs\"],\n startForAuthenticatedUser: [\"POST /user/migrations\"],\n startForOrg: [\"POST /orgs/{org}/migrations\"],\n startImport: [\"PUT /repos/{owner}/{repo}/import\"],\n unlockRepoForAuthenticatedUser: [\n \"DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n unlockRepoForOrg: [\n \"DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n updateImport: [\"PATCH /repos/{owner}/{repo}/import\"],\n },\n orgs: {\n blockUser: [\"PUT /orgs/{org}/blocks/{username}\"],\n cancelInvitation: [\"DELETE /orgs/{org}/invitations/{invitation_id}\"],\n checkBlockedUser: [\"GET /orgs/{org}/blocks/{username}\"],\n checkMembershipForUser: [\"GET /orgs/{org}/members/{username}\"],\n checkPublicMembershipForUser: [\"GET /orgs/{org}/public_members/{username}\"],\n convertMemberToOutsideCollaborator: [\n \"PUT /orgs/{org}/outside_collaborators/{username}\",\n ],\n createInvitation: [\"POST /orgs/{org}/invitations\"],\n createWebhook: [\"POST /orgs/{org}/hooks\"],\n deleteWebhook: [\"DELETE /orgs/{org}/hooks/{hook_id}\"],\n get: [\"GET /orgs/{org}\"],\n getMembershipForAuthenticatedUser: [\"GET /user/memberships/orgs/{org}\"],\n getMembershipForUser: [\"GET /orgs/{org}/memberships/{username}\"],\n getWebhook: [\"GET /orgs/{org}/hooks/{hook_id}\"],\n getWebhookConfigForOrg: [\"GET /orgs/{org}/hooks/{hook_id}/config\"],\n list: [\"GET /organizations\"],\n listAppInstallations: [\"GET /orgs/{org}/installations\"],\n listBlockedUsers: [\"GET /orgs/{org}/blocks\"],\n listFailedInvitations: [\"GET /orgs/{org}/failed_invitations\"],\n listForAuthenticatedUser: [\"GET /user/orgs\"],\n listForUser: [\"GET /users/{username}/orgs\"],\n listInvitationTeams: [\"GET /orgs/{org}/invitations/{invitation_id}/teams\"],\n listMembers: [\"GET /orgs/{org}/members\"],\n listMembershipsForAuthenticatedUser: [\"GET /user/memberships/orgs\"],\n listOutsideCollaborators: [\"GET /orgs/{org}/outside_collaborators\"],\n listPendingInvitations: [\"GET /orgs/{org}/invitations\"],\n listPublicMembers: [\"GET /orgs/{org}/public_members\"],\n listWebhooks: [\"GET /orgs/{org}/hooks\"],\n pingWebhook: [\"POST /orgs/{org}/hooks/{hook_id}/pings\"],\n removeMember: [\"DELETE /orgs/{org}/members/{username}\"],\n removeMembershipForUser: [\"DELETE /orgs/{org}/memberships/{username}\"],\n removeOutsideCollaborator: [\n \"DELETE /orgs/{org}/outside_collaborators/{username}\",\n ],\n removePublicMembershipForAuthenticatedUser: [\n \"DELETE /orgs/{org}/public_members/{username}\",\n ],\n setMembershipForUser: [\"PUT /orgs/{org}/memberships/{username}\"],\n setPublicMembershipForAuthenticatedUser: [\n \"PUT /orgs/{org}/public_members/{username}\",\n ],\n unblockUser: [\"DELETE /orgs/{org}/blocks/{username}\"],\n update: [\"PATCH /orgs/{org}\"],\n updateMembershipForAuthenticatedUser: [\n \"PATCH /user/memberships/orgs/{org}\",\n ],\n updateWebhook: [\"PATCH /orgs/{org}/hooks/{hook_id}\"],\n updateWebhookConfigForOrg: [\"PATCH /orgs/{org}/hooks/{hook_id}/config\"],\n },\n projects: {\n addCollaborator: [\n \"PUT /projects/{project_id}/collaborators/{username}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n createCard: [\n \"POST /projects/columns/{column_id}/cards\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n createColumn: [\n \"POST /projects/{project_id}/columns\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n createForAuthenticatedUser: [\n \"POST /user/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n createForOrg: [\n \"POST /orgs/{org}/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n createForRepo: [\n \"POST /repos/{owner}/{repo}/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n delete: [\n \"DELETE /projects/{project_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n deleteCard: [\n \"DELETE /projects/columns/cards/{card_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n deleteColumn: [\n \"DELETE /projects/columns/{column_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n get: [\n \"GET /projects/{project_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n getCard: [\n \"GET /projects/columns/cards/{card_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n getColumn: [\n \"GET /projects/columns/{column_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n getPermissionForUser: [\n \"GET /projects/{project_id}/collaborators/{username}/permission\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listCards: [\n \"GET /projects/columns/{column_id}/cards\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listCollaborators: [\n \"GET /projects/{project_id}/collaborators\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listColumns: [\n \"GET /projects/{project_id}/columns\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listForOrg: [\n \"GET /orgs/{org}/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listForRepo: [\n \"GET /repos/{owner}/{repo}/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listForUser: [\n \"GET /users/{username}/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n moveCard: [\n \"POST /projects/columns/cards/{card_id}/moves\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n moveColumn: [\n \"POST /projects/columns/{column_id}/moves\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n removeCollaborator: [\n \"DELETE /projects/{project_id}/collaborators/{username}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n update: [\n \"PATCH /projects/{project_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n updateCard: [\n \"PATCH /projects/columns/cards/{card_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n updateColumn: [\n \"PATCH /projects/columns/{column_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n },\n pulls: {\n checkIfMerged: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n create: [\"POST /repos/{owner}/{repo}/pulls\"],\n createReplyForReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies\",\n ],\n createReview: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n createReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments\",\n ],\n deletePendingReview: [\n \"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\",\n ],\n deleteReviewComment: [\n \"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}\",\n ],\n dismissReview: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals\",\n ],\n get: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}\"],\n getReview: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\",\n ],\n getReviewComment: [\"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}\"],\n list: [\"GET /repos/{owner}/{repo}/pulls\"],\n listCommentsForReview: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\",\n ],\n listCommits: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\"],\n listFiles: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\"],\n listRequestedReviewers: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n ],\n listReviewComments: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\",\n ],\n listReviewCommentsForRepo: [\"GET /repos/{owner}/{repo}/pulls/comments\"],\n listReviews: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n merge: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n removeRequestedReviewers: [\n \"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n ],\n requestReviewers: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n ],\n submitReview: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events\",\n ],\n update: [\"PATCH /repos/{owner}/{repo}/pulls/{pull_number}\"],\n updateBranch: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch\",\n { mediaType: { previews: [\"lydian\"] } },\n ],\n updateReview: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\",\n ],\n updateReviewComment: [\n \"PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}\",\n ],\n },\n rateLimit: { get: [\"GET /rate_limit\"] },\n reactions: {\n createForCommitComment: [\n \"POST /repos/{owner}/{repo}/comments/{comment_id}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n createForIssue: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n createForIssueComment: [\n \"POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n createForPullRequestReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n createForTeamDiscussionCommentInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n createForTeamDiscussionInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteForCommitComment: [\n \"DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteForIssue: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteForIssueComment: [\n \"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteForPullRequestComment: [\n \"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteForTeamDiscussion: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteForTeamDiscussionComment: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteLegacy: [\n \"DELETE /reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n {\n deprecated: \"octokit.reactions.deleteLegacy() is deprecated, see https://docs.github.com/v3/reactions/#delete-a-reaction-legacy\",\n },\n ],\n listForCommitComment: [\n \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n listForIssue: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n listForIssueComment: [\n \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n listForPullRequestReviewComment: [\n \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n listForTeamDiscussionCommentInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n listForTeamDiscussionInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n },\n repos: {\n acceptInvitation: [\"PATCH /user/repository_invitations/{invitation_id}\"],\n addAppAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" },\n ],\n addCollaborator: [\"PUT /repos/{owner}/{repo}/collaborators/{username}\"],\n addStatusCheckContexts: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" },\n ],\n addTeamAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" },\n ],\n addUserAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" },\n ],\n checkCollaborator: [\"GET /repos/{owner}/{repo}/collaborators/{username}\"],\n checkVulnerabilityAlerts: [\n \"GET /repos/{owner}/{repo}/vulnerability-alerts\",\n { mediaType: { previews: [\"dorian\"] } },\n ],\n compareCommits: [\"GET /repos/{owner}/{repo}/compare/{base}...{head}\"],\n createCommitComment: [\n \"POST /repos/{owner}/{repo}/commits/{commit_sha}/comments\",\n ],\n createCommitSignatureProtection: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\",\n { mediaType: { previews: [\"zzzax\"] } },\n ],\n createCommitStatus: [\"POST /repos/{owner}/{repo}/statuses/{sha}\"],\n createDeployKey: [\"POST /repos/{owner}/{repo}/keys\"],\n createDeployment: [\"POST /repos/{owner}/{repo}/deployments\"],\n createDeploymentStatus: [\n \"POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\",\n ],\n createDispatchEvent: [\"POST /repos/{owner}/{repo}/dispatches\"],\n createForAuthenticatedUser: [\"POST /user/repos\"],\n createFork: [\"POST /repos/{owner}/{repo}/forks\"],\n createInOrg: [\"POST /orgs/{org}/repos\"],\n createOrUpdateFileContents: [\"PUT /repos/{owner}/{repo}/contents/{path}\"],\n createPagesSite: [\n \"POST /repos/{owner}/{repo}/pages\",\n { mediaType: { previews: [\"switcheroo\"] } },\n ],\n createRelease: [\"POST /repos/{owner}/{repo}/releases\"],\n createUsingTemplate: [\n \"POST /repos/{template_owner}/{template_repo}/generate\",\n { mediaType: { previews: [\"baptiste\"] } },\n ],\n createWebhook: [\"POST /repos/{owner}/{repo}/hooks\"],\n declineInvitation: [\"DELETE /user/repository_invitations/{invitation_id}\"],\n delete: [\"DELETE /repos/{owner}/{repo}\"],\n deleteAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\",\n ],\n deleteAdminBranchProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\",\n ],\n deleteBranchProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection\",\n ],\n deleteCommitComment: [\"DELETE /repos/{owner}/{repo}/comments/{comment_id}\"],\n deleteCommitSignatureProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\",\n { mediaType: { previews: [\"zzzax\"] } },\n ],\n deleteDeployKey: [\"DELETE /repos/{owner}/{repo}/keys/{key_id}\"],\n deleteDeployment: [\n \"DELETE /repos/{owner}/{repo}/deployments/{deployment_id}\",\n ],\n deleteFile: [\"DELETE /repos/{owner}/{repo}/contents/{path}\"],\n deleteInvitation: [\n \"DELETE /repos/{owner}/{repo}/invitations/{invitation_id}\",\n ],\n deletePagesSite: [\n \"DELETE /repos/{owner}/{repo}/pages\",\n { mediaType: { previews: [\"switcheroo\"] } },\n ],\n deletePullRequestReviewProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\",\n ],\n deleteRelease: [\"DELETE /repos/{owner}/{repo}/releases/{release_id}\"],\n deleteReleaseAsset: [\n \"DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}\",\n ],\n deleteWebhook: [\"DELETE /repos/{owner}/{repo}/hooks/{hook_id}\"],\n disableAutomatedSecurityFixes: [\n \"DELETE /repos/{owner}/{repo}/automated-security-fixes\",\n { mediaType: { previews: [\"london\"] } },\n ],\n disableVulnerabilityAlerts: [\n \"DELETE /repos/{owner}/{repo}/vulnerability-alerts\",\n { mediaType: { previews: [\"dorian\"] } },\n ],\n downloadArchive: [\n \"GET /repos/{owner}/{repo}/zipball/{ref}\",\n {},\n { renamed: [\"repos\", \"downloadZipballArchive\"] },\n ],\n downloadTarballArchive: [\"GET /repos/{owner}/{repo}/tarball/{ref}\"],\n downloadZipballArchive: [\"GET /repos/{owner}/{repo}/zipball/{ref}\"],\n enableAutomatedSecurityFixes: [\n \"PUT /repos/{owner}/{repo}/automated-security-fixes\",\n { mediaType: { previews: [\"london\"] } },\n ],\n enableVulnerabilityAlerts: [\n \"PUT /repos/{owner}/{repo}/vulnerability-alerts\",\n { mediaType: { previews: [\"dorian\"] } },\n ],\n get: [\"GET /repos/{owner}/{repo}\"],\n getAccessRestrictions: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\",\n ],\n getAdminBranchProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\",\n ],\n getAllStatusCheckContexts: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n ],\n getAllTopics: [\n \"GET /repos/{owner}/{repo}/topics\",\n { mediaType: { previews: [\"mercy\"] } },\n ],\n getAppsWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n ],\n getBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}\"],\n getBranchProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection\",\n ],\n getClones: [\"GET /repos/{owner}/{repo}/traffic/clones\"],\n getCodeFrequencyStats: [\"GET /repos/{owner}/{repo}/stats/code_frequency\"],\n getCollaboratorPermissionLevel: [\n \"GET /repos/{owner}/{repo}/collaborators/{username}/permission\",\n ],\n getCombinedStatusForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/status\"],\n getCommit: [\"GET /repos/{owner}/{repo}/commits/{ref}\"],\n getCommitActivityStats: [\"GET /repos/{owner}/{repo}/stats/commit_activity\"],\n getCommitComment: [\"GET /repos/{owner}/{repo}/comments/{comment_id}\"],\n getCommitSignatureProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\",\n { mediaType: { previews: [\"zzzax\"] } },\n ],\n getCommunityProfileMetrics: [\"GET /repos/{owner}/{repo}/community/profile\"],\n getContent: [\"GET /repos/{owner}/{repo}/contents/{path}\"],\n getContributorsStats: [\"GET /repos/{owner}/{repo}/stats/contributors\"],\n getDeployKey: [\"GET /repos/{owner}/{repo}/keys/{key_id}\"],\n getDeployment: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}\"],\n getDeploymentStatus: [\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}\",\n ],\n getLatestPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/latest\"],\n getLatestRelease: [\"GET /repos/{owner}/{repo}/releases/latest\"],\n getPages: [\"GET /repos/{owner}/{repo}/pages\"],\n getPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/{build_id}\"],\n getParticipationStats: [\"GET /repos/{owner}/{repo}/stats/participation\"],\n getPullRequestReviewProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\",\n ],\n getPunchCardStats: [\"GET /repos/{owner}/{repo}/stats/punch_card\"],\n getReadme: [\"GET /repos/{owner}/{repo}/readme\"],\n getRelease: [\"GET /repos/{owner}/{repo}/releases/{release_id}\"],\n getReleaseAsset: [\"GET /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n getReleaseByTag: [\"GET /repos/{owner}/{repo}/releases/tags/{tag}\"],\n getStatusChecksProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n ],\n getTeamsWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n ],\n getTopPaths: [\"GET /repos/{owner}/{repo}/traffic/popular/paths\"],\n getTopReferrers: [\"GET /repos/{owner}/{repo}/traffic/popular/referrers\"],\n getUsersWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n ],\n getViews: [\"GET /repos/{owner}/{repo}/traffic/views\"],\n getWebhook: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}\"],\n getWebhookConfigForRepo: [\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/config\",\n ],\n listBranches: [\"GET /repos/{owner}/{repo}/branches\"],\n listBranchesForHeadCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head\",\n { mediaType: { previews: [\"groot\"] } },\n ],\n listCollaborators: [\"GET /repos/{owner}/{repo}/collaborators\"],\n listCommentsForCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\",\n ],\n listCommitCommentsForRepo: [\"GET /repos/{owner}/{repo}/comments\"],\n listCommitStatusesForRef: [\n \"GET /repos/{owner}/{repo}/commits/{ref}/statuses\",\n ],\n listCommits: [\"GET /repos/{owner}/{repo}/commits\"],\n listContributors: [\"GET /repos/{owner}/{repo}/contributors\"],\n listDeployKeys: [\"GET /repos/{owner}/{repo}/keys\"],\n listDeploymentStatuses: [\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\",\n ],\n listDeployments: [\"GET /repos/{owner}/{repo}/deployments\"],\n listForAuthenticatedUser: [\"GET /user/repos\"],\n listForOrg: [\"GET /orgs/{org}/repos\"],\n listForUser: [\"GET /users/{username}/repos\"],\n listForks: [\"GET /repos/{owner}/{repo}/forks\"],\n listInvitations: [\"GET /repos/{owner}/{repo}/invitations\"],\n listInvitationsForAuthenticatedUser: [\"GET /user/repository_invitations\"],\n listLanguages: [\"GET /repos/{owner}/{repo}/languages\"],\n listPagesBuilds: [\"GET /repos/{owner}/{repo}/pages/builds\"],\n listPublic: [\"GET /repositories\"],\n listPullRequestsAssociatedWithCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\",\n { mediaType: { previews: [\"groot\"] } },\n ],\n listReleaseAssets: [\n \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\",\n ],\n listReleases: [\"GET /repos/{owner}/{repo}/releases\"],\n listTags: [\"GET /repos/{owner}/{repo}/tags\"],\n listTeams: [\"GET /repos/{owner}/{repo}/teams\"],\n listWebhooks: [\"GET /repos/{owner}/{repo}/hooks\"],\n merge: [\"POST /repos/{owner}/{repo}/merges\"],\n pingWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/pings\"],\n removeAppAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" },\n ],\n removeCollaborator: [\n \"DELETE /repos/{owner}/{repo}/collaborators/{username}\",\n ],\n removeStatusCheckContexts: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" },\n ],\n removeStatusCheckProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n ],\n removeTeamAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" },\n ],\n removeUserAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" },\n ],\n renameBranch: [\"POST /repos/{owner}/{repo}/branches/{branch}/rename\"],\n replaceAllTopics: [\n \"PUT /repos/{owner}/{repo}/topics\",\n { mediaType: { previews: [\"mercy\"] } },\n ],\n requestPagesBuild: [\"POST /repos/{owner}/{repo}/pages/builds\"],\n setAdminBranchProtection: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\",\n ],\n setAppAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" },\n ],\n setStatusCheckContexts: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" },\n ],\n setTeamAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" },\n ],\n setUserAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" },\n ],\n testPushWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/tests\"],\n transfer: [\"POST /repos/{owner}/{repo}/transfer\"],\n update: [\"PATCH /repos/{owner}/{repo}\"],\n updateBranchProtection: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection\",\n ],\n updateCommitComment: [\"PATCH /repos/{owner}/{repo}/comments/{comment_id}\"],\n updateInformationAboutPagesSite: [\"PUT /repos/{owner}/{repo}/pages\"],\n updateInvitation: [\n \"PATCH /repos/{owner}/{repo}/invitations/{invitation_id}\",\n ],\n updatePullRequestReviewProtection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\",\n ],\n updateRelease: [\"PATCH /repos/{owner}/{repo}/releases/{release_id}\"],\n updateReleaseAsset: [\n \"PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}\",\n ],\n updateStatusCheckPotection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n {},\n { renamed: [\"repos\", \"updateStatusCheckProtection\"] },\n ],\n updateStatusCheckProtection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n ],\n updateWebhook: [\"PATCH /repos/{owner}/{repo}/hooks/{hook_id}\"],\n updateWebhookConfigForRepo: [\n \"PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config\",\n ],\n uploadReleaseAsset: [\n \"POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}\",\n { baseUrl: \"https://uploads.github.com\" },\n ],\n },\n search: {\n code: [\"GET /search/code\"],\n commits: [\"GET /search/commits\", { mediaType: { previews: [\"cloak\"] } }],\n issuesAndPullRequests: [\"GET /search/issues\"],\n labels: [\"GET /search/labels\"],\n repos: [\"GET /search/repositories\"],\n topics: [\"GET /search/topics\", { mediaType: { previews: [\"mercy\"] } }],\n users: [\"GET /search/users\"],\n },\n secretScanning: {\n getAlert: [\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\",\n ],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts\"],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\",\n ],\n },\n teams: {\n addOrUpdateMembershipForUserInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/memberships/{username}\",\n ],\n addOrUpdateProjectPermissionsInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n addOrUpdateRepoPermissionsInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\",\n ],\n checkPermissionsForProjectInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/projects/{project_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n checkPermissionsForRepoInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\",\n ],\n create: [\"POST /orgs/{org}/teams\"],\n createDiscussionCommentInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\",\n ],\n createDiscussionInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions\"],\n deleteDiscussionCommentInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\",\n ],\n deleteDiscussionInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\",\n ],\n deleteInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}\"],\n getByName: [\"GET /orgs/{org}/teams/{team_slug}\"],\n getDiscussionCommentInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\",\n ],\n getDiscussionInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\",\n ],\n getMembershipForUserInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/memberships/{username}\",\n ],\n list: [\"GET /orgs/{org}/teams\"],\n listChildInOrg: [\"GET /orgs/{org}/teams/{team_slug}/teams\"],\n listDiscussionCommentsInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\",\n ],\n listDiscussionsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions\"],\n listForAuthenticatedUser: [\"GET /user/teams\"],\n listMembersInOrg: [\"GET /orgs/{org}/teams/{team_slug}/members\"],\n listPendingInvitationsInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/invitations\",\n ],\n listProjectsInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listReposInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos\"],\n removeMembershipForUserInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}\",\n ],\n removeProjectInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}\",\n ],\n removeRepoInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\",\n ],\n updateDiscussionCommentInOrg: [\n \"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\",\n ],\n updateDiscussionInOrg: [\n \"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\",\n ],\n updateInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}\"],\n },\n users: {\n addEmailForAuthenticated: [\"POST /user/emails\"],\n block: [\"PUT /user/blocks/{username}\"],\n checkBlocked: [\"GET /user/blocks/{username}\"],\n checkFollowingForUser: [\"GET /users/{username}/following/{target_user}\"],\n checkPersonIsFollowedByAuthenticated: [\"GET /user/following/{username}\"],\n createGpgKeyForAuthenticated: [\"POST /user/gpg_keys\"],\n createPublicSshKeyForAuthenticated: [\"POST /user/keys\"],\n deleteEmailForAuthenticated: [\"DELETE /user/emails\"],\n deleteGpgKeyForAuthenticated: [\"DELETE /user/gpg_keys/{gpg_key_id}\"],\n deletePublicSshKeyForAuthenticated: [\"DELETE /user/keys/{key_id}\"],\n follow: [\"PUT /user/following/{username}\"],\n getAuthenticated: [\"GET /user\"],\n getByUsername: [\"GET /users/{username}\"],\n getContextForUser: [\"GET /users/{username}/hovercard\"],\n getGpgKeyForAuthenticated: [\"GET /user/gpg_keys/{gpg_key_id}\"],\n getPublicSshKeyForAuthenticated: [\"GET /user/keys/{key_id}\"],\n list: [\"GET /users\"],\n listBlockedByAuthenticated: [\"GET /user/blocks\"],\n listEmailsForAuthenticated: [\"GET /user/emails\"],\n listFollowedByAuthenticated: [\"GET /user/following\"],\n listFollowersForAuthenticatedUser: [\"GET /user/followers\"],\n listFollowersForUser: [\"GET /users/{username}/followers\"],\n listFollowingForUser: [\"GET /users/{username}/following\"],\n listGpgKeysForAuthenticated: [\"GET /user/gpg_keys\"],\n listGpgKeysForUser: [\"GET /users/{username}/gpg_keys\"],\n listPublicEmailsForAuthenticated: [\"GET /user/public_emails\"],\n listPublicKeysForUser: [\"GET /users/{username}/keys\"],\n listPublicSshKeysForAuthenticated: [\"GET /user/keys\"],\n setPrimaryEmailVisibilityForAuthenticated: [\"PATCH /user/email/visibility\"],\n unblock: [\"DELETE /user/blocks/{username}\"],\n unfollow: [\"DELETE /user/following/{username}\"],\n updateAuthenticated: [\"PATCH /user\"],\n },\n};\nexport default Endpoints;\n","export const VERSION = \"4.10.1\";\n","export function endpointsToMethods(octokit, endpointsMap) {\n const newMethods = {};\n for (const [scope, endpoints] of Object.entries(endpointsMap)) {\n for (const [methodName, endpoint] of Object.entries(endpoints)) {\n const [route, defaults, decorations] = endpoint;\n const [method, url] = route.split(/ /);\n const endpointDefaults = Object.assign({ method, url }, defaults);\n if (!newMethods[scope]) {\n newMethods[scope] = {};\n }\n const scopeMethods = newMethods[scope];\n if (decorations) {\n scopeMethods[methodName] = decorate(octokit, scope, methodName, endpointDefaults, decorations);\n continue;\n }\n scopeMethods[methodName] = octokit.request.defaults(endpointDefaults);\n }\n }\n return newMethods;\n}\nfunction decorate(octokit, scope, methodName, defaults, decorations) {\n const requestWithDefaults = octokit.request.defaults(defaults);\n /* istanbul ignore next */\n function withDecorations(...args) {\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n let options = requestWithDefaults.endpoint.merge(...args);\n // There are currently no other decorations than `.mapToData`\n if (decorations.mapToData) {\n options = Object.assign({}, options, {\n data: options[decorations.mapToData],\n [decorations.mapToData]: undefined,\n });\n return requestWithDefaults(options);\n }\n if (decorations.renamed) {\n const [newScope, newMethodName] = decorations.renamed;\n octokit.log.warn(`octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`);\n }\n if (decorations.deprecated) {\n octokit.log.warn(decorations.deprecated);\n }\n if (decorations.renamedParameters) {\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n const options = requestWithDefaults.endpoint.merge(...args);\n for (const [name, alias] of Object.entries(decorations.renamedParameters)) {\n if (name in options) {\n octokit.log.warn(`\"${name}\" parameter is deprecated for \"octokit.${scope}.${methodName}()\". Use \"${alias}\" instead`);\n if (!(alias in options)) {\n options[alias] = options[name];\n }\n delete options[name];\n }\n }\n return requestWithDefaults(options);\n }\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n return requestWithDefaults(...args);\n }\n return Object.assign(withDecorations, requestWithDefaults);\n}\n","import ENDPOINTS from \"./generated/endpoints\";\nimport { VERSION } from \"./version\";\nimport { endpointsToMethods } from \"./endpoints-to-methods\";\n/**\n * This plugin is a 1:1 copy of internal @octokit/rest plugins. The primary\n * goal is to rebuild @octokit/rest on top of @octokit/core. Once that is\n * done, we will remove the registerEndpoints methods and return the methods\n * directly as with the other plugins. At that point we will also remove the\n * legacy workarounds and deprecations.\n *\n * See the plan at\n * https://github.com/octokit/plugin-rest-endpoint-methods.js/pull/1\n */\nexport function restEndpointMethods(octokit) {\n return endpointsToMethods(octokit, ENDPOINTS);\n}\nrestEndpointMethods.VERSION = VERSION;\n"],"names":["Endpoints","actions","addSelectedRepoToOrgSecret","cancelWorkflowRun","createOrUpdateOrgSecret","createOrUpdateRepoSecret","createRegistrationTokenForOrg","createRegistrationTokenForRepo","createRemoveTokenForOrg","createRemoveTokenForRepo","createWorkflowDispatch","deleteArtifact","deleteOrgSecret","deleteRepoSecret","deleteSelfHostedRunnerFromOrg","deleteSelfHostedRunnerFromRepo","deleteWorkflowRun","deleteWorkflowRunLogs","disableSelectedRepositoryGithubActionsOrganization","disableWorkflow","downloadArtifact","downloadJobLogsForWorkflowRun","downloadWorkflowRunLogs","enableSelectedRepositoryGithubActionsOrganization","enableWorkflow","getAllowedActionsOrganization","getAllowedActionsRepository","getArtifact","getGithubActionsPermissionsOrganization","getGithubActionsPermissionsRepository","getJobForWorkflowRun","getOrgPublicKey","getOrgSecret","getRepoPermissions","renamed","getRepoPublicKey","getRepoSecret","getSelfHostedRunnerForOrg","getSelfHostedRunnerForRepo","getWorkflow","getWorkflowRun","getWorkflowRunUsage","getWorkflowUsage","listArtifactsForRepo","listJobsForWorkflowRun","listOrgSecrets","listRepoSecrets","listRepoWorkflows","listRunnerApplicationsForOrg","listRunnerApplicationsForRepo","listSelectedReposForOrgSecret","listSelectedRepositoriesEnabledGithubActionsOrganization","listSelfHostedRunnersForOrg","listSelfHostedRunnersForRepo","listWorkflowRunArtifacts","listWorkflowRuns","listWorkflowRunsForRepo","reRunWorkflow","removeSelectedRepoFromOrgSecret","setAllowedActionsOrganization","setAllowedActionsRepository","setGithubActionsPermissionsOrganization","setGithubActionsPermissionsRepository","setSelectedReposForOrgSecret","setSelectedRepositoriesEnabledGithubActionsOrganization","activity","checkRepoIsStarredByAuthenticatedUser","deleteRepoSubscription","deleteThreadSubscription","getFeeds","getRepoSubscription","getThread","getThreadSubscriptionForAuthenticatedUser","listEventsForAuthenticatedUser","listNotificationsForAuthenticatedUser","listOrgEventsForAuthenticatedUser","listPublicEvents","listPublicEventsForRepoNetwork","listPublicEventsForUser","listPublicOrgEvents","listReceivedEventsForUser","listReceivedPublicEventsForUser","listRepoEvents","listRepoNotificationsForAuthenticatedUser","listReposStarredByAuthenticatedUser","listReposStarredByUser","listReposWatchedByUser","listStargazersForRepo","listWatchedReposForAuthenticatedUser","listWatchersForRepo","markNotificationsAsRead","markRepoNotificationsAsRead","markThreadAsRead","setRepoSubscription","setThreadSubscription","starRepoForAuthenticatedUser","unstarRepoForAuthenticatedUser","apps","addRepoToInstallation","checkToken","createContentAttachment","mediaType","previews","createFromManifest","createInstallationAccessToken","deleteAuthorization","deleteInstallation","deleteToken","getAuthenticated","getBySlug","getInstallation","getOrgInstallation","getRepoInstallation","getSubscriptionPlanForAccount","getSubscriptionPlanForAccountStubbed","getUserInstallation","getWebhookConfigForApp","listAccountsForPlan","listAccountsForPlanStubbed","listInstallationReposForAuthenticatedUser","listInstallations","listInstallationsForAuthenticatedUser","listPlans","listPlansStubbed","listReposAccessibleToInstallation","listSubscriptionsForAuthenticatedUser","listSubscriptionsForAuthenticatedUserStubbed","removeRepoFromInstallation","resetToken","revokeInstallationAccessToken","scopeToken","suspendInstallation","unsuspendInstallation","updateWebhookConfigForApp","billing","getGithubActionsBillingOrg","getGithubActionsBillingUser","getGithubPackagesBillingOrg","getGithubPackagesBillingUser","getSharedStorageBillingOrg","getSharedStorageBillingUser","checks","create","createSuite","get","getSuite","listAnnotations","listForRef","listForSuite","listSuitesForRef","rerequestSuite","setSuitesPreferences","update","codeScanning","getAlert","renamedParameters","alert_id","listAlertsForRepo","listRecentAnalyses","updateAlert","uploadSarif","codesOfConduct","getAllCodesOfConduct","getConductCode","getForRepo","emojis","enterpriseAdmin","disableSelectedOrganizationGithubActionsEnterprise","enableSelectedOrganizationGithubActionsEnterprise","getAllowedActionsEnterprise","getGithubActionsPermissionsEnterprise","listSelectedOrganizationsEnabledGithubActionsEnterprise","setAllowedActionsEnterprise","setGithubActionsPermissionsEnterprise","setSelectedOrganizationsEnabledGithubActionsEnterprise","gists","checkIsStarred","createComment","delete","deleteComment","fork","getComment","getRevision","list","listComments","listCommits","listForUser","listForks","listPublic","listStarred","star","unstar","updateComment","git","createBlob","createCommit","createRef","createTag","createTree","deleteRef","getBlob","getCommit","getRef","getTag","getTree","listMatchingRefs","updateRef","gitignore","getAllTemplates","getTemplate","interactions","getRestrictionsForAuthenticatedUser","getRestrictionsForOrg","getRestrictionsForRepo","getRestrictionsForYourPublicRepos","removeRestrictionsForAuthenticatedUser","removeRestrictionsForOrg","removeRestrictionsForRepo","removeRestrictionsForYourPublicRepos","setRestrictionsForAuthenticatedUser","setRestrictionsForOrg","setRestrictionsForRepo","setRestrictionsForYourPublicRepos","issues","addAssignees","addLabels","checkUserCanBeAssigned","createLabel","createMilestone","deleteLabel","deleteMilestone","getEvent","getLabel","getMilestone","listAssignees","listCommentsForRepo","listEvents","listEventsForRepo","listEventsForTimeline","listForAuthenticatedUser","listForOrg","listForRepo","listLabelsForMilestone","listLabelsForRepo","listLabelsOnIssue","listMilestones","lock","removeAllLabels","removeAssignees","removeLabel","setLabels","unlock","updateLabel","updateMilestone","licenses","getAllCommonlyUsed","markdown","render","renderRaw","headers","meta","getOctocat","getZen","root","migrations","cancelImport","deleteArchiveForAuthenticatedUser","deleteArchiveForOrg","downloadArchiveForOrg","getArchiveForAuthenticatedUser","getCommitAuthors","getImportStatus","getLargeFiles","getStatusForAuthenticatedUser","getStatusForOrg","listReposForOrg","listReposForUser","mapCommitAuthor","setLfsPreference","startForAuthenticatedUser","startForOrg","startImport","unlockRepoForAuthenticatedUser","unlockRepoForOrg","updateImport","orgs","blockUser","cancelInvitation","checkBlockedUser","checkMembershipForUser","checkPublicMembershipForUser","convertMemberToOutsideCollaborator","createInvitation","createWebhook","deleteWebhook","getMembershipForAuthenticatedUser","getMembershipForUser","getWebhook","getWebhookConfigForOrg","listAppInstallations","listBlockedUsers","listFailedInvitations","listInvitationTeams","listMembers","listMembershipsForAuthenticatedUser","listOutsideCollaborators","listPendingInvitations","listPublicMembers","listWebhooks","pingWebhook","removeMember","removeMembershipForUser","removeOutsideCollaborator","removePublicMembershipForAuthenticatedUser","setMembershipForUser","setPublicMembershipForAuthenticatedUser","unblockUser","updateMembershipForAuthenticatedUser","updateWebhook","updateWebhookConfigForOrg","projects","addCollaborator","createCard","createColumn","createForAuthenticatedUser","createForOrg","createForRepo","deleteCard","deleteColumn","getCard","getColumn","getPermissionForUser","listCards","listCollaborators","listColumns","moveCard","moveColumn","removeCollaborator","updateCard","updateColumn","pulls","checkIfMerged","createReplyForReviewComment","createReview","createReviewComment","deletePendingReview","deleteReviewComment","dismissReview","getReview","getReviewComment","listCommentsForReview","listFiles","listRequestedReviewers","listReviewComments","listReviewCommentsForRepo","listReviews","merge","removeRequestedReviewers","requestReviewers","submitReview","updateBranch","updateReview","updateReviewComment","rateLimit","reactions","createForCommitComment","createForIssue","createForIssueComment","createForPullRequestReviewComment","createForTeamDiscussionCommentInOrg","createForTeamDiscussionInOrg","deleteForCommitComment","deleteForIssue","deleteForIssueComment","deleteForPullRequestComment","deleteForTeamDiscussion","deleteForTeamDiscussionComment","deleteLegacy","deprecated","listForCommitComment","listForIssue","listForIssueComment","listForPullRequestReviewComment","listForTeamDiscussionCommentInOrg","listForTeamDiscussionInOrg","repos","acceptInvitation","addAppAccessRestrictions","mapToData","addStatusCheckContexts","addTeamAccessRestrictions","addUserAccessRestrictions","checkCollaborator","checkVulnerabilityAlerts","compareCommits","createCommitComment","createCommitSignatureProtection","createCommitStatus","createDeployKey","createDeployment","createDeploymentStatus","createDispatchEvent","createFork","createInOrg","createOrUpdateFileContents","createPagesSite","createRelease","createUsingTemplate","declineInvitation","deleteAccessRestrictions","deleteAdminBranchProtection","deleteBranchProtection","deleteCommitComment","deleteCommitSignatureProtection","deleteDeployKey","deleteDeployment","deleteFile","deleteInvitation","deletePagesSite","deletePullRequestReviewProtection","deleteRelease","deleteReleaseAsset","disableAutomatedSecurityFixes","disableVulnerabilityAlerts","downloadArchive","downloadTarballArchive","downloadZipballArchive","enableAutomatedSecurityFixes","enableVulnerabilityAlerts","getAccessRestrictions","getAdminBranchProtection","getAllStatusCheckContexts","getAllTopics","getAppsWithAccessToProtectedBranch","getBranch","getBranchProtection","getClones","getCodeFrequencyStats","getCollaboratorPermissionLevel","getCombinedStatusForRef","getCommitActivityStats","getCommitComment","getCommitSignatureProtection","getCommunityProfileMetrics","getContent","getContributorsStats","getDeployKey","getDeployment","getDeploymentStatus","getLatestPagesBuild","getLatestRelease","getPages","getPagesBuild","getParticipationStats","getPullRequestReviewProtection","getPunchCardStats","getReadme","getRelease","getReleaseAsset","getReleaseByTag","getStatusChecksProtection","getTeamsWithAccessToProtectedBranch","getTopPaths","getTopReferrers","getUsersWithAccessToProtectedBranch","getViews","getWebhookConfigForRepo","listBranches","listBranchesForHeadCommit","listCommentsForCommit","listCommitCommentsForRepo","listCommitStatusesForRef","listContributors","listDeployKeys","listDeploymentStatuses","listDeployments","listInvitations","listInvitationsForAuthenticatedUser","listLanguages","listPagesBuilds","listPullRequestsAssociatedWithCommit","listReleaseAssets","listReleases","listTags","listTeams","removeAppAccessRestrictions","removeStatusCheckContexts","removeStatusCheckProtection","removeTeamAccessRestrictions","removeUserAccessRestrictions","renameBranch","replaceAllTopics","requestPagesBuild","setAdminBranchProtection","setAppAccessRestrictions","setStatusCheckContexts","setTeamAccessRestrictions","setUserAccessRestrictions","testPushWebhook","transfer","updateBranchProtection","updateCommitComment","updateInformationAboutPagesSite","updateInvitation","updatePullRequestReviewProtection","updateRelease","updateReleaseAsset","updateStatusCheckPotection","updateStatusCheckProtection","updateWebhookConfigForRepo","uploadReleaseAsset","baseUrl","search","code","commits","issuesAndPullRequests","labels","topics","users","secretScanning","teams","addOrUpdateMembershipForUserInOrg","addOrUpdateProjectPermissionsInOrg","addOrUpdateRepoPermissionsInOrg","checkPermissionsForProjectInOrg","checkPermissionsForRepoInOrg","createDiscussionCommentInOrg","createDiscussionInOrg","deleteDiscussionCommentInOrg","deleteDiscussionInOrg","deleteInOrg","getByName","getDiscussionCommentInOrg","getDiscussionInOrg","getMembershipForUserInOrg","listChildInOrg","listDiscussionCommentsInOrg","listDiscussionsInOrg","listMembersInOrg","listPendingInvitationsInOrg","listProjectsInOrg","listReposInOrg","removeMembershipForUserInOrg","removeProjectInOrg","removeRepoInOrg","updateDiscussionCommentInOrg","updateDiscussionInOrg","updateInOrg","addEmailForAuthenticated","block","checkBlocked","checkFollowingForUser","checkPersonIsFollowedByAuthenticated","createGpgKeyForAuthenticated","createPublicSshKeyForAuthenticated","deleteEmailForAuthenticated","deleteGpgKeyForAuthenticated","deletePublicSshKeyForAuthenticated","follow","getByUsername","getContextForUser","getGpgKeyForAuthenticated","getPublicSshKeyForAuthenticated","listBlockedByAuthenticated","listEmailsForAuthenticated","listFollowedByAuthenticated","listFollowersForAuthenticatedUser","listFollowersForUser","listFollowingForUser","listGpgKeysForAuthenticated","listGpgKeysForUser","listPublicEmailsForAuthenticated","listPublicKeysForUser","listPublicSshKeysForAuthenticated","setPrimaryEmailVisibilityForAuthenticated","unblock","unfollow","updateAuthenticated","VERSION","endpointsToMethods","octokit","endpointsMap","newMethods","scope","endpoints","Object","entries","methodName","endpoint","route","defaults","decorations","method","url","split","endpointDefaults","assign","scopeMethods","decorate","request","requestWithDefaults","withDecorations","args","options","data","undefined","newScope","newMethodName","log","warn","name","alias","restEndpointMethods","ENDPOINTS"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../dist-src/generated/endpoints.js","../dist-src/version.js","../dist-src/endpoints-to-methods.js","../dist-src/index.js"],"sourcesContent":["const Endpoints = {\n actions: {\n addSelectedRepoToOrgSecret: [\n \"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\",\n ],\n cancelWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel\",\n ],\n createOrUpdateEnvironmentSecret: [\n \"PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\",\n ],\n createOrUpdateOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}\"],\n createOrUpdateRepoSecret: [\n \"PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}\",\n ],\n createRegistrationTokenForOrg: [\n \"POST /orgs/{org}/actions/runners/registration-token\",\n ],\n createRegistrationTokenForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/registration-token\",\n ],\n createRemoveTokenForOrg: [\"POST /orgs/{org}/actions/runners/remove-token\"],\n createRemoveTokenForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/remove-token\",\n ],\n createWorkflowDispatch: [\n \"POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches\",\n ],\n deleteArtifact: [\n \"DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\",\n ],\n deleteEnvironmentSecret: [\n \"DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\",\n ],\n deleteOrgSecret: [\"DELETE /orgs/{org}/actions/secrets/{secret_name}\"],\n deleteRepoSecret: [\n \"DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}\",\n ],\n deleteSelfHostedRunnerFromOrg: [\n \"DELETE /orgs/{org}/actions/runners/{runner_id}\",\n ],\n deleteSelfHostedRunnerFromRepo: [\n \"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}\",\n ],\n deleteWorkflowRun: [\"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n deleteWorkflowRunLogs: [\n \"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs\",\n ],\n disableSelectedRepositoryGithubActionsOrganization: [\n \"DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}\",\n ],\n disableWorkflow: [\n \"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable\",\n ],\n downloadArtifact: [\n \"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}\",\n ],\n downloadJobLogsForWorkflowRun: [\n \"GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs\",\n ],\n downloadWorkflowRunLogs: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs\",\n ],\n enableSelectedRepositoryGithubActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/repositories/{repository_id}\",\n ],\n enableWorkflow: [\n \"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable\",\n ],\n getAllowedActionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/selected-actions\",\n ],\n getAllowedActionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions/selected-actions\",\n ],\n getArtifact: [\"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"],\n getEnvironmentPublicKey: [\n \"GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key\",\n ],\n getEnvironmentSecret: [\n \"GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\",\n ],\n getGithubActionsPermissionsOrganization: [\n \"GET /orgs/{org}/actions/permissions\",\n ],\n getGithubActionsPermissionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions\",\n ],\n getJobForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/actions/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/actions/secrets/{secret_name}\"],\n getPendingDeploymentsForRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\",\n ],\n getRepoPermissions: [\n \"GET /repos/{owner}/{repo}/actions/permissions\",\n {},\n { renamed: [\"actions\", \"getGithubActionsPermissionsRepository\"] },\n ],\n getRepoPublicKey: [\"GET /repos/{owner}/{repo}/actions/secrets/public-key\"],\n getRepoSecret: [\"GET /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n getReviewsForRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals\",\n ],\n getSelfHostedRunnerForOrg: [\"GET /orgs/{org}/actions/runners/{runner_id}\"],\n getSelfHostedRunnerForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/{runner_id}\",\n ],\n getWorkflow: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}\"],\n getWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n getWorkflowRunUsage: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing\",\n ],\n getWorkflowUsage: [\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing\",\n ],\n listArtifactsForRepo: [\"GET /repos/{owner}/{repo}/actions/artifacts\"],\n listEnvironmentSecrets: [\n \"GET /repositories/{repository_id}/environments/{environment_name}/secrets\",\n ],\n listJobsForWorkflowRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\",\n ],\n listOrgSecrets: [\"GET /orgs/{org}/actions/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/actions/secrets\"],\n listRepoWorkflows: [\"GET /repos/{owner}/{repo}/actions/workflows\"],\n listRunnerApplicationsForOrg: [\"GET /orgs/{org}/actions/runners/downloads\"],\n listRunnerApplicationsForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/downloads\",\n ],\n listSelectedReposForOrgSecret: [\n \"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\",\n ],\n listSelectedRepositoriesEnabledGithubActionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/repositories\",\n ],\n listSelfHostedRunnersForOrg: [\"GET /orgs/{org}/actions/runners\"],\n listSelfHostedRunnersForRepo: [\"GET /repos/{owner}/{repo}/actions/runners\"],\n listWorkflowRunArtifacts: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\",\n ],\n listWorkflowRuns: [\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\",\n ],\n listWorkflowRunsForRepo: [\"GET /repos/{owner}/{repo}/actions/runs\"],\n reRunWorkflow: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun\"],\n removeSelectedRepoFromOrgSecret: [\n \"DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\",\n ],\n reviewPendingDeploymentsForRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\",\n ],\n setAllowedActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/selected-actions\",\n ],\n setAllowedActionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions/selected-actions\",\n ],\n setGithubActionsPermissionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions\",\n ],\n setGithubActionsPermissionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions\",\n ],\n setSelectedReposForOrgSecret: [\n \"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories\",\n ],\n setSelectedRepositoriesEnabledGithubActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/repositories\",\n ],\n },\n activity: {\n checkRepoIsStarredByAuthenticatedUser: [\"GET /user/starred/{owner}/{repo}\"],\n deleteRepoSubscription: [\"DELETE /repos/{owner}/{repo}/subscription\"],\n deleteThreadSubscription: [\n \"DELETE /notifications/threads/{thread_id}/subscription\",\n ],\n getFeeds: [\"GET /feeds\"],\n getRepoSubscription: [\"GET /repos/{owner}/{repo}/subscription\"],\n getThread: [\"GET /notifications/threads/{thread_id}\"],\n getThreadSubscriptionForAuthenticatedUser: [\n \"GET /notifications/threads/{thread_id}/subscription\",\n ],\n listEventsForAuthenticatedUser: [\"GET /users/{username}/events\"],\n listNotificationsForAuthenticatedUser: [\"GET /notifications\"],\n listOrgEventsForAuthenticatedUser: [\n \"GET /users/{username}/events/orgs/{org}\",\n ],\n listPublicEvents: [\"GET /events\"],\n listPublicEventsForRepoNetwork: [\"GET /networks/{owner}/{repo}/events\"],\n listPublicEventsForUser: [\"GET /users/{username}/events/public\"],\n listPublicOrgEvents: [\"GET /orgs/{org}/events\"],\n listReceivedEventsForUser: [\"GET /users/{username}/received_events\"],\n listReceivedPublicEventsForUser: [\n \"GET /users/{username}/received_events/public\",\n ],\n listRepoEvents: [\"GET /repos/{owner}/{repo}/events\"],\n listRepoNotificationsForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/notifications\",\n ],\n listReposStarredByAuthenticatedUser: [\"GET /user/starred\"],\n listReposStarredByUser: [\"GET /users/{username}/starred\"],\n listReposWatchedByUser: [\"GET /users/{username}/subscriptions\"],\n listStargazersForRepo: [\"GET /repos/{owner}/{repo}/stargazers\"],\n listWatchedReposForAuthenticatedUser: [\"GET /user/subscriptions\"],\n listWatchersForRepo: [\"GET /repos/{owner}/{repo}/subscribers\"],\n markNotificationsAsRead: [\"PUT /notifications\"],\n markRepoNotificationsAsRead: [\"PUT /repos/{owner}/{repo}/notifications\"],\n markThreadAsRead: [\"PATCH /notifications/threads/{thread_id}\"],\n setRepoSubscription: [\"PUT /repos/{owner}/{repo}/subscription\"],\n setThreadSubscription: [\n \"PUT /notifications/threads/{thread_id}/subscription\",\n ],\n starRepoForAuthenticatedUser: [\"PUT /user/starred/{owner}/{repo}\"],\n unstarRepoForAuthenticatedUser: [\"DELETE /user/starred/{owner}/{repo}\"],\n },\n apps: {\n addRepoToInstallation: [\n \"PUT /user/installations/{installation_id}/repositories/{repository_id}\",\n ],\n checkToken: [\"POST /applications/{client_id}/token\"],\n createContentAttachment: [\n \"POST /content_references/{content_reference_id}/attachments\",\n { mediaType: { previews: [\"corsair\"] } },\n ],\n createFromManifest: [\"POST /app-manifests/{code}/conversions\"],\n createInstallationAccessToken: [\n \"POST /app/installations/{installation_id}/access_tokens\",\n ],\n deleteAuthorization: [\"DELETE /applications/{client_id}/grant\"],\n deleteInstallation: [\"DELETE /app/installations/{installation_id}\"],\n deleteToken: [\"DELETE /applications/{client_id}/token\"],\n getAuthenticated: [\"GET /app\"],\n getBySlug: [\"GET /apps/{app_slug}\"],\n getInstallation: [\"GET /app/installations/{installation_id}\"],\n getOrgInstallation: [\"GET /orgs/{org}/installation\"],\n getRepoInstallation: [\"GET /repos/{owner}/{repo}/installation\"],\n getSubscriptionPlanForAccount: [\n \"GET /marketplace_listing/accounts/{account_id}\",\n ],\n getSubscriptionPlanForAccountStubbed: [\n \"GET /marketplace_listing/stubbed/accounts/{account_id}\",\n ],\n getUserInstallation: [\"GET /users/{username}/installation\"],\n getWebhookConfigForApp: [\"GET /app/hook/config\"],\n listAccountsForPlan: [\"GET /marketplace_listing/plans/{plan_id}/accounts\"],\n listAccountsForPlanStubbed: [\n \"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\",\n ],\n listInstallationReposForAuthenticatedUser: [\n \"GET /user/installations/{installation_id}/repositories\",\n ],\n listInstallations: [\"GET /app/installations\"],\n listInstallationsForAuthenticatedUser: [\"GET /user/installations\"],\n listPlans: [\"GET /marketplace_listing/plans\"],\n listPlansStubbed: [\"GET /marketplace_listing/stubbed/plans\"],\n listReposAccessibleToInstallation: [\"GET /installation/repositories\"],\n listSubscriptionsForAuthenticatedUser: [\"GET /user/marketplace_purchases\"],\n listSubscriptionsForAuthenticatedUserStubbed: [\n \"GET /user/marketplace_purchases/stubbed\",\n ],\n removeRepoFromInstallation: [\n \"DELETE /user/installations/{installation_id}/repositories/{repository_id}\",\n ],\n resetToken: [\"PATCH /applications/{client_id}/token\"],\n revokeInstallationAccessToken: [\"DELETE /installation/token\"],\n scopeToken: [\"POST /applications/{client_id}/token/scoped\"],\n suspendInstallation: [\"PUT /app/installations/{installation_id}/suspended\"],\n unsuspendInstallation: [\n \"DELETE /app/installations/{installation_id}/suspended\",\n ],\n updateWebhookConfigForApp: [\"PATCH /app/hook/config\"],\n },\n billing: {\n getGithubActionsBillingOrg: [\"GET /orgs/{org}/settings/billing/actions\"],\n getGithubActionsBillingUser: [\n \"GET /users/{username}/settings/billing/actions\",\n ],\n getGithubPackagesBillingOrg: [\"GET /orgs/{org}/settings/billing/packages\"],\n getGithubPackagesBillingUser: [\n \"GET /users/{username}/settings/billing/packages\",\n ],\n getSharedStorageBillingOrg: [\n \"GET /orgs/{org}/settings/billing/shared-storage\",\n ],\n getSharedStorageBillingUser: [\n \"GET /users/{username}/settings/billing/shared-storage\",\n ],\n },\n checks: {\n create: [\"POST /repos/{owner}/{repo}/check-runs\"],\n createSuite: [\"POST /repos/{owner}/{repo}/check-suites\"],\n get: [\"GET /repos/{owner}/{repo}/check-runs/{check_run_id}\"],\n getSuite: [\"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}\"],\n listAnnotations: [\n \"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\",\n ],\n listForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\"],\n listForSuite: [\n \"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\",\n ],\n listSuitesForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\"],\n rerequestSuite: [\n \"POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest\",\n ],\n setSuitesPreferences: [\n \"PATCH /repos/{owner}/{repo}/check-suites/preferences\",\n ],\n update: [\"PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}\"],\n },\n codeScanning: {\n deleteAnalysis: [\n \"DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}\",\n ],\n getAlert: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\",\n {},\n { renamedParameters: { alert_id: \"alert_number\" } },\n ],\n getAnalysis: [\n \"GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}\",\n ],\n getSarif: [\"GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/code-scanning/alerts\"],\n listAlertsInstances: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\",\n ],\n listRecentAnalyses: [\"GET /repos/{owner}/{repo}/code-scanning/analyses\"],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\",\n ],\n uploadSarif: [\"POST /repos/{owner}/{repo}/code-scanning/sarifs\"],\n },\n codesOfConduct: {\n getAllCodesOfConduct: [\n \"GET /codes_of_conduct\",\n { mediaType: { previews: [\"scarlet-witch\"] } },\n ],\n getConductCode: [\n \"GET /codes_of_conduct/{key}\",\n { mediaType: { previews: [\"scarlet-witch\"] } },\n ],\n getForRepo: [\n \"GET /repos/{owner}/{repo}/community/code_of_conduct\",\n { mediaType: { previews: [\"scarlet-witch\"] } },\n ],\n },\n emojis: { get: [\"GET /emojis\"] },\n enterpriseAdmin: {\n disableSelectedOrganizationGithubActionsEnterprise: [\n \"DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}\",\n ],\n enableSelectedOrganizationGithubActionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}\",\n ],\n getAllowedActionsEnterprise: [\n \"GET /enterprises/{enterprise}/actions/permissions/selected-actions\",\n ],\n getGithubActionsPermissionsEnterprise: [\n \"GET /enterprises/{enterprise}/actions/permissions\",\n ],\n listSelectedOrganizationsEnabledGithubActionsEnterprise: [\n \"GET /enterprises/{enterprise}/actions/permissions/organizations\",\n ],\n setAllowedActionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions/selected-actions\",\n ],\n setGithubActionsPermissionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions\",\n ],\n setSelectedOrganizationsEnabledGithubActionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions/organizations\",\n ],\n },\n gists: {\n checkIsStarred: [\"GET /gists/{gist_id}/star\"],\n create: [\"POST /gists\"],\n createComment: [\"POST /gists/{gist_id}/comments\"],\n delete: [\"DELETE /gists/{gist_id}\"],\n deleteComment: [\"DELETE /gists/{gist_id}/comments/{comment_id}\"],\n fork: [\"POST /gists/{gist_id}/forks\"],\n get: [\"GET /gists/{gist_id}\"],\n getComment: [\"GET /gists/{gist_id}/comments/{comment_id}\"],\n getRevision: [\"GET /gists/{gist_id}/{sha}\"],\n list: [\"GET /gists\"],\n listComments: [\"GET /gists/{gist_id}/comments\"],\n listCommits: [\"GET /gists/{gist_id}/commits\"],\n listForUser: [\"GET /users/{username}/gists\"],\n listForks: [\"GET /gists/{gist_id}/forks\"],\n listPublic: [\"GET /gists/public\"],\n listStarred: [\"GET /gists/starred\"],\n star: [\"PUT /gists/{gist_id}/star\"],\n unstar: [\"DELETE /gists/{gist_id}/star\"],\n update: [\"PATCH /gists/{gist_id}\"],\n updateComment: [\"PATCH /gists/{gist_id}/comments/{comment_id}\"],\n },\n git: {\n createBlob: [\"POST /repos/{owner}/{repo}/git/blobs\"],\n createCommit: [\"POST /repos/{owner}/{repo}/git/commits\"],\n createRef: [\"POST /repos/{owner}/{repo}/git/refs\"],\n createTag: [\"POST /repos/{owner}/{repo}/git/tags\"],\n createTree: [\"POST /repos/{owner}/{repo}/git/trees\"],\n deleteRef: [\"DELETE /repos/{owner}/{repo}/git/refs/{ref}\"],\n getBlob: [\"GET /repos/{owner}/{repo}/git/blobs/{file_sha}\"],\n getCommit: [\"GET /repos/{owner}/{repo}/git/commits/{commit_sha}\"],\n getRef: [\"GET /repos/{owner}/{repo}/git/ref/{ref}\"],\n getTag: [\"GET /repos/{owner}/{repo}/git/tags/{tag_sha}\"],\n getTree: [\"GET /repos/{owner}/{repo}/git/trees/{tree_sha}\"],\n listMatchingRefs: [\"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\"],\n updateRef: [\"PATCH /repos/{owner}/{repo}/git/refs/{ref}\"],\n },\n gitignore: {\n getAllTemplates: [\"GET /gitignore/templates\"],\n getTemplate: [\"GET /gitignore/templates/{name}\"],\n },\n interactions: {\n getRestrictionsForAuthenticatedUser: [\"GET /user/interaction-limits\"],\n getRestrictionsForOrg: [\"GET /orgs/{org}/interaction-limits\"],\n getRestrictionsForRepo: [\"GET /repos/{owner}/{repo}/interaction-limits\"],\n getRestrictionsForYourPublicRepos: [\n \"GET /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"getRestrictionsForAuthenticatedUser\"] },\n ],\n removeRestrictionsForAuthenticatedUser: [\"DELETE /user/interaction-limits\"],\n removeRestrictionsForOrg: [\"DELETE /orgs/{org}/interaction-limits\"],\n removeRestrictionsForRepo: [\n \"DELETE /repos/{owner}/{repo}/interaction-limits\",\n ],\n removeRestrictionsForYourPublicRepos: [\n \"DELETE /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"removeRestrictionsForAuthenticatedUser\"] },\n ],\n setRestrictionsForAuthenticatedUser: [\"PUT /user/interaction-limits\"],\n setRestrictionsForOrg: [\"PUT /orgs/{org}/interaction-limits\"],\n setRestrictionsForRepo: [\"PUT /repos/{owner}/{repo}/interaction-limits\"],\n setRestrictionsForYourPublicRepos: [\n \"PUT /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"setRestrictionsForAuthenticatedUser\"] },\n ],\n },\n issues: {\n addAssignees: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/assignees\",\n ],\n addLabels: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n checkUserCanBeAssigned: [\"GET /repos/{owner}/{repo}/assignees/{assignee}\"],\n create: [\"POST /repos/{owner}/{repo}/issues\"],\n createComment: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/comments\",\n ],\n createLabel: [\"POST /repos/{owner}/{repo}/labels\"],\n createMilestone: [\"POST /repos/{owner}/{repo}/milestones\"],\n deleteComment: [\n \"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}\",\n ],\n deleteLabel: [\"DELETE /repos/{owner}/{repo}/labels/{name}\"],\n deleteMilestone: [\n \"DELETE /repos/{owner}/{repo}/milestones/{milestone_number}\",\n ],\n get: [\"GET /repos/{owner}/{repo}/issues/{issue_number}\"],\n getComment: [\"GET /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n getEvent: [\"GET /repos/{owner}/{repo}/issues/events/{event_id}\"],\n getLabel: [\"GET /repos/{owner}/{repo}/labels/{name}\"],\n getMilestone: [\"GET /repos/{owner}/{repo}/milestones/{milestone_number}\"],\n list: [\"GET /issues\"],\n listAssignees: [\"GET /repos/{owner}/{repo}/assignees\"],\n listComments: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\"],\n listCommentsForRepo: [\"GET /repos/{owner}/{repo}/issues/comments\"],\n listEvents: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/events\"],\n listEventsForRepo: [\"GET /repos/{owner}/{repo}/issues/events\"],\n listEventsForTimeline: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\",\n { mediaType: { previews: [\"mockingbird\"] } },\n ],\n listForAuthenticatedUser: [\"GET /user/issues\"],\n listForOrg: [\"GET /orgs/{org}/issues\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/issues\"],\n listLabelsForMilestone: [\n \"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\",\n ],\n listLabelsForRepo: [\"GET /repos/{owner}/{repo}/labels\"],\n listLabelsOnIssue: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\",\n ],\n listMilestones: [\"GET /repos/{owner}/{repo}/milestones\"],\n lock: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n removeAllLabels: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels\",\n ],\n removeAssignees: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees\",\n ],\n removeLabel: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}\",\n ],\n setLabels: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n unlock: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n update: [\"PATCH /repos/{owner}/{repo}/issues/{issue_number}\"],\n updateComment: [\"PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n updateLabel: [\"PATCH /repos/{owner}/{repo}/labels/{name}\"],\n updateMilestone: [\n \"PATCH /repos/{owner}/{repo}/milestones/{milestone_number}\",\n ],\n },\n licenses: {\n get: [\"GET /licenses/{license}\"],\n getAllCommonlyUsed: [\"GET /licenses\"],\n getForRepo: [\"GET /repos/{owner}/{repo}/license\"],\n },\n markdown: {\n render: [\"POST /markdown\"],\n renderRaw: [\n \"POST /markdown/raw\",\n { headers: { \"content-type\": \"text/plain; charset=utf-8\" } },\n ],\n },\n meta: {\n get: [\"GET /meta\"],\n getOctocat: [\"GET /octocat\"],\n getZen: [\"GET /zen\"],\n root: [\"GET /\"],\n },\n migrations: {\n cancelImport: [\"DELETE /repos/{owner}/{repo}/import\"],\n deleteArchiveForAuthenticatedUser: [\n \"DELETE /user/migrations/{migration_id}/archive\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n deleteArchiveForOrg: [\n \"DELETE /orgs/{org}/migrations/{migration_id}/archive\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n downloadArchiveForOrg: [\n \"GET /orgs/{org}/migrations/{migration_id}/archive\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n getArchiveForAuthenticatedUser: [\n \"GET /user/migrations/{migration_id}/archive\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n getCommitAuthors: [\"GET /repos/{owner}/{repo}/import/authors\"],\n getImportStatus: [\"GET /repos/{owner}/{repo}/import\"],\n getLargeFiles: [\"GET /repos/{owner}/{repo}/import/large_files\"],\n getStatusForAuthenticatedUser: [\n \"GET /user/migrations/{migration_id}\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n getStatusForOrg: [\n \"GET /orgs/{org}/migrations/{migration_id}\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n listForAuthenticatedUser: [\n \"GET /user/migrations\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n listForOrg: [\n \"GET /orgs/{org}/migrations\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n listReposForOrg: [\n \"GET /orgs/{org}/migrations/{migration_id}/repositories\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n listReposForUser: [\n \"GET /user/migrations/{migration_id}/repositories\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n mapCommitAuthor: [\"PATCH /repos/{owner}/{repo}/import/authors/{author_id}\"],\n setLfsPreference: [\"PATCH /repos/{owner}/{repo}/import/lfs\"],\n startForAuthenticatedUser: [\"POST /user/migrations\"],\n startForOrg: [\"POST /orgs/{org}/migrations\"],\n startImport: [\"PUT /repos/{owner}/{repo}/import\"],\n unlockRepoForAuthenticatedUser: [\n \"DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n unlockRepoForOrg: [\n \"DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n updateImport: [\"PATCH /repos/{owner}/{repo}/import\"],\n },\n orgs: {\n blockUser: [\"PUT /orgs/{org}/blocks/{username}\"],\n cancelInvitation: [\"DELETE /orgs/{org}/invitations/{invitation_id}\"],\n checkBlockedUser: [\"GET /orgs/{org}/blocks/{username}\"],\n checkMembershipForUser: [\"GET /orgs/{org}/members/{username}\"],\n checkPublicMembershipForUser: [\"GET /orgs/{org}/public_members/{username}\"],\n convertMemberToOutsideCollaborator: [\n \"PUT /orgs/{org}/outside_collaborators/{username}\",\n ],\n createInvitation: [\"POST /orgs/{org}/invitations\"],\n createWebhook: [\"POST /orgs/{org}/hooks\"],\n deleteWebhook: [\"DELETE /orgs/{org}/hooks/{hook_id}\"],\n get: [\"GET /orgs/{org}\"],\n getMembershipForAuthenticatedUser: [\"GET /user/memberships/orgs/{org}\"],\n getMembershipForUser: [\"GET /orgs/{org}/memberships/{username}\"],\n getWebhook: [\"GET /orgs/{org}/hooks/{hook_id}\"],\n getWebhookConfigForOrg: [\"GET /orgs/{org}/hooks/{hook_id}/config\"],\n list: [\"GET /organizations\"],\n listAppInstallations: [\"GET /orgs/{org}/installations\"],\n listBlockedUsers: [\"GET /orgs/{org}/blocks\"],\n listFailedInvitations: [\"GET /orgs/{org}/failed_invitations\"],\n listForAuthenticatedUser: [\"GET /user/orgs\"],\n listForUser: [\"GET /users/{username}/orgs\"],\n listInvitationTeams: [\"GET /orgs/{org}/invitations/{invitation_id}/teams\"],\n listMembers: [\"GET /orgs/{org}/members\"],\n listMembershipsForAuthenticatedUser: [\"GET /user/memberships/orgs\"],\n listOutsideCollaborators: [\"GET /orgs/{org}/outside_collaborators\"],\n listPendingInvitations: [\"GET /orgs/{org}/invitations\"],\n listPublicMembers: [\"GET /orgs/{org}/public_members\"],\n listWebhooks: [\"GET /orgs/{org}/hooks\"],\n pingWebhook: [\"POST /orgs/{org}/hooks/{hook_id}/pings\"],\n removeMember: [\"DELETE /orgs/{org}/members/{username}\"],\n removeMembershipForUser: [\"DELETE /orgs/{org}/memberships/{username}\"],\n removeOutsideCollaborator: [\n \"DELETE /orgs/{org}/outside_collaborators/{username}\",\n ],\n removePublicMembershipForAuthenticatedUser: [\n \"DELETE /orgs/{org}/public_members/{username}\",\n ],\n setMembershipForUser: [\"PUT /orgs/{org}/memberships/{username}\"],\n setPublicMembershipForAuthenticatedUser: [\n \"PUT /orgs/{org}/public_members/{username}\",\n ],\n unblockUser: [\"DELETE /orgs/{org}/blocks/{username}\"],\n update: [\"PATCH /orgs/{org}\"],\n updateMembershipForAuthenticatedUser: [\n \"PATCH /user/memberships/orgs/{org}\",\n ],\n updateWebhook: [\"PATCH /orgs/{org}/hooks/{hook_id}\"],\n updateWebhookConfigForOrg: [\"PATCH /orgs/{org}/hooks/{hook_id}/config\"],\n },\n packages: {\n deletePackageForAuthenticatedUser: [\n \"DELETE /user/packages/{package_type}/{package_name}\",\n ],\n deletePackageForOrg: [\n \"DELETE /orgs/{org}/packages/{package_type}/{package_name}\",\n ],\n deletePackageVersionForAuthenticatedUser: [\n \"DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n ],\n deletePackageVersionForOrg: [\n \"DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n ],\n getAllPackageVersionsForAPackageOwnedByAnOrg: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\",\n {},\n { renamed: [\"packages\", \"getAllPackageVersionsForPackageOwnedByOrg\"] },\n ],\n getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions\",\n {},\n {\n renamed: [\n \"packages\",\n \"getAllPackageVersionsForPackageOwnedByAuthenticatedUser\",\n ],\n },\n ],\n getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions\",\n ],\n getAllPackageVersionsForPackageOwnedByOrg: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\",\n ],\n getAllPackageVersionsForPackageOwnedByUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}/versions\",\n ],\n getPackageForAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}\",\n ],\n getPackageForOrganization: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}\",\n ],\n getPackageForUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}\",\n ],\n getPackageVersionForAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n ],\n getPackageVersionForOrganization: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n ],\n getPackageVersionForUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n ],\n restorePackageForAuthenticatedUser: [\n \"POST /user/packages/{package_type}/{package_name}/restore{?token}\",\n ],\n restorePackageForOrg: [\n \"POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}\",\n ],\n restorePackageVersionForAuthenticatedUser: [\n \"POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\",\n ],\n restorePackageVersionForOrg: [\n \"POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\",\n ],\n },\n projects: {\n addCollaborator: [\n \"PUT /projects/{project_id}/collaborators/{username}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n createCard: [\n \"POST /projects/columns/{column_id}/cards\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n createColumn: [\n \"POST /projects/{project_id}/columns\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n createForAuthenticatedUser: [\n \"POST /user/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n createForOrg: [\n \"POST /orgs/{org}/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n createForRepo: [\n \"POST /repos/{owner}/{repo}/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n delete: [\n \"DELETE /projects/{project_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n deleteCard: [\n \"DELETE /projects/columns/cards/{card_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n deleteColumn: [\n \"DELETE /projects/columns/{column_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n get: [\n \"GET /projects/{project_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n getCard: [\n \"GET /projects/columns/cards/{card_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n getColumn: [\n \"GET /projects/columns/{column_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n getPermissionForUser: [\n \"GET /projects/{project_id}/collaborators/{username}/permission\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listCards: [\n \"GET /projects/columns/{column_id}/cards\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listCollaborators: [\n \"GET /projects/{project_id}/collaborators\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listColumns: [\n \"GET /projects/{project_id}/columns\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listForOrg: [\n \"GET /orgs/{org}/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listForRepo: [\n \"GET /repos/{owner}/{repo}/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listForUser: [\n \"GET /users/{username}/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n moveCard: [\n \"POST /projects/columns/cards/{card_id}/moves\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n moveColumn: [\n \"POST /projects/columns/{column_id}/moves\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n removeCollaborator: [\n \"DELETE /projects/{project_id}/collaborators/{username}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n update: [\n \"PATCH /projects/{project_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n updateCard: [\n \"PATCH /projects/columns/cards/{card_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n updateColumn: [\n \"PATCH /projects/columns/{column_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n },\n pulls: {\n checkIfMerged: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n create: [\"POST /repos/{owner}/{repo}/pulls\"],\n createReplyForReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies\",\n ],\n createReview: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n createReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments\",\n ],\n deletePendingReview: [\n \"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\",\n ],\n deleteReviewComment: [\n \"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}\",\n ],\n dismissReview: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals\",\n ],\n get: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}\"],\n getReview: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\",\n ],\n getReviewComment: [\"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}\"],\n list: [\"GET /repos/{owner}/{repo}/pulls\"],\n listCommentsForReview: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\",\n ],\n listCommits: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\"],\n listFiles: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\"],\n listRequestedReviewers: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n ],\n listReviewComments: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\",\n ],\n listReviewCommentsForRepo: [\"GET /repos/{owner}/{repo}/pulls/comments\"],\n listReviews: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n merge: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n removeRequestedReviewers: [\n \"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n ],\n requestReviewers: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n ],\n submitReview: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events\",\n ],\n update: [\"PATCH /repos/{owner}/{repo}/pulls/{pull_number}\"],\n updateBranch: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch\",\n { mediaType: { previews: [\"lydian\"] } },\n ],\n updateReview: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\",\n ],\n updateReviewComment: [\n \"PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}\",\n ],\n },\n rateLimit: { get: [\"GET /rate_limit\"] },\n reactions: {\n createForCommitComment: [\n \"POST /repos/{owner}/{repo}/comments/{comment_id}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n createForIssue: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n createForIssueComment: [\n \"POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n createForPullRequestReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n createForTeamDiscussionCommentInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n createForTeamDiscussionInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteForCommitComment: [\n \"DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteForIssue: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteForIssueComment: [\n \"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteForPullRequestComment: [\n \"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteForTeamDiscussion: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteForTeamDiscussionComment: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteLegacy: [\n \"DELETE /reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n {\n deprecated: \"octokit.rest.reactions.deleteLegacy() is deprecated, see https://docs.github.com/rest/reference/reactions/#delete-a-reaction-legacy\",\n },\n ],\n listForCommitComment: [\n \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n listForIssue: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n listForIssueComment: [\n \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n listForPullRequestReviewComment: [\n \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n listForTeamDiscussionCommentInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n listForTeamDiscussionInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n },\n repos: {\n acceptInvitation: [\"PATCH /user/repository_invitations/{invitation_id}\"],\n addAppAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" },\n ],\n addCollaborator: [\"PUT /repos/{owner}/{repo}/collaborators/{username}\"],\n addStatusCheckContexts: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" },\n ],\n addTeamAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" },\n ],\n addUserAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" },\n ],\n checkCollaborator: [\"GET /repos/{owner}/{repo}/collaborators/{username}\"],\n checkVulnerabilityAlerts: [\n \"GET /repos/{owner}/{repo}/vulnerability-alerts\",\n { mediaType: { previews: [\"dorian\"] } },\n ],\n compareCommits: [\"GET /repos/{owner}/{repo}/compare/{base}...{head}\"],\n createCommitComment: [\n \"POST /repos/{owner}/{repo}/commits/{commit_sha}/comments\",\n ],\n createCommitSignatureProtection: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\",\n { mediaType: { previews: [\"zzzax\"] } },\n ],\n createCommitStatus: [\"POST /repos/{owner}/{repo}/statuses/{sha}\"],\n createDeployKey: [\"POST /repos/{owner}/{repo}/keys\"],\n createDeployment: [\"POST /repos/{owner}/{repo}/deployments\"],\n createDeploymentStatus: [\n \"POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\",\n ],\n createDispatchEvent: [\"POST /repos/{owner}/{repo}/dispatches\"],\n createForAuthenticatedUser: [\"POST /user/repos\"],\n createFork: [\"POST /repos/{owner}/{repo}/forks\"],\n createInOrg: [\"POST /orgs/{org}/repos\"],\n createOrUpdateEnvironment: [\n \"PUT /repos/{owner}/{repo}/environments/{environment_name}\",\n ],\n createOrUpdateFileContents: [\"PUT /repos/{owner}/{repo}/contents/{path}\"],\n createPagesSite: [\n \"POST /repos/{owner}/{repo}/pages\",\n { mediaType: { previews: [\"switcheroo\"] } },\n ],\n createRelease: [\"POST /repos/{owner}/{repo}/releases\"],\n createUsingTemplate: [\n \"POST /repos/{template_owner}/{template_repo}/generate\",\n { mediaType: { previews: [\"baptiste\"] } },\n ],\n createWebhook: [\"POST /repos/{owner}/{repo}/hooks\"],\n declineInvitation: [\"DELETE /user/repository_invitations/{invitation_id}\"],\n delete: [\"DELETE /repos/{owner}/{repo}\"],\n deleteAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\",\n ],\n deleteAdminBranchProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\",\n ],\n deleteAnEnvironment: [\n \"DELETE /repos/{owner}/{repo}/environments/{environment_name}\",\n ],\n deleteBranchProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection\",\n ],\n deleteCommitComment: [\"DELETE /repos/{owner}/{repo}/comments/{comment_id}\"],\n deleteCommitSignatureProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\",\n { mediaType: { previews: [\"zzzax\"] } },\n ],\n deleteDeployKey: [\"DELETE /repos/{owner}/{repo}/keys/{key_id}\"],\n deleteDeployment: [\n \"DELETE /repos/{owner}/{repo}/deployments/{deployment_id}\",\n ],\n deleteFile: [\"DELETE /repos/{owner}/{repo}/contents/{path}\"],\n deleteInvitation: [\n \"DELETE /repos/{owner}/{repo}/invitations/{invitation_id}\",\n ],\n deletePagesSite: [\n \"DELETE /repos/{owner}/{repo}/pages\",\n { mediaType: { previews: [\"switcheroo\"] } },\n ],\n deletePullRequestReviewProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\",\n ],\n deleteRelease: [\"DELETE /repos/{owner}/{repo}/releases/{release_id}\"],\n deleteReleaseAsset: [\n \"DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}\",\n ],\n deleteWebhook: [\"DELETE /repos/{owner}/{repo}/hooks/{hook_id}\"],\n disableAutomatedSecurityFixes: [\n \"DELETE /repos/{owner}/{repo}/automated-security-fixes\",\n { mediaType: { previews: [\"london\"] } },\n ],\n disableVulnerabilityAlerts: [\n \"DELETE /repos/{owner}/{repo}/vulnerability-alerts\",\n { mediaType: { previews: [\"dorian\"] } },\n ],\n downloadArchive: [\n \"GET /repos/{owner}/{repo}/zipball/{ref}\",\n {},\n { renamed: [\"repos\", \"downloadZipballArchive\"] },\n ],\n downloadTarballArchive: [\"GET /repos/{owner}/{repo}/tarball/{ref}\"],\n downloadZipballArchive: [\"GET /repos/{owner}/{repo}/zipball/{ref}\"],\n enableAutomatedSecurityFixes: [\n \"PUT /repos/{owner}/{repo}/automated-security-fixes\",\n { mediaType: { previews: [\"london\"] } },\n ],\n enableVulnerabilityAlerts: [\n \"PUT /repos/{owner}/{repo}/vulnerability-alerts\",\n { mediaType: { previews: [\"dorian\"] } },\n ],\n get: [\"GET /repos/{owner}/{repo}\"],\n getAccessRestrictions: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\",\n ],\n getAdminBranchProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\",\n ],\n getAllEnvironments: [\"GET /repos/{owner}/{repo}/environments\"],\n getAllStatusCheckContexts: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n ],\n getAllTopics: [\n \"GET /repos/{owner}/{repo}/topics\",\n { mediaType: { previews: [\"mercy\"] } },\n ],\n getAppsWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n ],\n getBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}\"],\n getBranchProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection\",\n ],\n getClones: [\"GET /repos/{owner}/{repo}/traffic/clones\"],\n getCodeFrequencyStats: [\"GET /repos/{owner}/{repo}/stats/code_frequency\"],\n getCollaboratorPermissionLevel: [\n \"GET /repos/{owner}/{repo}/collaborators/{username}/permission\",\n ],\n getCombinedStatusForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/status\"],\n getCommit: [\"GET /repos/{owner}/{repo}/commits/{ref}\"],\n getCommitActivityStats: [\"GET /repos/{owner}/{repo}/stats/commit_activity\"],\n getCommitComment: [\"GET /repos/{owner}/{repo}/comments/{comment_id}\"],\n getCommitSignatureProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\",\n { mediaType: { previews: [\"zzzax\"] } },\n ],\n getCommunityProfileMetrics: [\"GET /repos/{owner}/{repo}/community/profile\"],\n getContent: [\"GET /repos/{owner}/{repo}/contents/{path}\"],\n getContributorsStats: [\"GET /repos/{owner}/{repo}/stats/contributors\"],\n getDeployKey: [\"GET /repos/{owner}/{repo}/keys/{key_id}\"],\n getDeployment: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}\"],\n getDeploymentStatus: [\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}\",\n ],\n getEnvironment: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}\",\n ],\n getLatestPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/latest\"],\n getLatestRelease: [\"GET /repos/{owner}/{repo}/releases/latest\"],\n getPages: [\"GET /repos/{owner}/{repo}/pages\"],\n getPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/{build_id}\"],\n getParticipationStats: [\"GET /repos/{owner}/{repo}/stats/participation\"],\n getPullRequestReviewProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\",\n ],\n getPunchCardStats: [\"GET /repos/{owner}/{repo}/stats/punch_card\"],\n getReadme: [\"GET /repos/{owner}/{repo}/readme\"],\n getReadmeInDirectory: [\"GET /repos/{owner}/{repo}/readme/{dir}\"],\n getRelease: [\"GET /repos/{owner}/{repo}/releases/{release_id}\"],\n getReleaseAsset: [\"GET /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n getReleaseByTag: [\"GET /repos/{owner}/{repo}/releases/tags/{tag}\"],\n getStatusChecksProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n ],\n getTeamsWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n ],\n getTopPaths: [\"GET /repos/{owner}/{repo}/traffic/popular/paths\"],\n getTopReferrers: [\"GET /repos/{owner}/{repo}/traffic/popular/referrers\"],\n getUsersWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n ],\n getViews: [\"GET /repos/{owner}/{repo}/traffic/views\"],\n getWebhook: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}\"],\n getWebhookConfigForRepo: [\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/config\",\n ],\n listBranches: [\"GET /repos/{owner}/{repo}/branches\"],\n listBranchesForHeadCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head\",\n { mediaType: { previews: [\"groot\"] } },\n ],\n listCollaborators: [\"GET /repos/{owner}/{repo}/collaborators\"],\n listCommentsForCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\",\n ],\n listCommitCommentsForRepo: [\"GET /repos/{owner}/{repo}/comments\"],\n listCommitStatusesForRef: [\n \"GET /repos/{owner}/{repo}/commits/{ref}/statuses\",\n ],\n listCommits: [\"GET /repos/{owner}/{repo}/commits\"],\n listContributors: [\"GET /repos/{owner}/{repo}/contributors\"],\n listDeployKeys: [\"GET /repos/{owner}/{repo}/keys\"],\n listDeploymentStatuses: [\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\",\n ],\n listDeployments: [\"GET /repos/{owner}/{repo}/deployments\"],\n listForAuthenticatedUser: [\"GET /user/repos\"],\n listForOrg: [\"GET /orgs/{org}/repos\"],\n listForUser: [\"GET /users/{username}/repos\"],\n listForks: [\"GET /repos/{owner}/{repo}/forks\"],\n listInvitations: [\"GET /repos/{owner}/{repo}/invitations\"],\n listInvitationsForAuthenticatedUser: [\"GET /user/repository_invitations\"],\n listLanguages: [\"GET /repos/{owner}/{repo}/languages\"],\n listPagesBuilds: [\"GET /repos/{owner}/{repo}/pages/builds\"],\n listPublic: [\"GET /repositories\"],\n listPullRequestsAssociatedWithCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\",\n { mediaType: { previews: [\"groot\"] } },\n ],\n listReleaseAssets: [\n \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\",\n ],\n listReleases: [\"GET /repos/{owner}/{repo}/releases\"],\n listTags: [\"GET /repos/{owner}/{repo}/tags\"],\n listTeams: [\"GET /repos/{owner}/{repo}/teams\"],\n listWebhooks: [\"GET /repos/{owner}/{repo}/hooks\"],\n merge: [\"POST /repos/{owner}/{repo}/merges\"],\n pingWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/pings\"],\n removeAppAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" },\n ],\n removeCollaborator: [\n \"DELETE /repos/{owner}/{repo}/collaborators/{username}\",\n ],\n removeStatusCheckContexts: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" },\n ],\n removeStatusCheckProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n ],\n removeTeamAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" },\n ],\n removeUserAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" },\n ],\n renameBranch: [\"POST /repos/{owner}/{repo}/branches/{branch}/rename\"],\n replaceAllTopics: [\n \"PUT /repos/{owner}/{repo}/topics\",\n { mediaType: { previews: [\"mercy\"] } },\n ],\n requestPagesBuild: [\"POST /repos/{owner}/{repo}/pages/builds\"],\n setAdminBranchProtection: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\",\n ],\n setAppAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" },\n ],\n setStatusCheckContexts: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" },\n ],\n setTeamAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" },\n ],\n setUserAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" },\n ],\n testPushWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/tests\"],\n transfer: [\"POST /repos/{owner}/{repo}/transfer\"],\n update: [\"PATCH /repos/{owner}/{repo}\"],\n updateBranchProtection: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection\",\n ],\n updateCommitComment: [\"PATCH /repos/{owner}/{repo}/comments/{comment_id}\"],\n updateInformationAboutPagesSite: [\"PUT /repos/{owner}/{repo}/pages\"],\n updateInvitation: [\n \"PATCH /repos/{owner}/{repo}/invitations/{invitation_id}\",\n ],\n updatePullRequestReviewProtection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\",\n ],\n updateRelease: [\"PATCH /repos/{owner}/{repo}/releases/{release_id}\"],\n updateReleaseAsset: [\n \"PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}\",\n ],\n updateStatusCheckPotection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n {},\n { renamed: [\"repos\", \"updateStatusCheckProtection\"] },\n ],\n updateStatusCheckProtection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n ],\n updateWebhook: [\"PATCH /repos/{owner}/{repo}/hooks/{hook_id}\"],\n updateWebhookConfigForRepo: [\n \"PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config\",\n ],\n uploadReleaseAsset: [\n \"POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}\",\n { baseUrl: \"https://uploads.github.com\" },\n ],\n },\n search: {\n code: [\"GET /search/code\"],\n commits: [\"GET /search/commits\", { mediaType: { previews: [\"cloak\"] } }],\n issuesAndPullRequests: [\"GET /search/issues\"],\n labels: [\"GET /search/labels\"],\n repos: [\"GET /search/repositories\"],\n topics: [\"GET /search/topics\", { mediaType: { previews: [\"mercy\"] } }],\n users: [\"GET /search/users\"],\n },\n secretScanning: {\n getAlert: [\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\",\n ],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts\"],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\",\n ],\n },\n teams: {\n addOrUpdateMembershipForUserInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/memberships/{username}\",\n ],\n addOrUpdateProjectPermissionsInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n addOrUpdateRepoPermissionsInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\",\n ],\n checkPermissionsForProjectInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/projects/{project_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n checkPermissionsForRepoInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\",\n ],\n create: [\"POST /orgs/{org}/teams\"],\n createDiscussionCommentInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\",\n ],\n createDiscussionInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions\"],\n deleteDiscussionCommentInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\",\n ],\n deleteDiscussionInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\",\n ],\n deleteInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}\"],\n getByName: [\"GET /orgs/{org}/teams/{team_slug}\"],\n getDiscussionCommentInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\",\n ],\n getDiscussionInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\",\n ],\n getMembershipForUserInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/memberships/{username}\",\n ],\n list: [\"GET /orgs/{org}/teams\"],\n listChildInOrg: [\"GET /orgs/{org}/teams/{team_slug}/teams\"],\n listDiscussionCommentsInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\",\n ],\n listDiscussionsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions\"],\n listForAuthenticatedUser: [\"GET /user/teams\"],\n listMembersInOrg: [\"GET /orgs/{org}/teams/{team_slug}/members\"],\n listPendingInvitationsInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/invitations\",\n ],\n listProjectsInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listReposInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos\"],\n removeMembershipForUserInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}\",\n ],\n removeProjectInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}\",\n ],\n removeRepoInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\",\n ],\n updateDiscussionCommentInOrg: [\n \"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\",\n ],\n updateDiscussionInOrg: [\n \"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\",\n ],\n updateInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}\"],\n },\n users: {\n addEmailForAuthenticated: [\"POST /user/emails\"],\n block: [\"PUT /user/blocks/{username}\"],\n checkBlocked: [\"GET /user/blocks/{username}\"],\n checkFollowingForUser: [\"GET /users/{username}/following/{target_user}\"],\n checkPersonIsFollowedByAuthenticated: [\"GET /user/following/{username}\"],\n createGpgKeyForAuthenticated: [\"POST /user/gpg_keys\"],\n createPublicSshKeyForAuthenticated: [\"POST /user/keys\"],\n deleteEmailForAuthenticated: [\"DELETE /user/emails\"],\n deleteGpgKeyForAuthenticated: [\"DELETE /user/gpg_keys/{gpg_key_id}\"],\n deletePublicSshKeyForAuthenticated: [\"DELETE /user/keys/{key_id}\"],\n follow: [\"PUT /user/following/{username}\"],\n getAuthenticated: [\"GET /user\"],\n getByUsername: [\"GET /users/{username}\"],\n getContextForUser: [\"GET /users/{username}/hovercard\"],\n getGpgKeyForAuthenticated: [\"GET /user/gpg_keys/{gpg_key_id}\"],\n getPublicSshKeyForAuthenticated: [\"GET /user/keys/{key_id}\"],\n list: [\"GET /users\"],\n listBlockedByAuthenticated: [\"GET /user/blocks\"],\n listEmailsForAuthenticated: [\"GET /user/emails\"],\n listFollowedByAuthenticated: [\"GET /user/following\"],\n listFollowersForAuthenticatedUser: [\"GET /user/followers\"],\n listFollowersForUser: [\"GET /users/{username}/followers\"],\n listFollowingForUser: [\"GET /users/{username}/following\"],\n listGpgKeysForAuthenticated: [\"GET /user/gpg_keys\"],\n listGpgKeysForUser: [\"GET /users/{username}/gpg_keys\"],\n listPublicEmailsForAuthenticated: [\"GET /user/public_emails\"],\n listPublicKeysForUser: [\"GET /users/{username}/keys\"],\n listPublicSshKeysForAuthenticated: [\"GET /user/keys\"],\n setPrimaryEmailVisibilityForAuthenticated: [\"PATCH /user/email/visibility\"],\n unblock: [\"DELETE /user/blocks/{username}\"],\n unfollow: [\"DELETE /user/following/{username}\"],\n updateAuthenticated: [\"PATCH /user\"],\n },\n};\nexport default Endpoints;\n","export const VERSION = \"4.15.1\";\n","export function endpointsToMethods(octokit, endpointsMap) {\n const newMethods = {};\n for (const [scope, endpoints] of Object.entries(endpointsMap)) {\n for (const [methodName, endpoint] of Object.entries(endpoints)) {\n const [route, defaults, decorations] = endpoint;\n const [method, url] = route.split(/ /);\n const endpointDefaults = Object.assign({ method, url }, defaults);\n if (!newMethods[scope]) {\n newMethods[scope] = {};\n }\n const scopeMethods = newMethods[scope];\n if (decorations) {\n scopeMethods[methodName] = decorate(octokit, scope, methodName, endpointDefaults, decorations);\n continue;\n }\n scopeMethods[methodName] = octokit.request.defaults(endpointDefaults);\n }\n }\n return newMethods;\n}\nfunction decorate(octokit, scope, methodName, defaults, decorations) {\n const requestWithDefaults = octokit.request.defaults(defaults);\n /* istanbul ignore next */\n function withDecorations(...args) {\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n let options = requestWithDefaults.endpoint.merge(...args);\n // There are currently no other decorations than `.mapToData`\n if (decorations.mapToData) {\n options = Object.assign({}, options, {\n data: options[decorations.mapToData],\n [decorations.mapToData]: undefined,\n });\n return requestWithDefaults(options);\n }\n if (decorations.renamed) {\n const [newScope, newMethodName] = decorations.renamed;\n octokit.log.warn(`octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`);\n }\n if (decorations.deprecated) {\n octokit.log.warn(decorations.deprecated);\n }\n if (decorations.renamedParameters) {\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n const options = requestWithDefaults.endpoint.merge(...args);\n for (const [name, alias] of Object.entries(decorations.renamedParameters)) {\n if (name in options) {\n octokit.log.warn(`\"${name}\" parameter is deprecated for \"octokit.${scope}.${methodName}()\". Use \"${alias}\" instead`);\n if (!(alias in options)) {\n options[alias] = options[name];\n }\n delete options[name];\n }\n }\n return requestWithDefaults(options);\n }\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n return requestWithDefaults(...args);\n }\n return Object.assign(withDecorations, requestWithDefaults);\n}\n","import ENDPOINTS from \"./generated/endpoints\";\nimport { VERSION } from \"./version\";\nimport { endpointsToMethods } from \"./endpoints-to-methods\";\nexport function restEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit, ENDPOINTS);\n return {\n ...api,\n rest: api,\n };\n}\nrestEndpointMethods.VERSION = VERSION;\n"],"names":["Endpoints","actions","addSelectedRepoToOrgSecret","cancelWorkflowRun","createOrUpdateEnvironmentSecret","createOrUpdateOrgSecret","createOrUpdateRepoSecret","createRegistrationTokenForOrg","createRegistrationTokenForRepo","createRemoveTokenForOrg","createRemoveTokenForRepo","createWorkflowDispatch","deleteArtifact","deleteEnvironmentSecret","deleteOrgSecret","deleteRepoSecret","deleteSelfHostedRunnerFromOrg","deleteSelfHostedRunnerFromRepo","deleteWorkflowRun","deleteWorkflowRunLogs","disableSelectedRepositoryGithubActionsOrganization","disableWorkflow","downloadArtifact","downloadJobLogsForWorkflowRun","downloadWorkflowRunLogs","enableSelectedRepositoryGithubActionsOrganization","enableWorkflow","getAllowedActionsOrganization","getAllowedActionsRepository","getArtifact","getEnvironmentPublicKey","getEnvironmentSecret","getGithubActionsPermissionsOrganization","getGithubActionsPermissionsRepository","getJobForWorkflowRun","getOrgPublicKey","getOrgSecret","getPendingDeploymentsForRun","getRepoPermissions","renamed","getRepoPublicKey","getRepoSecret","getReviewsForRun","getSelfHostedRunnerForOrg","getSelfHostedRunnerForRepo","getWorkflow","getWorkflowRun","getWorkflowRunUsage","getWorkflowUsage","listArtifactsForRepo","listEnvironmentSecrets","listJobsForWorkflowRun","listOrgSecrets","listRepoSecrets","listRepoWorkflows","listRunnerApplicationsForOrg","listRunnerApplicationsForRepo","listSelectedReposForOrgSecret","listSelectedRepositoriesEnabledGithubActionsOrganization","listSelfHostedRunnersForOrg","listSelfHostedRunnersForRepo","listWorkflowRunArtifacts","listWorkflowRuns","listWorkflowRunsForRepo","reRunWorkflow","removeSelectedRepoFromOrgSecret","reviewPendingDeploymentsForRun","setAllowedActionsOrganization","setAllowedActionsRepository","setGithubActionsPermissionsOrganization","setGithubActionsPermissionsRepository","setSelectedReposForOrgSecret","setSelectedRepositoriesEnabledGithubActionsOrganization","activity","checkRepoIsStarredByAuthenticatedUser","deleteRepoSubscription","deleteThreadSubscription","getFeeds","getRepoSubscription","getThread","getThreadSubscriptionForAuthenticatedUser","listEventsForAuthenticatedUser","listNotificationsForAuthenticatedUser","listOrgEventsForAuthenticatedUser","listPublicEvents","listPublicEventsForRepoNetwork","listPublicEventsForUser","listPublicOrgEvents","listReceivedEventsForUser","listReceivedPublicEventsForUser","listRepoEvents","listRepoNotificationsForAuthenticatedUser","listReposStarredByAuthenticatedUser","listReposStarredByUser","listReposWatchedByUser","listStargazersForRepo","listWatchedReposForAuthenticatedUser","listWatchersForRepo","markNotificationsAsRead","markRepoNotificationsAsRead","markThreadAsRead","setRepoSubscription","setThreadSubscription","starRepoForAuthenticatedUser","unstarRepoForAuthenticatedUser","apps","addRepoToInstallation","checkToken","createContentAttachment","mediaType","previews","createFromManifest","createInstallationAccessToken","deleteAuthorization","deleteInstallation","deleteToken","getAuthenticated","getBySlug","getInstallation","getOrgInstallation","getRepoInstallation","getSubscriptionPlanForAccount","getSubscriptionPlanForAccountStubbed","getUserInstallation","getWebhookConfigForApp","listAccountsForPlan","listAccountsForPlanStubbed","listInstallationReposForAuthenticatedUser","listInstallations","listInstallationsForAuthenticatedUser","listPlans","listPlansStubbed","listReposAccessibleToInstallation","listSubscriptionsForAuthenticatedUser","listSubscriptionsForAuthenticatedUserStubbed","removeRepoFromInstallation","resetToken","revokeInstallationAccessToken","scopeToken","suspendInstallation","unsuspendInstallation","updateWebhookConfigForApp","billing","getGithubActionsBillingOrg","getGithubActionsBillingUser","getGithubPackagesBillingOrg","getGithubPackagesBillingUser","getSharedStorageBillingOrg","getSharedStorageBillingUser","checks","create","createSuite","get","getSuite","listAnnotations","listForRef","listForSuite","listSuitesForRef","rerequestSuite","setSuitesPreferences","update","codeScanning","deleteAnalysis","getAlert","renamedParameters","alert_id","getAnalysis","getSarif","listAlertsForRepo","listAlertsInstances","listRecentAnalyses","updateAlert","uploadSarif","codesOfConduct","getAllCodesOfConduct","getConductCode","getForRepo","emojis","enterpriseAdmin","disableSelectedOrganizationGithubActionsEnterprise","enableSelectedOrganizationGithubActionsEnterprise","getAllowedActionsEnterprise","getGithubActionsPermissionsEnterprise","listSelectedOrganizationsEnabledGithubActionsEnterprise","setAllowedActionsEnterprise","setGithubActionsPermissionsEnterprise","setSelectedOrganizationsEnabledGithubActionsEnterprise","gists","checkIsStarred","createComment","delete","deleteComment","fork","getComment","getRevision","list","listComments","listCommits","listForUser","listForks","listPublic","listStarred","star","unstar","updateComment","git","createBlob","createCommit","createRef","createTag","createTree","deleteRef","getBlob","getCommit","getRef","getTag","getTree","listMatchingRefs","updateRef","gitignore","getAllTemplates","getTemplate","interactions","getRestrictionsForAuthenticatedUser","getRestrictionsForOrg","getRestrictionsForRepo","getRestrictionsForYourPublicRepos","removeRestrictionsForAuthenticatedUser","removeRestrictionsForOrg","removeRestrictionsForRepo","removeRestrictionsForYourPublicRepos","setRestrictionsForAuthenticatedUser","setRestrictionsForOrg","setRestrictionsForRepo","setRestrictionsForYourPublicRepos","issues","addAssignees","addLabels","checkUserCanBeAssigned","createLabel","createMilestone","deleteLabel","deleteMilestone","getEvent","getLabel","getMilestone","listAssignees","listCommentsForRepo","listEvents","listEventsForRepo","listEventsForTimeline","listForAuthenticatedUser","listForOrg","listForRepo","listLabelsForMilestone","listLabelsForRepo","listLabelsOnIssue","listMilestones","lock","removeAllLabels","removeAssignees","removeLabel","setLabels","unlock","updateLabel","updateMilestone","licenses","getAllCommonlyUsed","markdown","render","renderRaw","headers","meta","getOctocat","getZen","root","migrations","cancelImport","deleteArchiveForAuthenticatedUser","deleteArchiveForOrg","downloadArchiveForOrg","getArchiveForAuthenticatedUser","getCommitAuthors","getImportStatus","getLargeFiles","getStatusForAuthenticatedUser","getStatusForOrg","listReposForOrg","listReposForUser","mapCommitAuthor","setLfsPreference","startForAuthenticatedUser","startForOrg","startImport","unlockRepoForAuthenticatedUser","unlockRepoForOrg","updateImport","orgs","blockUser","cancelInvitation","checkBlockedUser","checkMembershipForUser","checkPublicMembershipForUser","convertMemberToOutsideCollaborator","createInvitation","createWebhook","deleteWebhook","getMembershipForAuthenticatedUser","getMembershipForUser","getWebhook","getWebhookConfigForOrg","listAppInstallations","listBlockedUsers","listFailedInvitations","listInvitationTeams","listMembers","listMembershipsForAuthenticatedUser","listOutsideCollaborators","listPendingInvitations","listPublicMembers","listWebhooks","pingWebhook","removeMember","removeMembershipForUser","removeOutsideCollaborator","removePublicMembershipForAuthenticatedUser","setMembershipForUser","setPublicMembershipForAuthenticatedUser","unblockUser","updateMembershipForAuthenticatedUser","updateWebhook","updateWebhookConfigForOrg","packages","deletePackageForAuthenticatedUser","deletePackageForOrg","deletePackageVersionForAuthenticatedUser","deletePackageVersionForOrg","getAllPackageVersionsForAPackageOwnedByAnOrg","getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser","getAllPackageVersionsForPackageOwnedByAuthenticatedUser","getAllPackageVersionsForPackageOwnedByOrg","getAllPackageVersionsForPackageOwnedByUser","getPackageForAuthenticatedUser","getPackageForOrganization","getPackageForUser","getPackageVersionForAuthenticatedUser","getPackageVersionForOrganization","getPackageVersionForUser","restorePackageForAuthenticatedUser","restorePackageForOrg","restorePackageVersionForAuthenticatedUser","restorePackageVersionForOrg","projects","addCollaborator","createCard","createColumn","createForAuthenticatedUser","createForOrg","createForRepo","deleteCard","deleteColumn","getCard","getColumn","getPermissionForUser","listCards","listCollaborators","listColumns","moveCard","moveColumn","removeCollaborator","updateCard","updateColumn","pulls","checkIfMerged","createReplyForReviewComment","createReview","createReviewComment","deletePendingReview","deleteReviewComment","dismissReview","getReview","getReviewComment","listCommentsForReview","listFiles","listRequestedReviewers","listReviewComments","listReviewCommentsForRepo","listReviews","merge","removeRequestedReviewers","requestReviewers","submitReview","updateBranch","updateReview","updateReviewComment","rateLimit","reactions","createForCommitComment","createForIssue","createForIssueComment","createForPullRequestReviewComment","createForTeamDiscussionCommentInOrg","createForTeamDiscussionInOrg","deleteForCommitComment","deleteForIssue","deleteForIssueComment","deleteForPullRequestComment","deleteForTeamDiscussion","deleteForTeamDiscussionComment","deleteLegacy","deprecated","listForCommitComment","listForIssue","listForIssueComment","listForPullRequestReviewComment","listForTeamDiscussionCommentInOrg","listForTeamDiscussionInOrg","repos","acceptInvitation","addAppAccessRestrictions","mapToData","addStatusCheckContexts","addTeamAccessRestrictions","addUserAccessRestrictions","checkCollaborator","checkVulnerabilityAlerts","compareCommits","createCommitComment","createCommitSignatureProtection","createCommitStatus","createDeployKey","createDeployment","createDeploymentStatus","createDispatchEvent","createFork","createInOrg","createOrUpdateEnvironment","createOrUpdateFileContents","createPagesSite","createRelease","createUsingTemplate","declineInvitation","deleteAccessRestrictions","deleteAdminBranchProtection","deleteAnEnvironment","deleteBranchProtection","deleteCommitComment","deleteCommitSignatureProtection","deleteDeployKey","deleteDeployment","deleteFile","deleteInvitation","deletePagesSite","deletePullRequestReviewProtection","deleteRelease","deleteReleaseAsset","disableAutomatedSecurityFixes","disableVulnerabilityAlerts","downloadArchive","downloadTarballArchive","downloadZipballArchive","enableAutomatedSecurityFixes","enableVulnerabilityAlerts","getAccessRestrictions","getAdminBranchProtection","getAllEnvironments","getAllStatusCheckContexts","getAllTopics","getAppsWithAccessToProtectedBranch","getBranch","getBranchProtection","getClones","getCodeFrequencyStats","getCollaboratorPermissionLevel","getCombinedStatusForRef","getCommitActivityStats","getCommitComment","getCommitSignatureProtection","getCommunityProfileMetrics","getContent","getContributorsStats","getDeployKey","getDeployment","getDeploymentStatus","getEnvironment","getLatestPagesBuild","getLatestRelease","getPages","getPagesBuild","getParticipationStats","getPullRequestReviewProtection","getPunchCardStats","getReadme","getReadmeInDirectory","getRelease","getReleaseAsset","getReleaseByTag","getStatusChecksProtection","getTeamsWithAccessToProtectedBranch","getTopPaths","getTopReferrers","getUsersWithAccessToProtectedBranch","getViews","getWebhookConfigForRepo","listBranches","listBranchesForHeadCommit","listCommentsForCommit","listCommitCommentsForRepo","listCommitStatusesForRef","listContributors","listDeployKeys","listDeploymentStatuses","listDeployments","listInvitations","listInvitationsForAuthenticatedUser","listLanguages","listPagesBuilds","listPullRequestsAssociatedWithCommit","listReleaseAssets","listReleases","listTags","listTeams","removeAppAccessRestrictions","removeStatusCheckContexts","removeStatusCheckProtection","removeTeamAccessRestrictions","removeUserAccessRestrictions","renameBranch","replaceAllTopics","requestPagesBuild","setAdminBranchProtection","setAppAccessRestrictions","setStatusCheckContexts","setTeamAccessRestrictions","setUserAccessRestrictions","testPushWebhook","transfer","updateBranchProtection","updateCommitComment","updateInformationAboutPagesSite","updateInvitation","updatePullRequestReviewProtection","updateRelease","updateReleaseAsset","updateStatusCheckPotection","updateStatusCheckProtection","updateWebhookConfigForRepo","uploadReleaseAsset","baseUrl","search","code","commits","issuesAndPullRequests","labels","topics","users","secretScanning","teams","addOrUpdateMembershipForUserInOrg","addOrUpdateProjectPermissionsInOrg","addOrUpdateRepoPermissionsInOrg","checkPermissionsForProjectInOrg","checkPermissionsForRepoInOrg","createDiscussionCommentInOrg","createDiscussionInOrg","deleteDiscussionCommentInOrg","deleteDiscussionInOrg","deleteInOrg","getByName","getDiscussionCommentInOrg","getDiscussionInOrg","getMembershipForUserInOrg","listChildInOrg","listDiscussionCommentsInOrg","listDiscussionsInOrg","listMembersInOrg","listPendingInvitationsInOrg","listProjectsInOrg","listReposInOrg","removeMembershipForUserInOrg","removeProjectInOrg","removeRepoInOrg","updateDiscussionCommentInOrg","updateDiscussionInOrg","updateInOrg","addEmailForAuthenticated","block","checkBlocked","checkFollowingForUser","checkPersonIsFollowedByAuthenticated","createGpgKeyForAuthenticated","createPublicSshKeyForAuthenticated","deleteEmailForAuthenticated","deleteGpgKeyForAuthenticated","deletePublicSshKeyForAuthenticated","follow","getByUsername","getContextForUser","getGpgKeyForAuthenticated","getPublicSshKeyForAuthenticated","listBlockedByAuthenticated","listEmailsForAuthenticated","listFollowedByAuthenticated","listFollowersForAuthenticatedUser","listFollowersForUser","listFollowingForUser","listGpgKeysForAuthenticated","listGpgKeysForUser","listPublicEmailsForAuthenticated","listPublicKeysForUser","listPublicSshKeysForAuthenticated","setPrimaryEmailVisibilityForAuthenticated","unblock","unfollow","updateAuthenticated","VERSION","endpointsToMethods","octokit","endpointsMap","newMethods","scope","endpoints","Object","entries","methodName","endpoint","route","defaults","decorations","method","url","split","endpointDefaults","assign","scopeMethods","decorate","request","requestWithDefaults","withDecorations","args","options","data","undefined","newScope","newMethodName","log","warn","name","alias","restEndpointMethods","api","ENDPOINTS","rest"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js index b2e226f..2b65b01 100644 --- a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js @@ -6,6 +6,9 @@ const Endpoints = { cancelWorkflowRun: [ "POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel", ], + createOrUpdateEnvironmentSecret: [ + "PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", + ], createOrUpdateOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}"], createOrUpdateRepoSecret: [ "PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}", @@ -26,6 +29,9 @@ const Endpoints = { deleteArtifact: [ "DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}", ], + deleteEnvironmentSecret: [ + "DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", + ], deleteOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}"], deleteRepoSecret: [ "DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}", @@ -68,6 +74,12 @@ const Endpoints = { "GET /repos/{owner}/{repo}/actions/permissions/selected-actions", ], getArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"], + getEnvironmentPublicKey: [ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key", + ], + getEnvironmentSecret: [ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", + ], getGithubActionsPermissionsOrganization: [ "GET /orgs/{org}/actions/permissions", ], @@ -77,6 +89,9 @@ const Endpoints = { getJobForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"], getOrgPublicKey: ["GET /orgs/{org}/actions/secrets/public-key"], getOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}"], + getPendingDeploymentsForRun: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments", + ], getRepoPermissions: [ "GET /repos/{owner}/{repo}/actions/permissions", {}, @@ -84,6 +99,9 @@ const Endpoints = { ], getRepoPublicKey: ["GET /repos/{owner}/{repo}/actions/secrets/public-key"], getRepoSecret: ["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"], + getReviewsForRun: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals", + ], getSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}"], getSelfHostedRunnerForRepo: [ "GET /repos/{owner}/{repo}/actions/runners/{runner_id}", @@ -97,6 +115,9 @@ const Endpoints = { "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing", ], listArtifactsForRepo: ["GET /repos/{owner}/{repo}/actions/artifacts"], + listEnvironmentSecrets: [ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets", + ], listJobsForWorkflowRun: [ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs", ], @@ -126,6 +147,9 @@ const Endpoints = { removeSelectedRepoFromOrgSecret: [ "DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}", ], + reviewPendingDeploymentsForRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments", + ], setAllowedActionsOrganization: [ "PUT /orgs/{org}/actions/permissions/selected-actions", ], @@ -285,12 +309,22 @@ const Endpoints = { update: ["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"], }, codeScanning: { + deleteAnalysis: [ + "DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}", + ], getAlert: [ "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", {}, { renamedParameters: { alert_id: "alert_number" } }, ], + getAnalysis: [ + "GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}", + ], + getSarif: ["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"], listAlertsForRepo: ["GET /repos/{owner}/{repo}/code-scanning/alerts"], + listAlertsInstances: [ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", + ], listRecentAnalyses: ["GET /repos/{owner}/{repo}/code-scanning/analyses"], updateAlert: [ "PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", @@ -600,6 +634,74 @@ const Endpoints = { updateWebhook: ["PATCH /orgs/{org}/hooks/{hook_id}"], updateWebhookConfigForOrg: ["PATCH /orgs/{org}/hooks/{hook_id}/config"], }, + packages: { + deletePackageForAuthenticatedUser: [ + "DELETE /user/packages/{package_type}/{package_name}", + ], + deletePackageForOrg: [ + "DELETE /orgs/{org}/packages/{package_type}/{package_name}", + ], + deletePackageVersionForAuthenticatedUser: [ + "DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}", + ], + deletePackageVersionForOrg: [ + "DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}", + ], + getAllPackageVersionsForAPackageOwnedByAnOrg: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", + {}, + { renamed: ["packages", "getAllPackageVersionsForPackageOwnedByOrg"] }, + ], + getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}/versions", + {}, + { + renamed: [ + "packages", + "getAllPackageVersionsForPackageOwnedByAuthenticatedUser", + ], + }, + ], + getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}/versions", + ], + getAllPackageVersionsForPackageOwnedByOrg: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", + ], + getAllPackageVersionsForPackageOwnedByUser: [ + "GET /users/{username}/packages/{package_type}/{package_name}/versions", + ], + getPackageForAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}", + ], + getPackageForOrganization: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}", + ], + getPackageForUser: [ + "GET /users/{username}/packages/{package_type}/{package_name}", + ], + getPackageVersionForAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}", + ], + getPackageVersionForOrganization: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}", + ], + getPackageVersionForUser: [ + "GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}", + ], + restorePackageForAuthenticatedUser: [ + "POST /user/packages/{package_type}/{package_name}/restore{?token}", + ], + restorePackageForOrg: [ + "POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}", + ], + restorePackageVersionForAuthenticatedUser: [ + "POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore", + ], + restorePackageVersionForOrg: [ + "POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore", + ], + }, projects: { addCollaborator: [ "PUT /projects/{project_id}/collaborators/{username}", @@ -816,7 +918,7 @@ const Endpoints = { "DELETE /reactions/{reaction_id}", { mediaType: { previews: ["squirrel-girl"] } }, { - deprecated: "octokit.reactions.deleteLegacy() is deprecated, see https://docs.github.com/v3/reactions/#delete-a-reaction-legacy", + deprecated: "octokit.rest.reactions.deleteLegacy() is deprecated, see https://docs.github.com/rest/reference/reactions/#delete-a-reaction-legacy", }, ], listForCommitComment: [ @@ -890,6 +992,9 @@ const Endpoints = { createForAuthenticatedUser: ["POST /user/repos"], createFork: ["POST /repos/{owner}/{repo}/forks"], createInOrg: ["POST /orgs/{org}/repos"], + createOrUpdateEnvironment: [ + "PUT /repos/{owner}/{repo}/environments/{environment_name}", + ], createOrUpdateFileContents: ["PUT /repos/{owner}/{repo}/contents/{path}"], createPagesSite: [ "POST /repos/{owner}/{repo}/pages", @@ -909,6 +1014,9 @@ const Endpoints = { deleteAdminBranchProtection: [ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", ], + deleteAnEnvironment: [ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}", + ], deleteBranchProtection: [ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection", ], @@ -967,6 +1075,7 @@ const Endpoints = { getAdminBranchProtection: [ "GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", ], + getAllEnvironments: ["GET /repos/{owner}/{repo}/environments"], getAllStatusCheckContexts: [ "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", ], @@ -1002,6 +1111,9 @@ const Endpoints = { getDeploymentStatus: [ "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}", ], + getEnvironment: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}", + ], getLatestPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/latest"], getLatestRelease: ["GET /repos/{owner}/{repo}/releases/latest"], getPages: ["GET /repos/{owner}/{repo}/pages"], @@ -1012,6 +1124,7 @@ const Endpoints = { ], getPunchCardStats: ["GET /repos/{owner}/{repo}/stats/punch_card"], getReadme: ["GET /repos/{owner}/{repo}/readme"], + getReadmeInDirectory: ["GET /repos/{owner}/{repo}/readme/{dir}"], getRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}"], getReleaseAsset: ["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"], getReleaseByTag: ["GET /repos/{owner}/{repo}/releases/tags/{tag}"], diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js index 0535b19..4139906 100644 --- a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js @@ -1,17 +1,11 @@ import ENDPOINTS from "./generated/endpoints"; import { VERSION } from "./version"; import { endpointsToMethods } from "./endpoints-to-methods"; -/** - * This plugin is a 1:1 copy of internal @octokit/rest plugins. The primary - * goal is to rebuild @octokit/rest on top of @octokit/core. Once that is - * done, we will remove the registerEndpoints methods and return the methods - * directly as with the other plugins. At that point we will also remove the - * legacy workarounds and deprecations. - * - * See the plan at - * https://github.com/octokit/plugin-rest-endpoint-methods.js/pull/1 - */ export function restEndpointMethods(octokit) { - return endpointsToMethods(octokit, ENDPOINTS); + const api = endpointsToMethods(octokit, ENDPOINTS); + return { + ...api, + rest: api, + }; } restEndpointMethods.VERSION = VERSION; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js index 72ad0bc..5e3bbc5 100644 --- a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js @@ -1 +1 @@ -export const VERSION = "4.10.1"; +export const VERSION = "4.15.1"; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/method-types.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/method-types.d.ts index 523313d..fb0644a 100644 --- a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/method-types.d.ts +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/method-types.d.ts @@ -22,6 +22,90 @@ export declare type RestEndpointMethods = { url: string; }>; }; + /** + * Creates or updates an environment secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use + * this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/stable/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + createOrUpdateEnvironmentSecret: { + (params?: RestEndpointMethodTypes["actions"]["createOrUpdateEnvironmentSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; /** * Creates or updates an organization secret with an encrypted value. Encrypt your secret using * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access @@ -293,6 +377,16 @@ export declare type RestEndpointMethods = { url: string; }>; }; + /** + * Deletes a secret in an environment using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. + */ + deleteEnvironmentSecret: { + (params?: RestEndpointMethodTypes["actions"]["deleteEnvironmentSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; /** * Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ @@ -481,6 +575,26 @@ export declare type RestEndpointMethods = { url: string; }>; }; + /** + * Get the public key for an environment, which you need to encrypt environment secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint. + */ + getEnvironmentPublicKey: { + (params?: RestEndpointMethodTypes["actions"]["getEnvironmentPublicKey"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a single environment secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. + */ + getEnvironmentSecret: { + (params?: RestEndpointMethodTypes["actions"]["getEnvironmentSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; /** * Gets the GitHub Actions permissions policy for repositories and allowed actions in an organization. * @@ -536,12 +650,24 @@ export declare type RestEndpointMethods = { url: string; }>; }; + /** + * Get all deployment environments for a workflow run that are waiting for protection rules to pass. + * + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + getPendingDeploymentsForRun: { + (params?: RestEndpointMethodTypes["actions"]["getPendingDeploymentsForRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; /** * Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions allowed to run in the repository. * * You must authenticate using an access token with the `repo` scope to use this * endpoint. GitHub Apps must have the `administration` repository permission to use this API. - * @deprecated octokit.actions.getRepoPermissions() has been renamed to octokit.actions.getGithubActionsPermissionsRepository() (2020-11-10) + * @deprecated octokit.rest.actions.getRepoPermissions() has been renamed to octokit.rest.actions.getGithubActionsPermissionsRepository() (2020-11-10) */ getRepoPermissions: { (params?: RestEndpointMethodTypes["actions"]["getRepoPermissions"]["parameters"]): Promise; @@ -570,6 +696,16 @@ export declare type RestEndpointMethods = { url: string; }>; }; + /** + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + getReviewsForRun: { + (params?: RestEndpointMethodTypes["actions"]["getReviewsForRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; /** * Gets a specific self-hosted runner configured in an organization. * @@ -649,6 +785,16 @@ export declare type RestEndpointMethods = { url: string; }>; }; + /** + * Lists all secrets available in an environment without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. + */ + listEnvironmentSecrets: { + (params?: RestEndpointMethodTypes["actions"]["listEnvironmentSecrets"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; /** * Lists jobs for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). */ @@ -811,6 +957,18 @@ export declare type RestEndpointMethods = { url: string; }>; }; + /** + * Approve or reject pending deployments that are waiting on approval by a required reviewer. + * + * Anyone with read access to the repository contents and deployments can use this endpoint. + */ + reviewPendingDeploymentsForRun: { + (params?: RestEndpointMethodTypes["actions"]["reviewPendingDeploymentsForRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; /** * Sets the actions that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." * @@ -1269,7 +1427,7 @@ export declare type RestEndpointMethods = { }>; }; /** - * Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/v3/apps/#suspend-an-app-installation)" endpoint. + * Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/rest/reference/apps/#suspend-an-app-installation)" endpoint. * * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ @@ -1559,7 +1717,7 @@ export declare type RestEndpointMethods = { }>; }; /** - * Exchanges a non-repository scoped user-to-server OAuth access token for a repository scoped user-to-server OAuth access token. You can specify which repositories the token can access and which permissions are granted to the token. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + * Use a non-scoped user-to-server OAuth access token to create a repository scoped and/or permission scoped user-to-server OAuth access token. You can specify which repositories the token can access and which permissions are granted to the token. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. */ scopeToken: { (params?: RestEndpointMethodTypes["apps"]["scopeToken"]["parameters"]): Promise; @@ -1569,8 +1727,6 @@ export declare type RestEndpointMethods = { }>; }; /** - * **Note:** Suspending a GitHub App installation is currently in beta and subject to change. Before you can suspend a GitHub App, the app owner must enable suspending installations for the app by opting-in to the beta. For more information, see "[Suspending a GitHub App installation](https://docs.github.com/apps/managing-github-apps/suspending-a-github-app-installation/)." - * * Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account. * * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. @@ -1583,8 +1739,6 @@ export declare type RestEndpointMethods = { }>; }; /** - * **Note:** Suspending a GitHub App installation is currently in beta and subject to change. Before you can suspend a GitHub App, the app owner must enable suspending installations for the app by opting-in to the beta. For more information, see "[Suspending a GitHub App installation](https://docs.github.com/apps/managing-github-apps/suspending-a-github-app-installation/)." - * * Removes a GitHub App installation suspension. * * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. @@ -1613,7 +1767,7 @@ export declare type RestEndpointMethods = { /** * Gets the summary of the free and paid GitHub Actions minutes used. * - * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". * * Access tokens must have the `repo` or `admin:org` scope. */ @@ -1627,7 +1781,7 @@ export declare type RestEndpointMethods = { /** * Gets the summary of the free and paid GitHub Actions minutes used. * - * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". * * Access tokens must have the `user` scope. */ @@ -1828,10 +1982,84 @@ export declare type RestEndpointMethods = { }; }; codeScanning: { + /** + * Deletes a specified code scanning analysis from a repository. For + * private repositories, you must use an access token with the `repo` scope. For public repositories, + * you must use an access token with `public_repo` and `repo:security_events` scopes. + * GitHub Apps must have the `security_events` write permission to use this endpoint. + * + * You can delete one analysis at a time. + * To delete a series of analyses, start with the most recent analysis and work backwards. + * Conceptually, the process is similar to the undo function in a text editor. + * + * When you list the analyses for a repository, + * one or more will be identified as deletable in the response: + * + * ``` + * "deletable": true + * ``` + * + * An analysis is deletable when it's the most recent in a set of analyses. + * Typically, a repository will have multiple sets of analyses + * for each enabled code scanning tool, + * where a set is determined by a unique combination of analysis values: + * + * * `ref` + * * `tool` + * * `analysis_key` + * * `environment` + * + * If you attempt to delete an analysis that is not the most recent in a set, + * you'll get a 400 response with the message: + * + * ``` + * Analysis specified is not deletable. + * ``` + * + * The response from a successful `DELETE` operation provides you with + * two alternative URLs for deleting the next analysis in the set + * (see the example default response below). + * Use the `next_analysis_url` URL if you want to avoid accidentally deleting the final analysis + * in the set. This is a useful option if you want to preserve at least one analysis + * for the specified tool in your repository. + * Use the `confirm_delete_url` URL if you are content to remove all analyses for a tool. + * When you delete the last analysis in a set the value of `next_analysis_url` and `confirm_delete_url` + * in the 200 response is `null`. + * + * As an example of the deletion process, + * let's imagine that you added a workflow that configured a particular code scanning tool + * to analyze the code in a repository. This tool has added 15 analyses: + * 10 on the default branch, and another 5 on a topic branch. + * You therefore have two separate sets of analyses for this tool. + * You've now decided that you want to remove all of the analyses for the tool. + * To do this you must make 15 separate deletion requests. + * To start, you must find the deletable analysis for one of the sets, + * step through deleting the analyses in that set, + * and then repeat the process for the second set. + * The procedure therefore consists of a nested loop: + * + * **Outer loop**: + * * List the analyses for the repository, filtered by tool. + * * Parse this list to find a deletable analysis. If found: + * + * **Inner loop**: + * * Delete the identified analysis. + * * Parse the response for the value of `confirm_delete_url` and, if found, use this in the next iteration. + * + * The above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `confirm_delete_url` value. Alternatively, you could use the `next_analysis_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely. + */ + deleteAnalysis: { + (params?: RestEndpointMethodTypes["codeScanning"]["deleteAnalysis"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; /** * Gets a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint. * - * The security `alert_number` is found at the end of the security alert's URL. For example, the security alert ID for `https://github.com/Octo-org/octo-repo/security/code-scanning/88` is `88`. + * **Deprecation notice**: + * The instances field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The same information can now be retrieved via a GET request to the URL specified by `instances_url`. */ getAlert: { (params?: RestEndpointMethodTypes["codeScanning"]["getAlert"]["parameters"]): Promise; @@ -1841,7 +2069,56 @@ export declare type RestEndpointMethods = { }>; }; /** - * Lists all open code scanning alerts for the default branch (usually `main` or `master`). You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint. + * Gets a specified code scanning analysis for a repository. + * You must use an access token with the `security_events` scope to use this endpoint. + * GitHub Apps must have the `security_events` read permission to use this endpoint. + * + * The default JSON response contains fields that describe the analysis. + * This includes the Git reference and commit SHA to which the analysis relates, + * the datetime of the analysis, the name of the code scanning tool, + * and the number of alerts. + * + * The `rules_count` field in the default response give the number of rules + * that were run in the analysis. + * For very old analyses this data is not available, + * and `0` is returned in this field. + * + * If you use the Accept header `application/sarif+json`, + * the response contains the analysis data that was uploaded. + * This is formatted as + * [SARIF version 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html). + * For an example response, see "[Custom media type for code scanning](#custom-media-type-for-code-scanning)." + * + * **Deprecation notice**: + * The `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field. + */ + getAnalysis: { + (params?: RestEndpointMethodTypes["codeScanning"]["getAnalysis"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets information about a SARIF upload, including the status and the URL of the analysis that was uploaded so that you can retrieve details of the analysis. For more information, see "[Get a code scanning analysis for a repository](/rest/reference/code-scanning#get-a-code-scanning-analysis-for-a-repository)." You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint. + */ + getSarif: { + (params?: RestEndpointMethodTypes["codeScanning"]["getSarif"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all open code scanning alerts for the default branch (usually `main` + * or `master`). You must use an access token with the `security_events` scope to use + * this endpoint. GitHub Apps must have the `security_events` read permission to use + * this endpoint. + * + * The response includes a `most_recent_instance` object. + * This provides details of the most recent instance of this alert + * for the default branch or for the specified Git reference + * (if you used `ref` in the request). */ listAlertsForRepo: { (params?: RestEndpointMethodTypes["codeScanning"]["listAlertsForRepo"]["parameters"]): Promise; @@ -1851,7 +2128,32 @@ export declare type RestEndpointMethods = { }>; }; /** - * List the details of recent code scanning analyses for a repository. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint. + * Lists all instances of the specified code scanning alert. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint. + */ + listAlertsInstances: { + (params?: RestEndpointMethodTypes["codeScanning"]["listAlertsInstances"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the details of all code scanning analyses for a repository, + * starting with the most recent. + * The response is paginated and you can use the `page` and `per_page` parameters + * to list the analyses you're interested in. + * By default 30 analyses are listed per page. + * + * The `rules_count` field in the response give the number of rules + * that were run in the analysis. + * For very old analyses this data is not available, + * and `0` is returned in this field. + * + * You must use an access token with the `security_events` scope to use this endpoint. + * GitHub Apps must have the `security_events` read permission to use this endpoint. + * + * **Deprecation notice**: + * The `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field. */ listRecentAnalyses: { (params?: RestEndpointMethodTypes["codeScanning"]["listRecentAnalyses"]["parameters"]): Promise; @@ -1871,7 +2173,23 @@ export declare type RestEndpointMethods = { }>; }; /** - * Upload a SARIF file containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` write permission to use this endpoint. + * Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` write permission to use this endpoint. + * + * There are two places where you can upload code scanning results. + * - If you upload to a pull request, for example `--ref refs/pull/42/merge` or `--ref refs/pull/42/head`, then the results appear as alerts in a pull request check. For more information, see "[Triaging code scanning alerts in pull requests](/github/finding-security-vulnerabilities-and-errors-in-your-code/triaging-code-scanning-alerts-in-pull-requests)." + * - If you upload to a branch, for example `--ref refs/heads/my-branch`, then the results appear in the **Security** tab for your repository. For more information, see "[Managing code scanning alerts for your repository](/github/finding-security-vulnerabilities-and-errors-in-your-code/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)." + * + * You must compress the SARIF-formatted analysis data that you want to upload, using `gzip`, and then encode it as a Base64 format string. For example: + * + * ``` + * gzip -c analysis-data.sarif | base64 + * ``` + * + * SARIF upload supports a maximum of 1000 results per analysis run. Any results over this limit are ignored. Typically, but not necessarily, a SARIF file contains a single run of a single tool. If a code scanning tool generates too many results, you should update the analysis configuration to run only the most important rules or queries. + * + * The `202 Accepted`, response includes an `id` value. + * You can use this ID to check the status of the upload by using this for the `/sarifs/{sarif_id}` endpoint. + * For more information, see "[Get information about a SARIF upload](/rest/reference/code-scanning#get-information-about-a-sarif-upload)." */ uploadSarif: { (params?: RestEndpointMethodTypes["codeScanning"]["uploadSarif"]["parameters"]): Promise; @@ -2465,7 +2783,7 @@ export declare type RestEndpointMethods = { }; interactions: { /** - * Shows which type of GitHub user can interact with your public repositories and when the restriction expires. If there are no restrictions, you will see an empty response. + * Shows which type of GitHub user can interact with your public repositories and when the restriction expires. */ getRestrictionsForAuthenticatedUser: { (params?: RestEndpointMethodTypes["interactions"]["getRestrictionsForAuthenticatedUser"]["parameters"]): Promise; @@ -2495,8 +2813,8 @@ export declare type RestEndpointMethods = { }>; }; /** - * Shows which type of GitHub user can interact with your public repositories and when the restriction expires. If there are no restrictions, you will see an empty response. - * @deprecated octokit.interactions.getRestrictionsForYourPublicRepos() has been renamed to octokit.interactions.getRestrictionsForAuthenticatedUser() (2021-02-02) + * Shows which type of GitHub user can interact with your public repositories and when the restriction expires. + * @deprecated octokit.rest.interactions.getRestrictionsForYourPublicRepos() has been renamed to octokit.rest.interactions.getRestrictionsForAuthenticatedUser() (2021-02-02) */ getRestrictionsForYourPublicRepos: { (params?: RestEndpointMethodTypes["interactions"]["getRestrictionsForYourPublicRepos"]["parameters"]): Promise; @@ -2537,7 +2855,7 @@ export declare type RestEndpointMethods = { }; /** * Removes any interaction restrictions from your public repositories. - * @deprecated octokit.interactions.removeRestrictionsForYourPublicRepos() has been renamed to octokit.interactions.removeRestrictionsForAuthenticatedUser() (2021-02-02) + * @deprecated octokit.rest.interactions.removeRestrictionsForYourPublicRepos() has been renamed to octokit.rest.interactions.removeRestrictionsForAuthenticatedUser() (2021-02-02) */ removeRestrictionsForYourPublicRepos: { (params?: RestEndpointMethodTypes["interactions"]["removeRestrictionsForYourPublicRepos"]["parameters"]): Promise; @@ -2578,7 +2896,7 @@ export declare type RestEndpointMethods = { }; /** * Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user. - * @deprecated octokit.interactions.setRestrictionsForYourPublicRepos() has been renamed to octokit.interactions.setRestrictionsForAuthenticatedUser() (2021-02-02) + * @deprecated octokit.rest.interactions.setRestrictionsForYourPublicRepos() has been renamed to octokit.rest.interactions.setRestrictionsForAuthenticatedUser() (2021-02-02) */ setRestrictionsForYourPublicRepos: { (params?: RestEndpointMethodTypes["interactions"]["setRestrictionsForYourPublicRepos"]["parameters"]): Promise; @@ -3444,7 +3762,7 @@ export declare type RestEndpointMethods = { }>; }; /** - * In order to get a user's membership with an organization, the authenticated user must be an organization member. + * In order to get a user's membership with an organization, the authenticated user must be an organization member. The `state` parameter in the response can be used to identify the user's membership status. */ getMembershipForUser: { (params?: RestEndpointMethodTypes["orgs"]["getMembershipForUser"]["parameters"]): Promise; @@ -3735,6 +4053,275 @@ export declare type RestEndpointMethods = { }>; }; }; + packages: { + /** + * Deletes a package owned by the authenticated user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:delete` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + deletePackageForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["deletePackageForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes an entire package in an organization. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` scope. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + */ + deletePackageForOrg: { + (params?: RestEndpointMethodTypes["packages"]["deletePackageForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a specific package version for a package owned by the authenticated user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + deletePackageVersionForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["deletePackageVersionForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a specific package version in an organization. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` scope. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + */ + deletePackageVersionForOrg: { + (params?: RestEndpointMethodTypes["packages"]["deletePackageVersionForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns all package versions for a package owned by an organization. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + * @deprecated octokit.rest.packages.getAllPackageVersionsForAPackageOwnedByAnOrg() has been renamed to octokit.rest.packages.getAllPackageVersionsForPackageOwnedByOrg() (2021-03-24) + */ + getAllPackageVersionsForAPackageOwnedByAnOrg: { + (params?: RestEndpointMethodTypes["packages"]["getAllPackageVersionsForAPackageOwnedByAnOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns all package versions for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + * @deprecated octokit.rest.packages.getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser() has been renamed to octokit.rest.packages.getAllPackageVersionsForPackageOwnedByAuthenticatedUser() (2021-03-24) + */ + getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns all package versions for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + getAllPackageVersionsForPackageOwnedByAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["getAllPackageVersionsForPackageOwnedByAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns all package versions for a package owned by an organization. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + getAllPackageVersionsForPackageOwnedByOrg: { + (params?: RestEndpointMethodTypes["packages"]["getAllPackageVersionsForPackageOwnedByOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns all package versions for a public package owned by a specified user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + getAllPackageVersionsForPackageOwnedByUser: { + (params?: RestEndpointMethodTypes["packages"]["getAllPackageVersionsForPackageOwnedByUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific package for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + getPackageForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["getPackageForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific package in an organization. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + getPackageForOrganization: { + (params?: RestEndpointMethodTypes["packages"]["getPackageForOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific package metadata for a public package owned by a user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + getPackageForUser: { + (params?: RestEndpointMethodTypes["packages"]["getPackageForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific package version for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + getPackageVersionForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["getPackageVersionForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific package version in an organization. + * + * You must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + getPackageVersionForOrganization: { + (params?: RestEndpointMethodTypes["packages"]["getPackageVersionForOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific package version for a public package owned by a specified user. + * + * At this time, to use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + getPackageVersionForUser: { + (params?: RestEndpointMethodTypes["packages"]["getPackageVersionForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Restores a package owned by the authenticated user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scope. If `package_type` is not `container`, your token must also include the `repo` scope. + */ + restorePackageForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["restorePackageForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Restores an entire package in an organization. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:write` scope. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + */ + restorePackageForOrg: { + (params?: RestEndpointMethodTypes["packages"]["restorePackageForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Restores a package version owned by the authenticated user. + * + * You can restore a deleted package version under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scope. If `package_type` is not `container`, your token must also include the `repo` scope. + */ + restorePackageVersionForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["restorePackageVersionForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Restores a specific package version in an organization. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:write` scope. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + */ + restorePackageVersionForOrg: { + (params?: RestEndpointMethodTypes["packages"]["restorePackageVersionForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; projects: { /** * Adds a collaborator to an organization project and sets their permission level. You must be an organization owner or a project `admin` to add a collaborator. @@ -4395,7 +4982,7 @@ export declare type RestEndpointMethods = { * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Reactions API. We recommend migrating your existing code to use the new delete reactions endpoints. For more information, see this [blog post](https://developer.github.com/changes/2020-02-26-new-delete-reactions-endpoints/). * * OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), when deleting a [team discussion](https://docs.github.com/rest/reference/teams#discussions) or [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). - * @deprecated octokit.reactions.deleteLegacy() is deprecated, see https://docs.github.com/v3/reactions/#delete-a-reaction-legacy + * @deprecated octokit.rest.reactions.deleteLegacy() is deprecated, see https://docs.github.com/rest/reference/reactions/#delete-a-reaction-legacy */ deleteLegacy: { (params?: RestEndpointMethodTypes["reactions"]["deleteLegacy"]["parameters"]): Promise; @@ -4586,10 +5173,9 @@ export declare type RestEndpointMethods = { * * **Working with large comparisons** * - * The response will include a comparison of up to 250 commits. If you are working with a larger commit range, you can use the [List commits](https://docs.github.com/rest/reference/repos#list-commits) to enumerate all commits in the range. + * To process a response with a large number of commits, you can use (`per_page` or `page`) to paginate the results. When using paging, the list of changed files is only returned with page 1, but includes all changed files for the entire comparison. For more information on working with pagination, see "[Traversing with pagination](/rest/guides/traversing-with-pagination)." * - * For comparisons with extremely large diffs, you may receive an error response indicating that the diff took too long - * to generate. You can typically resolve this error by using a smaller commit range. + * When calling this API without any paging parameters (`per_page` or `page`), the returned list is limited to 250 commits and the last commit in the list is the most recent of the entire comparison. When a paging parameter is specified, the first commit in the returned list of each page is the earliest. * * **Signature verification object** * @@ -4765,8 +5351,8 @@ export declare type RestEndpointMethods = { * * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: * - * * `public_repo` scope or `repo` scope to create a public repository - * * `repo` scope to create a private repository + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. + * * `repo` scope to create a private repository. */ createForAuthenticatedUser: { (params?: RestEndpointMethodTypes["repos"]["createForAuthenticatedUser"]["parameters"]): Promise; @@ -4794,7 +5380,7 @@ export declare type RestEndpointMethods = { * * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: * - * * `public_repo` scope or `repo` scope to create a public repository + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. * * `repo` scope to create a private repository */ createInOrg: { @@ -4804,6 +5390,22 @@ export declare type RestEndpointMethods = { url: string; }>; }; + /** + * Create or update an environment with protection rules, such as required reviewers. For more information about environment protection rules, see "[Environments](/actions/reference/environments#environment-protection-rules)." + * + * **Note:** Although you can use this operation to specify that only branches that match specified name patterns can deploy to this environment, you must use the UI to set the name patterns. For more information, see "[Environments](/actions/reference/environments#deployment-branches)." + * + * **Note:** To create or update secrets for an environment, see "[Secrets](/rest/reference/actions#secrets)." + * + * You must authenticate using an access token with the repo scope to use this endpoint. + */ + createOrUpdateEnvironment: { + (params?: RestEndpointMethodTypes["repos"]["createOrUpdateEnvironment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; /** * Creates a new file or replaces an existing file in a repository. */ @@ -4843,7 +5445,7 @@ export declare type RestEndpointMethods = { * * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: * - * * `public_repo` scope or `repo` scope to create a public repository + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. * * `repo` scope to create a private repository */ createUsingTemplate: { @@ -4908,6 +5510,16 @@ export declare type RestEndpointMethods = { url: string; }>; }; + /** + * You must authenticate using an access token with the repo scope to use this endpoint. + */ + deleteAnEnvironment: { + (params?: RestEndpointMethodTypes["repos"]["deleteAnEnvironment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; /** * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ @@ -5053,7 +5665,7 @@ export declare type RestEndpointMethods = { * `master`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use * the `Location` header to make a second `GET` request. * **Note**: For private repositories, these links are temporary and expire after five minutes. - * @deprecated octokit.repos.downloadArchive() has been renamed to octokit.repos.downloadZipballArchive() (2020-09-17) + * @deprecated octokit.rest.repos.downloadArchive() has been renamed to octokit.rest.repos.downloadZipballArchive() (2020-09-17) */ downloadArchive: { (params?: RestEndpointMethodTypes["repos"]["downloadArchive"]["parameters"]): Promise; @@ -5144,6 +5756,18 @@ export declare type RestEndpointMethods = { url: string; }>; }; + /** + * Get all environments for a repository. + * + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + getAllEnvironments: { + (params?: RestEndpointMethodTypes["repos"]["getAllEnvironments"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; /** * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ @@ -5415,6 +6039,16 @@ export declare type RestEndpointMethods = { url: string; }>; }; + /** + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + getEnvironment: { + (params?: RestEndpointMethodTypes["repos"]["getEnvironment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; getLatestPagesBuild: { (params?: RestEndpointMethodTypes["repos"]["getLatestPagesBuild"]["parameters"]): Promise; defaults: RequestInterface["defaults"]; @@ -5498,6 +6132,18 @@ export declare type RestEndpointMethods = { url: string; }>; }; + /** + * Gets the README from a repository directory. + * + * READMEs support [custom media types](https://docs.github.com/rest/reference/repos#custom-media-types) for retrieving the raw content or rendered HTML. + */ + getReadmeInDirectory: { + (params?: RestEndpointMethodTypes["repos"]["getReadmeInDirectory"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; /** * **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). */ @@ -5778,7 +6424,7 @@ export declare type RestEndpointMethods = { }>; }; /** - * Lists public repositories for the specified user. + * Lists public repositories for the specified user. Note: For GitHub AE, this endpoint will list internal repositories for the specified user. */ listForUser: { (params?: RestEndpointMethodTypes["repos"]["listForUser"]["parameters"]): Promise; @@ -5834,7 +6480,9 @@ export declare type RestEndpointMethods = { /** * Lists all public repositories in the order that they were created. * - * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of repositories. + * Notes: + * - For GitHub Enterprise Server and GitHub AE, this endpoint will only list repositories available to all users on the enterprise. + * - Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of repositories. */ listPublic: { (params?: RestEndpointMethodTypes["repos"]["listPublic"]["parameters"]): Promise; @@ -5844,7 +6492,7 @@ export declare type RestEndpointMethods = { }>; }; /** - * Lists all pull requests containing the provided commit SHA, which can be from any point in the commit history. The results will include open and closed pull requests. Additional preview headers may be required to see certain details for associated pull requests, such as whether a pull request is in a draft state. For more information about previews that might affect this endpoint, see the [List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests) endpoint. + * Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, additionally returns open pull requests associated with the commit. The results may include open and closed pull requests. Additional preview headers may be required to see certain details for associated pull requests, such as whether a pull request is in a draft state. For more information about previews that might affect this endpoint, see the [List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests) endpoint. */ listPullRequestsAssociatedWithCommit: { (params?: RestEndpointMethodTypes["repos"]["listPullRequestsAssociatedWithCommit"]["parameters"]): Promise; @@ -6208,7 +6856,7 @@ export declare type RestEndpointMethods = { * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. - * @deprecated octokit.repos.updateStatusCheckPotection() has been renamed to octokit.repos.updateStatusCheckProtection() (2020-09-17) + * @deprecated octokit.rest.repos.updateStatusCheckPotection() has been renamed to octokit.rest.repos.updateStatusCheckProtection() (2020-09-17) */ updateStatusCheckPotection: { (params?: RestEndpointMethodTypes["repos"]["updateStatusCheckPotection"]["parameters"]): Promise; @@ -6656,7 +7304,10 @@ export declare type RestEndpointMethods = { * * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/memberships/{username}`. * - * **Note:** The `role` for organization owners returns as `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/reference/teams#create-a-team). + * **Note:** + * The response contains the `state` of the membership and the member's `role`. + * + * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see see [Create a team](https://docs.github.com/rest/reference/teams#create-a-team). */ getMembershipForUserInOrg: { (params?: RestEndpointMethodTypes["teams"]["getMembershipForUserInOrg"]["parameters"]): Promise; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/parameters-and-response-types.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/parameters-and-response-types.d.ts index 8dbfed5..44a2ec7 100644 --- a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/parameters-and-response-types.d.ts +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/parameters-and-response-types.d.ts @@ -9,6 +9,10 @@ export declare type RestEndpointMethodTypes = { parameters: RequestParameters & Omit; response: Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"]["response"]; }; + createOrUpdateEnvironmentSecret: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"]["response"]; + }; createOrUpdateOrgSecret: { parameters: RequestParameters & Omit; response: Endpoints["PUT /orgs/{org}/actions/secrets/{secret_name}"]["response"]; @@ -41,6 +45,10 @@ export declare type RestEndpointMethodTypes = { parameters: RequestParameters & Omit; response: Endpoints["DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"]["response"]; }; + deleteEnvironmentSecret: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"]["response"]; + }; deleteOrgSecret: { parameters: RequestParameters & Omit; response: Endpoints["DELETE /orgs/{org}/actions/secrets/{secret_name}"]["response"]; @@ -105,6 +113,14 @@ export declare type RestEndpointMethodTypes = { parameters: RequestParameters & Omit; response: Endpoints["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"]["response"]; }; + getEnvironmentPublicKey: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key"]["response"]; + }; + getEnvironmentSecret: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"]["response"]; + }; getGithubActionsPermissionsOrganization: { parameters: RequestParameters & Omit; response: Endpoints["GET /orgs/{org}/actions/permissions"]["response"]; @@ -125,6 +141,10 @@ export declare type RestEndpointMethodTypes = { parameters: RequestParameters & Omit; response: Endpoints["GET /orgs/{org}/actions/secrets/{secret_name}"]["response"]; }; + getPendingDeploymentsForRun: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"]["response"]; + }; getRepoPermissions: { parameters: RequestParameters & Omit; response: Endpoints["GET /repos/{owner}/{repo}/actions/permissions"]["response"]; @@ -137,6 +157,10 @@ export declare type RestEndpointMethodTypes = { parameters: RequestParameters & Omit; response: Endpoints["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"]["response"]; }; + getReviewsForRun: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"]["response"]; + }; getSelfHostedRunnerForOrg: { parameters: RequestParameters & Omit; response: Endpoints["GET /orgs/{org}/actions/runners/{runner_id}"]["response"]; @@ -165,6 +189,10 @@ export declare type RestEndpointMethodTypes = { parameters: RequestParameters & Omit; response: Endpoints["GET /repos/{owner}/{repo}/actions/artifacts"]["response"]; }; + listEnvironmentSecrets: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/secrets"]["response"]; + }; listJobsForWorkflowRun: { parameters: RequestParameters & Omit; response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"]["response"]; @@ -225,6 +253,10 @@ export declare type RestEndpointMethodTypes = { parameters: RequestParameters & Omit; response: Endpoints["DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"]["response"]; }; + reviewPendingDeploymentsForRun: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"]["response"]; + }; setAllowedActionsOrganization: { parameters: RequestParameters & Omit; response: Endpoints["PUT /orgs/{org}/actions/permissions/selected-actions"]["response"]; @@ -587,14 +619,30 @@ export declare type RestEndpointMethodTypes = { }; }; codeScanning: { + deleteAnalysis: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}"]["response"]; + }; getAlert: { parameters: RequestParameters & Omit; response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"]["response"]; }; + getAnalysis: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"]["response"]; + }; + getSarif: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"]["response"]; + }; listAlertsForRepo: { parameters: RequestParameters & Omit; response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts"]["response"]; }; + listAlertsInstances: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"]["response"]; + }; listRecentAnalyses: { parameters: RequestParameters & Omit; response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/analyses"]["response"]; @@ -1306,6 +1354,84 @@ export declare type RestEndpointMethodTypes = { response: Endpoints["PATCH /orgs/{org}/hooks/{hook_id}/config"]["response"]; }; }; + packages: { + deletePackageForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /user/packages/{package_type}/{package_name}"]["response"]; + }; + deletePackageForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/packages/{package_type}/{package_name}"]["response"]; + }; + deletePackageVersionForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}"]["response"]; + }; + deletePackageVersionForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"]["response"]; + }; + getAllPackageVersionsForAPackageOwnedByAnOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"]["response"]; + }; + getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/packages/{package_type}/{package_name}/versions"]["response"]; + }; + getAllPackageVersionsForPackageOwnedByAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/packages/{package_type}/{package_name}/versions"]["response"]; + }; + getAllPackageVersionsForPackageOwnedByOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"]["response"]; + }; + getAllPackageVersionsForPackageOwnedByUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/packages/{package_type}/{package_name}/versions"]["response"]; + }; + getPackageForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/packages/{package_type}/{package_name}"]["response"]; + }; + getPackageForOrganization: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}"]["response"]; + }; + getPackageForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/packages/{package_type}/{package_name}"]["response"]; + }; + getPackageVersionForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}"]["response"]; + }; + getPackageVersionForOrganization: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"]["response"]; + }; + getPackageVersionForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"]["response"]; + }; + restorePackageForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /user/packages/{package_type}/{package_name}/restore{?token}"]["response"]; + }; + restorePackageForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}"]["response"]; + }; + restorePackageVersionForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"]["response"]; + }; + restorePackageVersionForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"]["response"]; + }; + }; projects: { addCollaborator: { parameters: RequestParameters & Omit; @@ -1679,6 +1805,10 @@ export declare type RestEndpointMethodTypes = { parameters: RequestParameters & Omit; response: Endpoints["POST /orgs/{org}/repos"]["response"]; }; + createOrUpdateEnvironment: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/environments/{environment_name}"]["response"]; + }; createOrUpdateFileContents: { parameters: RequestParameters & Omit; response: Endpoints["PUT /repos/{owner}/{repo}/contents/{path}"]["response"]; @@ -1715,6 +1845,10 @@ export declare type RestEndpointMethodTypes = { parameters: RequestParameters & Omit; response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"]["response"]; }; + deleteAnEnvironment: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/environments/{environment_name}"]["response"]; + }; deleteBranchProtection: { parameters: RequestParameters & Omit; response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection"]["response"]; @@ -1803,6 +1937,10 @@ export declare type RestEndpointMethodTypes = { parameters: RequestParameters & Omit; response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"]["response"]; }; + getAllEnvironments: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/environments"]["response"]; + }; getAllStatusCheckContexts: { parameters: RequestParameters & Omit; response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"]["response"]; @@ -1879,6 +2017,10 @@ export declare type RestEndpointMethodTypes = { parameters: RequestParameters & Omit; response: Endpoints["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"]["response"]; }; + getEnvironment: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}"]["response"]; + }; getLatestPagesBuild: { parameters: RequestParameters & Omit; response: Endpoints["GET /repos/{owner}/{repo}/pages/builds/latest"]["response"]; @@ -1911,6 +2053,10 @@ export declare type RestEndpointMethodTypes = { parameters: RequestParameters & Omit; response: Endpoints["GET /repos/{owner}/{repo}/readme"]["response"]; }; + getReadmeInDirectory: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/readme/{dir}"]["response"]; + }; getRelease: { parameters: RequestParameters & Omit; response: Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}"]["response"]; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/index.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/index.d.ts index 455e998..beef376 100644 --- a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/index.d.ts +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/index.d.ts @@ -1,16 +1,6 @@ import { Octokit } from "@octokit/core"; export { RestEndpointMethodTypes } from "./generated/parameters-and-response-types"; import { Api } from "./types"; -/** - * This plugin is a 1:1 copy of internal @octokit/rest plugins. The primary - * goal is to rebuild @octokit/rest on top of @octokit/core. Once that is - * done, we will remove the registerEndpoints methods and return the methods - * directly as with the other plugins. At that point we will also remove the - * legacy workarounds and deprecations. - * - * See the plan at - * https://github.com/octokit/plugin-rest-endpoint-methods.js/pull/1 - */ export declare function restEndpointMethods(octokit: Octokit): Api; export declare namespace restEndpointMethods { var VERSION: string; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/types.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/types.d.ts index e9b177b..5a0caa5 100644 --- a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/types.d.ts +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/types.d.ts @@ -1,6 +1,8 @@ import { Route, RequestParameters } from "@octokit/types"; import { RestEndpointMethods } from "./generated/method-types"; -export declare type Api = RestEndpointMethods; +export declare type Api = RestEndpointMethods & { + rest: RestEndpointMethods; +}; export declare type EndpointDecorations = { mapToData?: string; deprecated?: string; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/version.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/version.d.ts index e119ef8..3608bee 100644 --- a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/version.d.ts +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/version.d.ts @@ -1 +1 @@ -export declare const VERSION = "4.10.1"; +export declare const VERSION = "4.15.1"; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js index 00d30a3..d802be8 100644 --- a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js @@ -6,6 +6,9 @@ const Endpoints = { cancelWorkflowRun: [ "POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel", ], + createOrUpdateEnvironmentSecret: [ + "PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", + ], createOrUpdateOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}"], createOrUpdateRepoSecret: [ "PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}", @@ -26,6 +29,9 @@ const Endpoints = { deleteArtifact: [ "DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}", ], + deleteEnvironmentSecret: [ + "DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", + ], deleteOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}"], deleteRepoSecret: [ "DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}", @@ -68,6 +74,12 @@ const Endpoints = { "GET /repos/{owner}/{repo}/actions/permissions/selected-actions", ], getArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"], + getEnvironmentPublicKey: [ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key", + ], + getEnvironmentSecret: [ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", + ], getGithubActionsPermissionsOrganization: [ "GET /orgs/{org}/actions/permissions", ], @@ -77,6 +89,9 @@ const Endpoints = { getJobForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"], getOrgPublicKey: ["GET /orgs/{org}/actions/secrets/public-key"], getOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}"], + getPendingDeploymentsForRun: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments", + ], getRepoPermissions: [ "GET /repos/{owner}/{repo}/actions/permissions", {}, @@ -84,6 +99,9 @@ const Endpoints = { ], getRepoPublicKey: ["GET /repos/{owner}/{repo}/actions/secrets/public-key"], getRepoSecret: ["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"], + getReviewsForRun: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals", + ], getSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}"], getSelfHostedRunnerForRepo: [ "GET /repos/{owner}/{repo}/actions/runners/{runner_id}", @@ -97,6 +115,9 @@ const Endpoints = { "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing", ], listArtifactsForRepo: ["GET /repos/{owner}/{repo}/actions/artifacts"], + listEnvironmentSecrets: [ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets", + ], listJobsForWorkflowRun: [ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs", ], @@ -126,6 +147,9 @@ const Endpoints = { removeSelectedRepoFromOrgSecret: [ "DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}", ], + reviewPendingDeploymentsForRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments", + ], setAllowedActionsOrganization: [ "PUT /orgs/{org}/actions/permissions/selected-actions", ], @@ -285,12 +309,22 @@ const Endpoints = { update: ["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"], }, codeScanning: { + deleteAnalysis: [ + "DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}", + ], getAlert: [ "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", {}, { renamedParameters: { alert_id: "alert_number" } }, ], + getAnalysis: [ + "GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}", + ], + getSarif: ["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"], listAlertsForRepo: ["GET /repos/{owner}/{repo}/code-scanning/alerts"], + listAlertsInstances: [ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", + ], listRecentAnalyses: ["GET /repos/{owner}/{repo}/code-scanning/analyses"], updateAlert: [ "PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", @@ -600,6 +634,74 @@ const Endpoints = { updateWebhook: ["PATCH /orgs/{org}/hooks/{hook_id}"], updateWebhookConfigForOrg: ["PATCH /orgs/{org}/hooks/{hook_id}/config"], }, + packages: { + deletePackageForAuthenticatedUser: [ + "DELETE /user/packages/{package_type}/{package_name}", + ], + deletePackageForOrg: [ + "DELETE /orgs/{org}/packages/{package_type}/{package_name}", + ], + deletePackageVersionForAuthenticatedUser: [ + "DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}", + ], + deletePackageVersionForOrg: [ + "DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}", + ], + getAllPackageVersionsForAPackageOwnedByAnOrg: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", + {}, + { renamed: ["packages", "getAllPackageVersionsForPackageOwnedByOrg"] }, + ], + getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}/versions", + {}, + { + renamed: [ + "packages", + "getAllPackageVersionsForPackageOwnedByAuthenticatedUser", + ], + }, + ], + getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}/versions", + ], + getAllPackageVersionsForPackageOwnedByOrg: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", + ], + getAllPackageVersionsForPackageOwnedByUser: [ + "GET /users/{username}/packages/{package_type}/{package_name}/versions", + ], + getPackageForAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}", + ], + getPackageForOrganization: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}", + ], + getPackageForUser: [ + "GET /users/{username}/packages/{package_type}/{package_name}", + ], + getPackageVersionForAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}", + ], + getPackageVersionForOrganization: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}", + ], + getPackageVersionForUser: [ + "GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}", + ], + restorePackageForAuthenticatedUser: [ + "POST /user/packages/{package_type}/{package_name}/restore{?token}", + ], + restorePackageForOrg: [ + "POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}", + ], + restorePackageVersionForAuthenticatedUser: [ + "POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore", + ], + restorePackageVersionForOrg: [ + "POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore", + ], + }, projects: { addCollaborator: [ "PUT /projects/{project_id}/collaborators/{username}", @@ -816,7 +918,7 @@ const Endpoints = { "DELETE /reactions/{reaction_id}", { mediaType: { previews: ["squirrel-girl"] } }, { - deprecated: "octokit.reactions.deleteLegacy() is deprecated, see https://docs.github.com/v3/reactions/#delete-a-reaction-legacy", + deprecated: "octokit.rest.reactions.deleteLegacy() is deprecated, see https://docs.github.com/rest/reference/reactions/#delete-a-reaction-legacy", }, ], listForCommitComment: [ @@ -890,6 +992,9 @@ const Endpoints = { createForAuthenticatedUser: ["POST /user/repos"], createFork: ["POST /repos/{owner}/{repo}/forks"], createInOrg: ["POST /orgs/{org}/repos"], + createOrUpdateEnvironment: [ + "PUT /repos/{owner}/{repo}/environments/{environment_name}", + ], createOrUpdateFileContents: ["PUT /repos/{owner}/{repo}/contents/{path}"], createPagesSite: [ "POST /repos/{owner}/{repo}/pages", @@ -909,6 +1014,9 @@ const Endpoints = { deleteAdminBranchProtection: [ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", ], + deleteAnEnvironment: [ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}", + ], deleteBranchProtection: [ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection", ], @@ -967,6 +1075,7 @@ const Endpoints = { getAdminBranchProtection: [ "GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", ], + getAllEnvironments: ["GET /repos/{owner}/{repo}/environments"], getAllStatusCheckContexts: [ "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", ], @@ -1002,6 +1111,9 @@ const Endpoints = { getDeploymentStatus: [ "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}", ], + getEnvironment: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}", + ], getLatestPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/latest"], getLatestRelease: ["GET /repos/{owner}/{repo}/releases/latest"], getPages: ["GET /repos/{owner}/{repo}/pages"], @@ -1012,6 +1124,7 @@ const Endpoints = { ], getPunchCardStats: ["GET /repos/{owner}/{repo}/stats/punch_card"], getReadme: ["GET /repos/{owner}/{repo}/readme"], + getReadmeInDirectory: ["GET /repos/{owner}/{repo}/readme/{dir}"], getRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}"], getReleaseAsset: ["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"], getReleaseByTag: ["GET /repos/{owner}/{repo}/releases/tags/{tag}"], @@ -1290,7 +1403,7 @@ const Endpoints = { }, }; -const VERSION = "4.10.1"; +const VERSION = "4.15.1"; function endpointsToMethods(octokit, endpointsMap) { const newMethods = {}; @@ -1353,18 +1466,12 @@ function decorate(octokit, scope, methodName, defaults, decorations) { return Object.assign(withDecorations, requestWithDefaults); } -/** - * This plugin is a 1:1 copy of internal @octokit/rest plugins. The primary - * goal is to rebuild @octokit/rest on top of @octokit/core. Once that is - * done, we will remove the registerEndpoints methods and return the methods - * directly as with the other plugins. At that point we will also remove the - * legacy workarounds and deprecations. - * - * See the plan at - * https://github.com/octokit/plugin-rest-endpoint-methods.js/pull/1 - */ function restEndpointMethods(octokit) { - return endpointsToMethods(octokit, Endpoints); + const api = endpointsToMethods(octokit, Endpoints); + return { + ...api, + rest: api, + }; } restEndpointMethods.VERSION = VERSION; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js.map b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js.map index 76d97bf..fea8b2a 100644 --- a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js.map +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sources":["../dist-src/generated/endpoints.js","../dist-src/version.js","../dist-src/endpoints-to-methods.js","../dist-src/index.js"],"sourcesContent":["const Endpoints = {\n actions: {\n addSelectedRepoToOrgSecret: [\n \"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\",\n ],\n cancelWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel\",\n ],\n createOrUpdateOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}\"],\n createOrUpdateRepoSecret: [\n \"PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}\",\n ],\n createRegistrationTokenForOrg: [\n \"POST /orgs/{org}/actions/runners/registration-token\",\n ],\n createRegistrationTokenForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/registration-token\",\n ],\n createRemoveTokenForOrg: [\"POST /orgs/{org}/actions/runners/remove-token\"],\n createRemoveTokenForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/remove-token\",\n ],\n createWorkflowDispatch: [\n \"POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches\",\n ],\n deleteArtifact: [\n \"DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\",\n ],\n deleteOrgSecret: [\"DELETE /orgs/{org}/actions/secrets/{secret_name}\"],\n deleteRepoSecret: [\n \"DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}\",\n ],\n deleteSelfHostedRunnerFromOrg: [\n \"DELETE /orgs/{org}/actions/runners/{runner_id}\",\n ],\n deleteSelfHostedRunnerFromRepo: [\n \"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}\",\n ],\n deleteWorkflowRun: [\"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n deleteWorkflowRunLogs: [\n \"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs\",\n ],\n disableSelectedRepositoryGithubActionsOrganization: [\n \"DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}\",\n ],\n disableWorkflow: [\n \"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable\",\n ],\n downloadArtifact: [\n \"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}\",\n ],\n downloadJobLogsForWorkflowRun: [\n \"GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs\",\n ],\n downloadWorkflowRunLogs: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs\",\n ],\n enableSelectedRepositoryGithubActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/repositories/{repository_id}\",\n ],\n enableWorkflow: [\n \"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable\",\n ],\n getAllowedActionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/selected-actions\",\n ],\n getAllowedActionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions/selected-actions\",\n ],\n getArtifact: [\"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"],\n getGithubActionsPermissionsOrganization: [\n \"GET /orgs/{org}/actions/permissions\",\n ],\n getGithubActionsPermissionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions\",\n ],\n getJobForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/actions/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/actions/secrets/{secret_name}\"],\n getRepoPermissions: [\n \"GET /repos/{owner}/{repo}/actions/permissions\",\n {},\n { renamed: [\"actions\", \"getGithubActionsPermissionsRepository\"] },\n ],\n getRepoPublicKey: [\"GET /repos/{owner}/{repo}/actions/secrets/public-key\"],\n getRepoSecret: [\"GET /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n getSelfHostedRunnerForOrg: [\"GET /orgs/{org}/actions/runners/{runner_id}\"],\n getSelfHostedRunnerForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/{runner_id}\",\n ],\n getWorkflow: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}\"],\n getWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n getWorkflowRunUsage: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing\",\n ],\n getWorkflowUsage: [\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing\",\n ],\n listArtifactsForRepo: [\"GET /repos/{owner}/{repo}/actions/artifacts\"],\n listJobsForWorkflowRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\",\n ],\n listOrgSecrets: [\"GET /orgs/{org}/actions/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/actions/secrets\"],\n listRepoWorkflows: [\"GET /repos/{owner}/{repo}/actions/workflows\"],\n listRunnerApplicationsForOrg: [\"GET /orgs/{org}/actions/runners/downloads\"],\n listRunnerApplicationsForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/downloads\",\n ],\n listSelectedReposForOrgSecret: [\n \"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\",\n ],\n listSelectedRepositoriesEnabledGithubActionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/repositories\",\n ],\n listSelfHostedRunnersForOrg: [\"GET /orgs/{org}/actions/runners\"],\n listSelfHostedRunnersForRepo: [\"GET /repos/{owner}/{repo}/actions/runners\"],\n listWorkflowRunArtifacts: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\",\n ],\n listWorkflowRuns: [\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\",\n ],\n listWorkflowRunsForRepo: [\"GET /repos/{owner}/{repo}/actions/runs\"],\n reRunWorkflow: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun\"],\n removeSelectedRepoFromOrgSecret: [\n \"DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\",\n ],\n setAllowedActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/selected-actions\",\n ],\n setAllowedActionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions/selected-actions\",\n ],\n setGithubActionsPermissionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions\",\n ],\n setGithubActionsPermissionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions\",\n ],\n setSelectedReposForOrgSecret: [\n \"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories\",\n ],\n setSelectedRepositoriesEnabledGithubActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/repositories\",\n ],\n },\n activity: {\n checkRepoIsStarredByAuthenticatedUser: [\"GET /user/starred/{owner}/{repo}\"],\n deleteRepoSubscription: [\"DELETE /repos/{owner}/{repo}/subscription\"],\n deleteThreadSubscription: [\n \"DELETE /notifications/threads/{thread_id}/subscription\",\n ],\n getFeeds: [\"GET /feeds\"],\n getRepoSubscription: [\"GET /repos/{owner}/{repo}/subscription\"],\n getThread: [\"GET /notifications/threads/{thread_id}\"],\n getThreadSubscriptionForAuthenticatedUser: [\n \"GET /notifications/threads/{thread_id}/subscription\",\n ],\n listEventsForAuthenticatedUser: [\"GET /users/{username}/events\"],\n listNotificationsForAuthenticatedUser: [\"GET /notifications\"],\n listOrgEventsForAuthenticatedUser: [\n \"GET /users/{username}/events/orgs/{org}\",\n ],\n listPublicEvents: [\"GET /events\"],\n listPublicEventsForRepoNetwork: [\"GET /networks/{owner}/{repo}/events\"],\n listPublicEventsForUser: [\"GET /users/{username}/events/public\"],\n listPublicOrgEvents: [\"GET /orgs/{org}/events\"],\n listReceivedEventsForUser: [\"GET /users/{username}/received_events\"],\n listReceivedPublicEventsForUser: [\n \"GET /users/{username}/received_events/public\",\n ],\n listRepoEvents: [\"GET /repos/{owner}/{repo}/events\"],\n listRepoNotificationsForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/notifications\",\n ],\n listReposStarredByAuthenticatedUser: [\"GET /user/starred\"],\n listReposStarredByUser: [\"GET /users/{username}/starred\"],\n listReposWatchedByUser: [\"GET /users/{username}/subscriptions\"],\n listStargazersForRepo: [\"GET /repos/{owner}/{repo}/stargazers\"],\n listWatchedReposForAuthenticatedUser: [\"GET /user/subscriptions\"],\n listWatchersForRepo: [\"GET /repos/{owner}/{repo}/subscribers\"],\n markNotificationsAsRead: [\"PUT /notifications\"],\n markRepoNotificationsAsRead: [\"PUT /repos/{owner}/{repo}/notifications\"],\n markThreadAsRead: [\"PATCH /notifications/threads/{thread_id}\"],\n setRepoSubscription: [\"PUT /repos/{owner}/{repo}/subscription\"],\n setThreadSubscription: [\n \"PUT /notifications/threads/{thread_id}/subscription\",\n ],\n starRepoForAuthenticatedUser: [\"PUT /user/starred/{owner}/{repo}\"],\n unstarRepoForAuthenticatedUser: [\"DELETE /user/starred/{owner}/{repo}\"],\n },\n apps: {\n addRepoToInstallation: [\n \"PUT /user/installations/{installation_id}/repositories/{repository_id}\",\n ],\n checkToken: [\"POST /applications/{client_id}/token\"],\n createContentAttachment: [\n \"POST /content_references/{content_reference_id}/attachments\",\n { mediaType: { previews: [\"corsair\"] } },\n ],\n createFromManifest: [\"POST /app-manifests/{code}/conversions\"],\n createInstallationAccessToken: [\n \"POST /app/installations/{installation_id}/access_tokens\",\n ],\n deleteAuthorization: [\"DELETE /applications/{client_id}/grant\"],\n deleteInstallation: [\"DELETE /app/installations/{installation_id}\"],\n deleteToken: [\"DELETE /applications/{client_id}/token\"],\n getAuthenticated: [\"GET /app\"],\n getBySlug: [\"GET /apps/{app_slug}\"],\n getInstallation: [\"GET /app/installations/{installation_id}\"],\n getOrgInstallation: [\"GET /orgs/{org}/installation\"],\n getRepoInstallation: [\"GET /repos/{owner}/{repo}/installation\"],\n getSubscriptionPlanForAccount: [\n \"GET /marketplace_listing/accounts/{account_id}\",\n ],\n getSubscriptionPlanForAccountStubbed: [\n \"GET /marketplace_listing/stubbed/accounts/{account_id}\",\n ],\n getUserInstallation: [\"GET /users/{username}/installation\"],\n getWebhookConfigForApp: [\"GET /app/hook/config\"],\n listAccountsForPlan: [\"GET /marketplace_listing/plans/{plan_id}/accounts\"],\n listAccountsForPlanStubbed: [\n \"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\",\n ],\n listInstallationReposForAuthenticatedUser: [\n \"GET /user/installations/{installation_id}/repositories\",\n ],\n listInstallations: [\"GET /app/installations\"],\n listInstallationsForAuthenticatedUser: [\"GET /user/installations\"],\n listPlans: [\"GET /marketplace_listing/plans\"],\n listPlansStubbed: [\"GET /marketplace_listing/stubbed/plans\"],\n listReposAccessibleToInstallation: [\"GET /installation/repositories\"],\n listSubscriptionsForAuthenticatedUser: [\"GET /user/marketplace_purchases\"],\n listSubscriptionsForAuthenticatedUserStubbed: [\n \"GET /user/marketplace_purchases/stubbed\",\n ],\n removeRepoFromInstallation: [\n \"DELETE /user/installations/{installation_id}/repositories/{repository_id}\",\n ],\n resetToken: [\"PATCH /applications/{client_id}/token\"],\n revokeInstallationAccessToken: [\"DELETE /installation/token\"],\n scopeToken: [\"POST /applications/{client_id}/token/scoped\"],\n suspendInstallation: [\"PUT /app/installations/{installation_id}/suspended\"],\n unsuspendInstallation: [\n \"DELETE /app/installations/{installation_id}/suspended\",\n ],\n updateWebhookConfigForApp: [\"PATCH /app/hook/config\"],\n },\n billing: {\n getGithubActionsBillingOrg: [\"GET /orgs/{org}/settings/billing/actions\"],\n getGithubActionsBillingUser: [\n \"GET /users/{username}/settings/billing/actions\",\n ],\n getGithubPackagesBillingOrg: [\"GET /orgs/{org}/settings/billing/packages\"],\n getGithubPackagesBillingUser: [\n \"GET /users/{username}/settings/billing/packages\",\n ],\n getSharedStorageBillingOrg: [\n \"GET /orgs/{org}/settings/billing/shared-storage\",\n ],\n getSharedStorageBillingUser: [\n \"GET /users/{username}/settings/billing/shared-storage\",\n ],\n },\n checks: {\n create: [\"POST /repos/{owner}/{repo}/check-runs\"],\n createSuite: [\"POST /repos/{owner}/{repo}/check-suites\"],\n get: [\"GET /repos/{owner}/{repo}/check-runs/{check_run_id}\"],\n getSuite: [\"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}\"],\n listAnnotations: [\n \"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\",\n ],\n listForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\"],\n listForSuite: [\n \"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\",\n ],\n listSuitesForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\"],\n rerequestSuite: [\n \"POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest\",\n ],\n setSuitesPreferences: [\n \"PATCH /repos/{owner}/{repo}/check-suites/preferences\",\n ],\n update: [\"PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}\"],\n },\n codeScanning: {\n getAlert: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\",\n {},\n { renamedParameters: { alert_id: \"alert_number\" } },\n ],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/code-scanning/alerts\"],\n listRecentAnalyses: [\"GET /repos/{owner}/{repo}/code-scanning/analyses\"],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\",\n ],\n uploadSarif: [\"POST /repos/{owner}/{repo}/code-scanning/sarifs\"],\n },\n codesOfConduct: {\n getAllCodesOfConduct: [\n \"GET /codes_of_conduct\",\n { mediaType: { previews: [\"scarlet-witch\"] } },\n ],\n getConductCode: [\n \"GET /codes_of_conduct/{key}\",\n { mediaType: { previews: [\"scarlet-witch\"] } },\n ],\n getForRepo: [\n \"GET /repos/{owner}/{repo}/community/code_of_conduct\",\n { mediaType: { previews: [\"scarlet-witch\"] } },\n ],\n },\n emojis: { get: [\"GET /emojis\"] },\n enterpriseAdmin: {\n disableSelectedOrganizationGithubActionsEnterprise: [\n \"DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}\",\n ],\n enableSelectedOrganizationGithubActionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}\",\n ],\n getAllowedActionsEnterprise: [\n \"GET /enterprises/{enterprise}/actions/permissions/selected-actions\",\n ],\n getGithubActionsPermissionsEnterprise: [\n \"GET /enterprises/{enterprise}/actions/permissions\",\n ],\n listSelectedOrganizationsEnabledGithubActionsEnterprise: [\n \"GET /enterprises/{enterprise}/actions/permissions/organizations\",\n ],\n setAllowedActionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions/selected-actions\",\n ],\n setGithubActionsPermissionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions\",\n ],\n setSelectedOrganizationsEnabledGithubActionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions/organizations\",\n ],\n },\n gists: {\n checkIsStarred: [\"GET /gists/{gist_id}/star\"],\n create: [\"POST /gists\"],\n createComment: [\"POST /gists/{gist_id}/comments\"],\n delete: [\"DELETE /gists/{gist_id}\"],\n deleteComment: [\"DELETE /gists/{gist_id}/comments/{comment_id}\"],\n fork: [\"POST /gists/{gist_id}/forks\"],\n get: [\"GET /gists/{gist_id}\"],\n getComment: [\"GET /gists/{gist_id}/comments/{comment_id}\"],\n getRevision: [\"GET /gists/{gist_id}/{sha}\"],\n list: [\"GET /gists\"],\n listComments: [\"GET /gists/{gist_id}/comments\"],\n listCommits: [\"GET /gists/{gist_id}/commits\"],\n listForUser: [\"GET /users/{username}/gists\"],\n listForks: [\"GET /gists/{gist_id}/forks\"],\n listPublic: [\"GET /gists/public\"],\n listStarred: [\"GET /gists/starred\"],\n star: [\"PUT /gists/{gist_id}/star\"],\n unstar: [\"DELETE /gists/{gist_id}/star\"],\n update: [\"PATCH /gists/{gist_id}\"],\n updateComment: [\"PATCH /gists/{gist_id}/comments/{comment_id}\"],\n },\n git: {\n createBlob: [\"POST /repos/{owner}/{repo}/git/blobs\"],\n createCommit: [\"POST /repos/{owner}/{repo}/git/commits\"],\n createRef: [\"POST /repos/{owner}/{repo}/git/refs\"],\n createTag: [\"POST /repos/{owner}/{repo}/git/tags\"],\n createTree: [\"POST /repos/{owner}/{repo}/git/trees\"],\n deleteRef: [\"DELETE /repos/{owner}/{repo}/git/refs/{ref}\"],\n getBlob: [\"GET /repos/{owner}/{repo}/git/blobs/{file_sha}\"],\n getCommit: [\"GET /repos/{owner}/{repo}/git/commits/{commit_sha}\"],\n getRef: [\"GET /repos/{owner}/{repo}/git/ref/{ref}\"],\n getTag: [\"GET /repos/{owner}/{repo}/git/tags/{tag_sha}\"],\n getTree: [\"GET /repos/{owner}/{repo}/git/trees/{tree_sha}\"],\n listMatchingRefs: [\"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\"],\n updateRef: [\"PATCH /repos/{owner}/{repo}/git/refs/{ref}\"],\n },\n gitignore: {\n getAllTemplates: [\"GET /gitignore/templates\"],\n getTemplate: [\"GET /gitignore/templates/{name}\"],\n },\n interactions: {\n getRestrictionsForAuthenticatedUser: [\"GET /user/interaction-limits\"],\n getRestrictionsForOrg: [\"GET /orgs/{org}/interaction-limits\"],\n getRestrictionsForRepo: [\"GET /repos/{owner}/{repo}/interaction-limits\"],\n getRestrictionsForYourPublicRepos: [\n \"GET /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"getRestrictionsForAuthenticatedUser\"] },\n ],\n removeRestrictionsForAuthenticatedUser: [\"DELETE /user/interaction-limits\"],\n removeRestrictionsForOrg: [\"DELETE /orgs/{org}/interaction-limits\"],\n removeRestrictionsForRepo: [\n \"DELETE /repos/{owner}/{repo}/interaction-limits\",\n ],\n removeRestrictionsForYourPublicRepos: [\n \"DELETE /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"removeRestrictionsForAuthenticatedUser\"] },\n ],\n setRestrictionsForAuthenticatedUser: [\"PUT /user/interaction-limits\"],\n setRestrictionsForOrg: [\"PUT /orgs/{org}/interaction-limits\"],\n setRestrictionsForRepo: [\"PUT /repos/{owner}/{repo}/interaction-limits\"],\n setRestrictionsForYourPublicRepos: [\n \"PUT /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"setRestrictionsForAuthenticatedUser\"] },\n ],\n },\n issues: {\n addAssignees: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/assignees\",\n ],\n addLabels: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n checkUserCanBeAssigned: [\"GET /repos/{owner}/{repo}/assignees/{assignee}\"],\n create: [\"POST /repos/{owner}/{repo}/issues\"],\n createComment: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/comments\",\n ],\n createLabel: [\"POST /repos/{owner}/{repo}/labels\"],\n createMilestone: [\"POST /repos/{owner}/{repo}/milestones\"],\n deleteComment: [\n \"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}\",\n ],\n deleteLabel: [\"DELETE /repos/{owner}/{repo}/labels/{name}\"],\n deleteMilestone: [\n \"DELETE /repos/{owner}/{repo}/milestones/{milestone_number}\",\n ],\n get: [\"GET /repos/{owner}/{repo}/issues/{issue_number}\"],\n getComment: [\"GET /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n getEvent: [\"GET /repos/{owner}/{repo}/issues/events/{event_id}\"],\n getLabel: [\"GET /repos/{owner}/{repo}/labels/{name}\"],\n getMilestone: [\"GET /repos/{owner}/{repo}/milestones/{milestone_number}\"],\n list: [\"GET /issues\"],\n listAssignees: [\"GET /repos/{owner}/{repo}/assignees\"],\n listComments: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\"],\n listCommentsForRepo: [\"GET /repos/{owner}/{repo}/issues/comments\"],\n listEvents: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/events\"],\n listEventsForRepo: [\"GET /repos/{owner}/{repo}/issues/events\"],\n listEventsForTimeline: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\",\n { mediaType: { previews: [\"mockingbird\"] } },\n ],\n listForAuthenticatedUser: [\"GET /user/issues\"],\n listForOrg: [\"GET /orgs/{org}/issues\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/issues\"],\n listLabelsForMilestone: [\n \"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\",\n ],\n listLabelsForRepo: [\"GET /repos/{owner}/{repo}/labels\"],\n listLabelsOnIssue: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\",\n ],\n listMilestones: [\"GET /repos/{owner}/{repo}/milestones\"],\n lock: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n removeAllLabels: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels\",\n ],\n removeAssignees: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees\",\n ],\n removeLabel: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}\",\n ],\n setLabels: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n unlock: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n update: [\"PATCH /repos/{owner}/{repo}/issues/{issue_number}\"],\n updateComment: [\"PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n updateLabel: [\"PATCH /repos/{owner}/{repo}/labels/{name}\"],\n updateMilestone: [\n \"PATCH /repos/{owner}/{repo}/milestones/{milestone_number}\",\n ],\n },\n licenses: {\n get: [\"GET /licenses/{license}\"],\n getAllCommonlyUsed: [\"GET /licenses\"],\n getForRepo: [\"GET /repos/{owner}/{repo}/license\"],\n },\n markdown: {\n render: [\"POST /markdown\"],\n renderRaw: [\n \"POST /markdown/raw\",\n { headers: { \"content-type\": \"text/plain; charset=utf-8\" } },\n ],\n },\n meta: {\n get: [\"GET /meta\"],\n getOctocat: [\"GET /octocat\"],\n getZen: [\"GET /zen\"],\n root: [\"GET /\"],\n },\n migrations: {\n cancelImport: [\"DELETE /repos/{owner}/{repo}/import\"],\n deleteArchiveForAuthenticatedUser: [\n \"DELETE /user/migrations/{migration_id}/archive\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n deleteArchiveForOrg: [\n \"DELETE /orgs/{org}/migrations/{migration_id}/archive\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n downloadArchiveForOrg: [\n \"GET /orgs/{org}/migrations/{migration_id}/archive\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n getArchiveForAuthenticatedUser: [\n \"GET /user/migrations/{migration_id}/archive\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n getCommitAuthors: [\"GET /repos/{owner}/{repo}/import/authors\"],\n getImportStatus: [\"GET /repos/{owner}/{repo}/import\"],\n getLargeFiles: [\"GET /repos/{owner}/{repo}/import/large_files\"],\n getStatusForAuthenticatedUser: [\n \"GET /user/migrations/{migration_id}\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n getStatusForOrg: [\n \"GET /orgs/{org}/migrations/{migration_id}\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n listForAuthenticatedUser: [\n \"GET /user/migrations\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n listForOrg: [\n \"GET /orgs/{org}/migrations\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n listReposForOrg: [\n \"GET /orgs/{org}/migrations/{migration_id}/repositories\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n listReposForUser: [\n \"GET /user/migrations/{migration_id}/repositories\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n mapCommitAuthor: [\"PATCH /repos/{owner}/{repo}/import/authors/{author_id}\"],\n setLfsPreference: [\"PATCH /repos/{owner}/{repo}/import/lfs\"],\n startForAuthenticatedUser: [\"POST /user/migrations\"],\n startForOrg: [\"POST /orgs/{org}/migrations\"],\n startImport: [\"PUT /repos/{owner}/{repo}/import\"],\n unlockRepoForAuthenticatedUser: [\n \"DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n unlockRepoForOrg: [\n \"DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n updateImport: [\"PATCH /repos/{owner}/{repo}/import\"],\n },\n orgs: {\n blockUser: [\"PUT /orgs/{org}/blocks/{username}\"],\n cancelInvitation: [\"DELETE /orgs/{org}/invitations/{invitation_id}\"],\n checkBlockedUser: [\"GET /orgs/{org}/blocks/{username}\"],\n checkMembershipForUser: [\"GET /orgs/{org}/members/{username}\"],\n checkPublicMembershipForUser: [\"GET /orgs/{org}/public_members/{username}\"],\n convertMemberToOutsideCollaborator: [\n \"PUT /orgs/{org}/outside_collaborators/{username}\",\n ],\n createInvitation: [\"POST /orgs/{org}/invitations\"],\n createWebhook: [\"POST /orgs/{org}/hooks\"],\n deleteWebhook: [\"DELETE /orgs/{org}/hooks/{hook_id}\"],\n get: [\"GET /orgs/{org}\"],\n getMembershipForAuthenticatedUser: [\"GET /user/memberships/orgs/{org}\"],\n getMembershipForUser: [\"GET /orgs/{org}/memberships/{username}\"],\n getWebhook: [\"GET /orgs/{org}/hooks/{hook_id}\"],\n getWebhookConfigForOrg: [\"GET /orgs/{org}/hooks/{hook_id}/config\"],\n list: [\"GET /organizations\"],\n listAppInstallations: [\"GET /orgs/{org}/installations\"],\n listBlockedUsers: [\"GET /orgs/{org}/blocks\"],\n listFailedInvitations: [\"GET /orgs/{org}/failed_invitations\"],\n listForAuthenticatedUser: [\"GET /user/orgs\"],\n listForUser: [\"GET /users/{username}/orgs\"],\n listInvitationTeams: [\"GET /orgs/{org}/invitations/{invitation_id}/teams\"],\n listMembers: [\"GET /orgs/{org}/members\"],\n listMembershipsForAuthenticatedUser: [\"GET /user/memberships/orgs\"],\n listOutsideCollaborators: [\"GET /orgs/{org}/outside_collaborators\"],\n listPendingInvitations: [\"GET /orgs/{org}/invitations\"],\n listPublicMembers: [\"GET /orgs/{org}/public_members\"],\n listWebhooks: [\"GET /orgs/{org}/hooks\"],\n pingWebhook: [\"POST /orgs/{org}/hooks/{hook_id}/pings\"],\n removeMember: [\"DELETE /orgs/{org}/members/{username}\"],\n removeMembershipForUser: [\"DELETE /orgs/{org}/memberships/{username}\"],\n removeOutsideCollaborator: [\n \"DELETE /orgs/{org}/outside_collaborators/{username}\",\n ],\n removePublicMembershipForAuthenticatedUser: [\n \"DELETE /orgs/{org}/public_members/{username}\",\n ],\n setMembershipForUser: [\"PUT /orgs/{org}/memberships/{username}\"],\n setPublicMembershipForAuthenticatedUser: [\n \"PUT /orgs/{org}/public_members/{username}\",\n ],\n unblockUser: [\"DELETE /orgs/{org}/blocks/{username}\"],\n update: [\"PATCH /orgs/{org}\"],\n updateMembershipForAuthenticatedUser: [\n \"PATCH /user/memberships/orgs/{org}\",\n ],\n updateWebhook: [\"PATCH /orgs/{org}/hooks/{hook_id}\"],\n updateWebhookConfigForOrg: [\"PATCH /orgs/{org}/hooks/{hook_id}/config\"],\n },\n projects: {\n addCollaborator: [\n \"PUT /projects/{project_id}/collaborators/{username}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n createCard: [\n \"POST /projects/columns/{column_id}/cards\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n createColumn: [\n \"POST /projects/{project_id}/columns\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n createForAuthenticatedUser: [\n \"POST /user/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n createForOrg: [\n \"POST /orgs/{org}/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n createForRepo: [\n \"POST /repos/{owner}/{repo}/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n delete: [\n \"DELETE /projects/{project_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n deleteCard: [\n \"DELETE /projects/columns/cards/{card_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n deleteColumn: [\n \"DELETE /projects/columns/{column_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n get: [\n \"GET /projects/{project_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n getCard: [\n \"GET /projects/columns/cards/{card_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n getColumn: [\n \"GET /projects/columns/{column_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n getPermissionForUser: [\n \"GET /projects/{project_id}/collaborators/{username}/permission\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listCards: [\n \"GET /projects/columns/{column_id}/cards\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listCollaborators: [\n \"GET /projects/{project_id}/collaborators\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listColumns: [\n \"GET /projects/{project_id}/columns\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listForOrg: [\n \"GET /orgs/{org}/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listForRepo: [\n \"GET /repos/{owner}/{repo}/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listForUser: [\n \"GET /users/{username}/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n moveCard: [\n \"POST /projects/columns/cards/{card_id}/moves\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n moveColumn: [\n \"POST /projects/columns/{column_id}/moves\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n removeCollaborator: [\n \"DELETE /projects/{project_id}/collaborators/{username}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n update: [\n \"PATCH /projects/{project_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n updateCard: [\n \"PATCH /projects/columns/cards/{card_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n updateColumn: [\n \"PATCH /projects/columns/{column_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n },\n pulls: {\n checkIfMerged: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n create: [\"POST /repos/{owner}/{repo}/pulls\"],\n createReplyForReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies\",\n ],\n createReview: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n createReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments\",\n ],\n deletePendingReview: [\n \"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\",\n ],\n deleteReviewComment: [\n \"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}\",\n ],\n dismissReview: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals\",\n ],\n get: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}\"],\n getReview: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\",\n ],\n getReviewComment: [\"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}\"],\n list: [\"GET /repos/{owner}/{repo}/pulls\"],\n listCommentsForReview: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\",\n ],\n listCommits: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\"],\n listFiles: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\"],\n listRequestedReviewers: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n ],\n listReviewComments: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\",\n ],\n listReviewCommentsForRepo: [\"GET /repos/{owner}/{repo}/pulls/comments\"],\n listReviews: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n merge: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n removeRequestedReviewers: [\n \"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n ],\n requestReviewers: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n ],\n submitReview: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events\",\n ],\n update: [\"PATCH /repos/{owner}/{repo}/pulls/{pull_number}\"],\n updateBranch: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch\",\n { mediaType: { previews: [\"lydian\"] } },\n ],\n updateReview: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\",\n ],\n updateReviewComment: [\n \"PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}\",\n ],\n },\n rateLimit: { get: [\"GET /rate_limit\"] },\n reactions: {\n createForCommitComment: [\n \"POST /repos/{owner}/{repo}/comments/{comment_id}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n createForIssue: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n createForIssueComment: [\n \"POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n createForPullRequestReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n createForTeamDiscussionCommentInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n createForTeamDiscussionInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteForCommitComment: [\n \"DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteForIssue: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteForIssueComment: [\n \"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteForPullRequestComment: [\n \"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteForTeamDiscussion: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteForTeamDiscussionComment: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteLegacy: [\n \"DELETE /reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n {\n deprecated: \"octokit.reactions.deleteLegacy() is deprecated, see https://docs.github.com/v3/reactions/#delete-a-reaction-legacy\",\n },\n ],\n listForCommitComment: [\n \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n listForIssue: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n listForIssueComment: [\n \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n listForPullRequestReviewComment: [\n \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n listForTeamDiscussionCommentInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n listForTeamDiscussionInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n },\n repos: {\n acceptInvitation: [\"PATCH /user/repository_invitations/{invitation_id}\"],\n addAppAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" },\n ],\n addCollaborator: [\"PUT /repos/{owner}/{repo}/collaborators/{username}\"],\n addStatusCheckContexts: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" },\n ],\n addTeamAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" },\n ],\n addUserAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" },\n ],\n checkCollaborator: [\"GET /repos/{owner}/{repo}/collaborators/{username}\"],\n checkVulnerabilityAlerts: [\n \"GET /repos/{owner}/{repo}/vulnerability-alerts\",\n { mediaType: { previews: [\"dorian\"] } },\n ],\n compareCommits: [\"GET /repos/{owner}/{repo}/compare/{base}...{head}\"],\n createCommitComment: [\n \"POST /repos/{owner}/{repo}/commits/{commit_sha}/comments\",\n ],\n createCommitSignatureProtection: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\",\n { mediaType: { previews: [\"zzzax\"] } },\n ],\n createCommitStatus: [\"POST /repos/{owner}/{repo}/statuses/{sha}\"],\n createDeployKey: [\"POST /repos/{owner}/{repo}/keys\"],\n createDeployment: [\"POST /repos/{owner}/{repo}/deployments\"],\n createDeploymentStatus: [\n \"POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\",\n ],\n createDispatchEvent: [\"POST /repos/{owner}/{repo}/dispatches\"],\n createForAuthenticatedUser: [\"POST /user/repos\"],\n createFork: [\"POST /repos/{owner}/{repo}/forks\"],\n createInOrg: [\"POST /orgs/{org}/repos\"],\n createOrUpdateFileContents: [\"PUT /repos/{owner}/{repo}/contents/{path}\"],\n createPagesSite: [\n \"POST /repos/{owner}/{repo}/pages\",\n { mediaType: { previews: [\"switcheroo\"] } },\n ],\n createRelease: [\"POST /repos/{owner}/{repo}/releases\"],\n createUsingTemplate: [\n \"POST /repos/{template_owner}/{template_repo}/generate\",\n { mediaType: { previews: [\"baptiste\"] } },\n ],\n createWebhook: [\"POST /repos/{owner}/{repo}/hooks\"],\n declineInvitation: [\"DELETE /user/repository_invitations/{invitation_id}\"],\n delete: [\"DELETE /repos/{owner}/{repo}\"],\n deleteAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\",\n ],\n deleteAdminBranchProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\",\n ],\n deleteBranchProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection\",\n ],\n deleteCommitComment: [\"DELETE /repos/{owner}/{repo}/comments/{comment_id}\"],\n deleteCommitSignatureProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\",\n { mediaType: { previews: [\"zzzax\"] } },\n ],\n deleteDeployKey: [\"DELETE /repos/{owner}/{repo}/keys/{key_id}\"],\n deleteDeployment: [\n \"DELETE /repos/{owner}/{repo}/deployments/{deployment_id}\",\n ],\n deleteFile: [\"DELETE /repos/{owner}/{repo}/contents/{path}\"],\n deleteInvitation: [\n \"DELETE /repos/{owner}/{repo}/invitations/{invitation_id}\",\n ],\n deletePagesSite: [\n \"DELETE /repos/{owner}/{repo}/pages\",\n { mediaType: { previews: [\"switcheroo\"] } },\n ],\n deletePullRequestReviewProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\",\n ],\n deleteRelease: [\"DELETE /repos/{owner}/{repo}/releases/{release_id}\"],\n deleteReleaseAsset: [\n \"DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}\",\n ],\n deleteWebhook: [\"DELETE /repos/{owner}/{repo}/hooks/{hook_id}\"],\n disableAutomatedSecurityFixes: [\n \"DELETE /repos/{owner}/{repo}/automated-security-fixes\",\n { mediaType: { previews: [\"london\"] } },\n ],\n disableVulnerabilityAlerts: [\n \"DELETE /repos/{owner}/{repo}/vulnerability-alerts\",\n { mediaType: { previews: [\"dorian\"] } },\n ],\n downloadArchive: [\n \"GET /repos/{owner}/{repo}/zipball/{ref}\",\n {},\n { renamed: [\"repos\", \"downloadZipballArchive\"] },\n ],\n downloadTarballArchive: [\"GET /repos/{owner}/{repo}/tarball/{ref}\"],\n downloadZipballArchive: [\"GET /repos/{owner}/{repo}/zipball/{ref}\"],\n enableAutomatedSecurityFixes: [\n \"PUT /repos/{owner}/{repo}/automated-security-fixes\",\n { mediaType: { previews: [\"london\"] } },\n ],\n enableVulnerabilityAlerts: [\n \"PUT /repos/{owner}/{repo}/vulnerability-alerts\",\n { mediaType: { previews: [\"dorian\"] } },\n ],\n get: [\"GET /repos/{owner}/{repo}\"],\n getAccessRestrictions: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\",\n ],\n getAdminBranchProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\",\n ],\n getAllStatusCheckContexts: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n ],\n getAllTopics: [\n \"GET /repos/{owner}/{repo}/topics\",\n { mediaType: { previews: [\"mercy\"] } },\n ],\n getAppsWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n ],\n getBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}\"],\n getBranchProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection\",\n ],\n getClones: [\"GET /repos/{owner}/{repo}/traffic/clones\"],\n getCodeFrequencyStats: [\"GET /repos/{owner}/{repo}/stats/code_frequency\"],\n getCollaboratorPermissionLevel: [\n \"GET /repos/{owner}/{repo}/collaborators/{username}/permission\",\n ],\n getCombinedStatusForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/status\"],\n getCommit: [\"GET /repos/{owner}/{repo}/commits/{ref}\"],\n getCommitActivityStats: [\"GET /repos/{owner}/{repo}/stats/commit_activity\"],\n getCommitComment: [\"GET /repos/{owner}/{repo}/comments/{comment_id}\"],\n getCommitSignatureProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\",\n { mediaType: { previews: [\"zzzax\"] } },\n ],\n getCommunityProfileMetrics: [\"GET /repos/{owner}/{repo}/community/profile\"],\n getContent: [\"GET /repos/{owner}/{repo}/contents/{path}\"],\n getContributorsStats: [\"GET /repos/{owner}/{repo}/stats/contributors\"],\n getDeployKey: [\"GET /repos/{owner}/{repo}/keys/{key_id}\"],\n getDeployment: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}\"],\n getDeploymentStatus: [\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}\",\n ],\n getLatestPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/latest\"],\n getLatestRelease: [\"GET /repos/{owner}/{repo}/releases/latest\"],\n getPages: [\"GET /repos/{owner}/{repo}/pages\"],\n getPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/{build_id}\"],\n getParticipationStats: [\"GET /repos/{owner}/{repo}/stats/participation\"],\n getPullRequestReviewProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\",\n ],\n getPunchCardStats: [\"GET /repos/{owner}/{repo}/stats/punch_card\"],\n getReadme: [\"GET /repos/{owner}/{repo}/readme\"],\n getRelease: [\"GET /repos/{owner}/{repo}/releases/{release_id}\"],\n getReleaseAsset: [\"GET /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n getReleaseByTag: [\"GET /repos/{owner}/{repo}/releases/tags/{tag}\"],\n getStatusChecksProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n ],\n getTeamsWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n ],\n getTopPaths: [\"GET /repos/{owner}/{repo}/traffic/popular/paths\"],\n getTopReferrers: [\"GET /repos/{owner}/{repo}/traffic/popular/referrers\"],\n getUsersWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n ],\n getViews: [\"GET /repos/{owner}/{repo}/traffic/views\"],\n getWebhook: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}\"],\n getWebhookConfigForRepo: [\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/config\",\n ],\n listBranches: [\"GET /repos/{owner}/{repo}/branches\"],\n listBranchesForHeadCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head\",\n { mediaType: { previews: [\"groot\"] } },\n ],\n listCollaborators: [\"GET /repos/{owner}/{repo}/collaborators\"],\n listCommentsForCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\",\n ],\n listCommitCommentsForRepo: [\"GET /repos/{owner}/{repo}/comments\"],\n listCommitStatusesForRef: [\n \"GET /repos/{owner}/{repo}/commits/{ref}/statuses\",\n ],\n listCommits: [\"GET /repos/{owner}/{repo}/commits\"],\n listContributors: [\"GET /repos/{owner}/{repo}/contributors\"],\n listDeployKeys: [\"GET /repos/{owner}/{repo}/keys\"],\n listDeploymentStatuses: [\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\",\n ],\n listDeployments: [\"GET /repos/{owner}/{repo}/deployments\"],\n listForAuthenticatedUser: [\"GET /user/repos\"],\n listForOrg: [\"GET /orgs/{org}/repos\"],\n listForUser: [\"GET /users/{username}/repos\"],\n listForks: [\"GET /repos/{owner}/{repo}/forks\"],\n listInvitations: [\"GET /repos/{owner}/{repo}/invitations\"],\n listInvitationsForAuthenticatedUser: [\"GET /user/repository_invitations\"],\n listLanguages: [\"GET /repos/{owner}/{repo}/languages\"],\n listPagesBuilds: [\"GET /repos/{owner}/{repo}/pages/builds\"],\n listPublic: [\"GET /repositories\"],\n listPullRequestsAssociatedWithCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\",\n { mediaType: { previews: [\"groot\"] } },\n ],\n listReleaseAssets: [\n \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\",\n ],\n listReleases: [\"GET /repos/{owner}/{repo}/releases\"],\n listTags: [\"GET /repos/{owner}/{repo}/tags\"],\n listTeams: [\"GET /repos/{owner}/{repo}/teams\"],\n listWebhooks: [\"GET /repos/{owner}/{repo}/hooks\"],\n merge: [\"POST /repos/{owner}/{repo}/merges\"],\n pingWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/pings\"],\n removeAppAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" },\n ],\n removeCollaborator: [\n \"DELETE /repos/{owner}/{repo}/collaborators/{username}\",\n ],\n removeStatusCheckContexts: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" },\n ],\n removeStatusCheckProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n ],\n removeTeamAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" },\n ],\n removeUserAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" },\n ],\n renameBranch: [\"POST /repos/{owner}/{repo}/branches/{branch}/rename\"],\n replaceAllTopics: [\n \"PUT /repos/{owner}/{repo}/topics\",\n { mediaType: { previews: [\"mercy\"] } },\n ],\n requestPagesBuild: [\"POST /repos/{owner}/{repo}/pages/builds\"],\n setAdminBranchProtection: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\",\n ],\n setAppAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" },\n ],\n setStatusCheckContexts: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" },\n ],\n setTeamAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" },\n ],\n setUserAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" },\n ],\n testPushWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/tests\"],\n transfer: [\"POST /repos/{owner}/{repo}/transfer\"],\n update: [\"PATCH /repos/{owner}/{repo}\"],\n updateBranchProtection: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection\",\n ],\n updateCommitComment: [\"PATCH /repos/{owner}/{repo}/comments/{comment_id}\"],\n updateInformationAboutPagesSite: [\"PUT /repos/{owner}/{repo}/pages\"],\n updateInvitation: [\n \"PATCH /repos/{owner}/{repo}/invitations/{invitation_id}\",\n ],\n updatePullRequestReviewProtection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\",\n ],\n updateRelease: [\"PATCH /repos/{owner}/{repo}/releases/{release_id}\"],\n updateReleaseAsset: [\n \"PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}\",\n ],\n updateStatusCheckPotection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n {},\n { renamed: [\"repos\", \"updateStatusCheckProtection\"] },\n ],\n updateStatusCheckProtection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n ],\n updateWebhook: [\"PATCH /repos/{owner}/{repo}/hooks/{hook_id}\"],\n updateWebhookConfigForRepo: [\n \"PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config\",\n ],\n uploadReleaseAsset: [\n \"POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}\",\n { baseUrl: \"https://uploads.github.com\" },\n ],\n },\n search: {\n code: [\"GET /search/code\"],\n commits: [\"GET /search/commits\", { mediaType: { previews: [\"cloak\"] } }],\n issuesAndPullRequests: [\"GET /search/issues\"],\n labels: [\"GET /search/labels\"],\n repos: [\"GET /search/repositories\"],\n topics: [\"GET /search/topics\", { mediaType: { previews: [\"mercy\"] } }],\n users: [\"GET /search/users\"],\n },\n secretScanning: {\n getAlert: [\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\",\n ],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts\"],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\",\n ],\n },\n teams: {\n addOrUpdateMembershipForUserInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/memberships/{username}\",\n ],\n addOrUpdateProjectPermissionsInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n addOrUpdateRepoPermissionsInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\",\n ],\n checkPermissionsForProjectInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/projects/{project_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n checkPermissionsForRepoInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\",\n ],\n create: [\"POST /orgs/{org}/teams\"],\n createDiscussionCommentInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\",\n ],\n createDiscussionInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions\"],\n deleteDiscussionCommentInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\",\n ],\n deleteDiscussionInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\",\n ],\n deleteInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}\"],\n getByName: [\"GET /orgs/{org}/teams/{team_slug}\"],\n getDiscussionCommentInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\",\n ],\n getDiscussionInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\",\n ],\n getMembershipForUserInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/memberships/{username}\",\n ],\n list: [\"GET /orgs/{org}/teams\"],\n listChildInOrg: [\"GET /orgs/{org}/teams/{team_slug}/teams\"],\n listDiscussionCommentsInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\",\n ],\n listDiscussionsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions\"],\n listForAuthenticatedUser: [\"GET /user/teams\"],\n listMembersInOrg: [\"GET /orgs/{org}/teams/{team_slug}/members\"],\n listPendingInvitationsInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/invitations\",\n ],\n listProjectsInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listReposInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos\"],\n removeMembershipForUserInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}\",\n ],\n removeProjectInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}\",\n ],\n removeRepoInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\",\n ],\n updateDiscussionCommentInOrg: [\n \"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\",\n ],\n updateDiscussionInOrg: [\n \"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\",\n ],\n updateInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}\"],\n },\n users: {\n addEmailForAuthenticated: [\"POST /user/emails\"],\n block: [\"PUT /user/blocks/{username}\"],\n checkBlocked: [\"GET /user/blocks/{username}\"],\n checkFollowingForUser: [\"GET /users/{username}/following/{target_user}\"],\n checkPersonIsFollowedByAuthenticated: [\"GET /user/following/{username}\"],\n createGpgKeyForAuthenticated: [\"POST /user/gpg_keys\"],\n createPublicSshKeyForAuthenticated: [\"POST /user/keys\"],\n deleteEmailForAuthenticated: [\"DELETE /user/emails\"],\n deleteGpgKeyForAuthenticated: [\"DELETE /user/gpg_keys/{gpg_key_id}\"],\n deletePublicSshKeyForAuthenticated: [\"DELETE /user/keys/{key_id}\"],\n follow: [\"PUT /user/following/{username}\"],\n getAuthenticated: [\"GET /user\"],\n getByUsername: [\"GET /users/{username}\"],\n getContextForUser: [\"GET /users/{username}/hovercard\"],\n getGpgKeyForAuthenticated: [\"GET /user/gpg_keys/{gpg_key_id}\"],\n getPublicSshKeyForAuthenticated: [\"GET /user/keys/{key_id}\"],\n list: [\"GET /users\"],\n listBlockedByAuthenticated: [\"GET /user/blocks\"],\n listEmailsForAuthenticated: [\"GET /user/emails\"],\n listFollowedByAuthenticated: [\"GET /user/following\"],\n listFollowersForAuthenticatedUser: [\"GET /user/followers\"],\n listFollowersForUser: [\"GET /users/{username}/followers\"],\n listFollowingForUser: [\"GET /users/{username}/following\"],\n listGpgKeysForAuthenticated: [\"GET /user/gpg_keys\"],\n listGpgKeysForUser: [\"GET /users/{username}/gpg_keys\"],\n listPublicEmailsForAuthenticated: [\"GET /user/public_emails\"],\n listPublicKeysForUser: [\"GET /users/{username}/keys\"],\n listPublicSshKeysForAuthenticated: [\"GET /user/keys\"],\n setPrimaryEmailVisibilityForAuthenticated: [\"PATCH /user/email/visibility\"],\n unblock: [\"DELETE /user/blocks/{username}\"],\n unfollow: [\"DELETE /user/following/{username}\"],\n updateAuthenticated: [\"PATCH /user\"],\n },\n};\nexport default Endpoints;\n","export const VERSION = \"4.10.1\";\n","export function endpointsToMethods(octokit, endpointsMap) {\n const newMethods = {};\n for (const [scope, endpoints] of Object.entries(endpointsMap)) {\n for (const [methodName, endpoint] of Object.entries(endpoints)) {\n const [route, defaults, decorations] = endpoint;\n const [method, url] = route.split(/ /);\n const endpointDefaults = Object.assign({ method, url }, defaults);\n if (!newMethods[scope]) {\n newMethods[scope] = {};\n }\n const scopeMethods = newMethods[scope];\n if (decorations) {\n scopeMethods[methodName] = decorate(octokit, scope, methodName, endpointDefaults, decorations);\n continue;\n }\n scopeMethods[methodName] = octokit.request.defaults(endpointDefaults);\n }\n }\n return newMethods;\n}\nfunction decorate(octokit, scope, methodName, defaults, decorations) {\n const requestWithDefaults = octokit.request.defaults(defaults);\n /* istanbul ignore next */\n function withDecorations(...args) {\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n let options = requestWithDefaults.endpoint.merge(...args);\n // There are currently no other decorations than `.mapToData`\n if (decorations.mapToData) {\n options = Object.assign({}, options, {\n data: options[decorations.mapToData],\n [decorations.mapToData]: undefined,\n });\n return requestWithDefaults(options);\n }\n if (decorations.renamed) {\n const [newScope, newMethodName] = decorations.renamed;\n octokit.log.warn(`octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`);\n }\n if (decorations.deprecated) {\n octokit.log.warn(decorations.deprecated);\n }\n if (decorations.renamedParameters) {\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n const options = requestWithDefaults.endpoint.merge(...args);\n for (const [name, alias] of Object.entries(decorations.renamedParameters)) {\n if (name in options) {\n octokit.log.warn(`\"${name}\" parameter is deprecated for \"octokit.${scope}.${methodName}()\". Use \"${alias}\" instead`);\n if (!(alias in options)) {\n options[alias] = options[name];\n }\n delete options[name];\n }\n }\n return requestWithDefaults(options);\n }\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n return requestWithDefaults(...args);\n }\n return Object.assign(withDecorations, requestWithDefaults);\n}\n","import ENDPOINTS from \"./generated/endpoints\";\nimport { VERSION } from \"./version\";\nimport { endpointsToMethods } from \"./endpoints-to-methods\";\n/**\n * This plugin is a 1:1 copy of internal @octokit/rest plugins. The primary\n * goal is to rebuild @octokit/rest on top of @octokit/core. Once that is\n * done, we will remove the registerEndpoints methods and return the methods\n * directly as with the other plugins. At that point we will also remove the\n * legacy workarounds and deprecations.\n *\n * See the plan at\n * https://github.com/octokit/plugin-rest-endpoint-methods.js/pull/1\n */\nexport function restEndpointMethods(octokit) {\n return endpointsToMethods(octokit, ENDPOINTS);\n}\nrestEndpointMethods.VERSION = VERSION;\n"],"names":["ENDPOINTS"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../dist-src/generated/endpoints.js","../dist-src/version.js","../dist-src/endpoints-to-methods.js","../dist-src/index.js"],"sourcesContent":["const Endpoints = {\n actions: {\n addSelectedRepoToOrgSecret: [\n \"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\",\n ],\n cancelWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel\",\n ],\n createOrUpdateEnvironmentSecret: [\n \"PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\",\n ],\n createOrUpdateOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}\"],\n createOrUpdateRepoSecret: [\n \"PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}\",\n ],\n createRegistrationTokenForOrg: [\n \"POST /orgs/{org}/actions/runners/registration-token\",\n ],\n createRegistrationTokenForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/registration-token\",\n ],\n createRemoveTokenForOrg: [\"POST /orgs/{org}/actions/runners/remove-token\"],\n createRemoveTokenForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/remove-token\",\n ],\n createWorkflowDispatch: [\n \"POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches\",\n ],\n deleteArtifact: [\n \"DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\",\n ],\n deleteEnvironmentSecret: [\n \"DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\",\n ],\n deleteOrgSecret: [\"DELETE /orgs/{org}/actions/secrets/{secret_name}\"],\n deleteRepoSecret: [\n \"DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}\",\n ],\n deleteSelfHostedRunnerFromOrg: [\n \"DELETE /orgs/{org}/actions/runners/{runner_id}\",\n ],\n deleteSelfHostedRunnerFromRepo: [\n \"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}\",\n ],\n deleteWorkflowRun: [\"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n deleteWorkflowRunLogs: [\n \"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs\",\n ],\n disableSelectedRepositoryGithubActionsOrganization: [\n \"DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}\",\n ],\n disableWorkflow: [\n \"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable\",\n ],\n downloadArtifact: [\n \"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}\",\n ],\n downloadJobLogsForWorkflowRun: [\n \"GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs\",\n ],\n downloadWorkflowRunLogs: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs\",\n ],\n enableSelectedRepositoryGithubActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/repositories/{repository_id}\",\n ],\n enableWorkflow: [\n \"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable\",\n ],\n getAllowedActionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/selected-actions\",\n ],\n getAllowedActionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions/selected-actions\",\n ],\n getArtifact: [\"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"],\n getEnvironmentPublicKey: [\n \"GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key\",\n ],\n getEnvironmentSecret: [\n \"GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\",\n ],\n getGithubActionsPermissionsOrganization: [\n \"GET /orgs/{org}/actions/permissions\",\n ],\n getGithubActionsPermissionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions\",\n ],\n getJobForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/actions/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/actions/secrets/{secret_name}\"],\n getPendingDeploymentsForRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\",\n ],\n getRepoPermissions: [\n \"GET /repos/{owner}/{repo}/actions/permissions\",\n {},\n { renamed: [\"actions\", \"getGithubActionsPermissionsRepository\"] },\n ],\n getRepoPublicKey: [\"GET /repos/{owner}/{repo}/actions/secrets/public-key\"],\n getRepoSecret: [\"GET /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n getReviewsForRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals\",\n ],\n getSelfHostedRunnerForOrg: [\"GET /orgs/{org}/actions/runners/{runner_id}\"],\n getSelfHostedRunnerForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/{runner_id}\",\n ],\n getWorkflow: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}\"],\n getWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n getWorkflowRunUsage: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing\",\n ],\n getWorkflowUsage: [\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing\",\n ],\n listArtifactsForRepo: [\"GET /repos/{owner}/{repo}/actions/artifacts\"],\n listEnvironmentSecrets: [\n \"GET /repositories/{repository_id}/environments/{environment_name}/secrets\",\n ],\n listJobsForWorkflowRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\",\n ],\n listOrgSecrets: [\"GET /orgs/{org}/actions/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/actions/secrets\"],\n listRepoWorkflows: [\"GET /repos/{owner}/{repo}/actions/workflows\"],\n listRunnerApplicationsForOrg: [\"GET /orgs/{org}/actions/runners/downloads\"],\n listRunnerApplicationsForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/downloads\",\n ],\n listSelectedReposForOrgSecret: [\n \"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\",\n ],\n listSelectedRepositoriesEnabledGithubActionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/repositories\",\n ],\n listSelfHostedRunnersForOrg: [\"GET /orgs/{org}/actions/runners\"],\n listSelfHostedRunnersForRepo: [\"GET /repos/{owner}/{repo}/actions/runners\"],\n listWorkflowRunArtifacts: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\",\n ],\n listWorkflowRuns: [\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\",\n ],\n listWorkflowRunsForRepo: [\"GET /repos/{owner}/{repo}/actions/runs\"],\n reRunWorkflow: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun\"],\n removeSelectedRepoFromOrgSecret: [\n \"DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\",\n ],\n reviewPendingDeploymentsForRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\",\n ],\n setAllowedActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/selected-actions\",\n ],\n setAllowedActionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions/selected-actions\",\n ],\n setGithubActionsPermissionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions\",\n ],\n setGithubActionsPermissionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions\",\n ],\n setSelectedReposForOrgSecret: [\n \"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories\",\n ],\n setSelectedRepositoriesEnabledGithubActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/repositories\",\n ],\n },\n activity: {\n checkRepoIsStarredByAuthenticatedUser: [\"GET /user/starred/{owner}/{repo}\"],\n deleteRepoSubscription: [\"DELETE /repos/{owner}/{repo}/subscription\"],\n deleteThreadSubscription: [\n \"DELETE /notifications/threads/{thread_id}/subscription\",\n ],\n getFeeds: [\"GET /feeds\"],\n getRepoSubscription: [\"GET /repos/{owner}/{repo}/subscription\"],\n getThread: [\"GET /notifications/threads/{thread_id}\"],\n getThreadSubscriptionForAuthenticatedUser: [\n \"GET /notifications/threads/{thread_id}/subscription\",\n ],\n listEventsForAuthenticatedUser: [\"GET /users/{username}/events\"],\n listNotificationsForAuthenticatedUser: [\"GET /notifications\"],\n listOrgEventsForAuthenticatedUser: [\n \"GET /users/{username}/events/orgs/{org}\",\n ],\n listPublicEvents: [\"GET /events\"],\n listPublicEventsForRepoNetwork: [\"GET /networks/{owner}/{repo}/events\"],\n listPublicEventsForUser: [\"GET /users/{username}/events/public\"],\n listPublicOrgEvents: [\"GET /orgs/{org}/events\"],\n listReceivedEventsForUser: [\"GET /users/{username}/received_events\"],\n listReceivedPublicEventsForUser: [\n \"GET /users/{username}/received_events/public\",\n ],\n listRepoEvents: [\"GET /repos/{owner}/{repo}/events\"],\n listRepoNotificationsForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/notifications\",\n ],\n listReposStarredByAuthenticatedUser: [\"GET /user/starred\"],\n listReposStarredByUser: [\"GET /users/{username}/starred\"],\n listReposWatchedByUser: [\"GET /users/{username}/subscriptions\"],\n listStargazersForRepo: [\"GET /repos/{owner}/{repo}/stargazers\"],\n listWatchedReposForAuthenticatedUser: [\"GET /user/subscriptions\"],\n listWatchersForRepo: [\"GET /repos/{owner}/{repo}/subscribers\"],\n markNotificationsAsRead: [\"PUT /notifications\"],\n markRepoNotificationsAsRead: [\"PUT /repos/{owner}/{repo}/notifications\"],\n markThreadAsRead: [\"PATCH /notifications/threads/{thread_id}\"],\n setRepoSubscription: [\"PUT /repos/{owner}/{repo}/subscription\"],\n setThreadSubscription: [\n \"PUT /notifications/threads/{thread_id}/subscription\",\n ],\n starRepoForAuthenticatedUser: [\"PUT /user/starred/{owner}/{repo}\"],\n unstarRepoForAuthenticatedUser: [\"DELETE /user/starred/{owner}/{repo}\"],\n },\n apps: {\n addRepoToInstallation: [\n \"PUT /user/installations/{installation_id}/repositories/{repository_id}\",\n ],\n checkToken: [\"POST /applications/{client_id}/token\"],\n createContentAttachment: [\n \"POST /content_references/{content_reference_id}/attachments\",\n { mediaType: { previews: [\"corsair\"] } },\n ],\n createFromManifest: [\"POST /app-manifests/{code}/conversions\"],\n createInstallationAccessToken: [\n \"POST /app/installations/{installation_id}/access_tokens\",\n ],\n deleteAuthorization: [\"DELETE /applications/{client_id}/grant\"],\n deleteInstallation: [\"DELETE /app/installations/{installation_id}\"],\n deleteToken: [\"DELETE /applications/{client_id}/token\"],\n getAuthenticated: [\"GET /app\"],\n getBySlug: [\"GET /apps/{app_slug}\"],\n getInstallation: [\"GET /app/installations/{installation_id}\"],\n getOrgInstallation: [\"GET /orgs/{org}/installation\"],\n getRepoInstallation: [\"GET /repos/{owner}/{repo}/installation\"],\n getSubscriptionPlanForAccount: [\n \"GET /marketplace_listing/accounts/{account_id}\",\n ],\n getSubscriptionPlanForAccountStubbed: [\n \"GET /marketplace_listing/stubbed/accounts/{account_id}\",\n ],\n getUserInstallation: [\"GET /users/{username}/installation\"],\n getWebhookConfigForApp: [\"GET /app/hook/config\"],\n listAccountsForPlan: [\"GET /marketplace_listing/plans/{plan_id}/accounts\"],\n listAccountsForPlanStubbed: [\n \"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\",\n ],\n listInstallationReposForAuthenticatedUser: [\n \"GET /user/installations/{installation_id}/repositories\",\n ],\n listInstallations: [\"GET /app/installations\"],\n listInstallationsForAuthenticatedUser: [\"GET /user/installations\"],\n listPlans: [\"GET /marketplace_listing/plans\"],\n listPlansStubbed: [\"GET /marketplace_listing/stubbed/plans\"],\n listReposAccessibleToInstallation: [\"GET /installation/repositories\"],\n listSubscriptionsForAuthenticatedUser: [\"GET /user/marketplace_purchases\"],\n listSubscriptionsForAuthenticatedUserStubbed: [\n \"GET /user/marketplace_purchases/stubbed\",\n ],\n removeRepoFromInstallation: [\n \"DELETE /user/installations/{installation_id}/repositories/{repository_id}\",\n ],\n resetToken: [\"PATCH /applications/{client_id}/token\"],\n revokeInstallationAccessToken: [\"DELETE /installation/token\"],\n scopeToken: [\"POST /applications/{client_id}/token/scoped\"],\n suspendInstallation: [\"PUT /app/installations/{installation_id}/suspended\"],\n unsuspendInstallation: [\n \"DELETE /app/installations/{installation_id}/suspended\",\n ],\n updateWebhookConfigForApp: [\"PATCH /app/hook/config\"],\n },\n billing: {\n getGithubActionsBillingOrg: [\"GET /orgs/{org}/settings/billing/actions\"],\n getGithubActionsBillingUser: [\n \"GET /users/{username}/settings/billing/actions\",\n ],\n getGithubPackagesBillingOrg: [\"GET /orgs/{org}/settings/billing/packages\"],\n getGithubPackagesBillingUser: [\n \"GET /users/{username}/settings/billing/packages\",\n ],\n getSharedStorageBillingOrg: [\n \"GET /orgs/{org}/settings/billing/shared-storage\",\n ],\n getSharedStorageBillingUser: [\n \"GET /users/{username}/settings/billing/shared-storage\",\n ],\n },\n checks: {\n create: [\"POST /repos/{owner}/{repo}/check-runs\"],\n createSuite: [\"POST /repos/{owner}/{repo}/check-suites\"],\n get: [\"GET /repos/{owner}/{repo}/check-runs/{check_run_id}\"],\n getSuite: [\"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}\"],\n listAnnotations: [\n \"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\",\n ],\n listForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\"],\n listForSuite: [\n \"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\",\n ],\n listSuitesForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\"],\n rerequestSuite: [\n \"POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest\",\n ],\n setSuitesPreferences: [\n \"PATCH /repos/{owner}/{repo}/check-suites/preferences\",\n ],\n update: [\"PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}\"],\n },\n codeScanning: {\n deleteAnalysis: [\n \"DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}\",\n ],\n getAlert: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\",\n {},\n { renamedParameters: { alert_id: \"alert_number\" } },\n ],\n getAnalysis: [\n \"GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}\",\n ],\n getSarif: [\"GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/code-scanning/alerts\"],\n listAlertsInstances: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\",\n ],\n listRecentAnalyses: [\"GET /repos/{owner}/{repo}/code-scanning/analyses\"],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\",\n ],\n uploadSarif: [\"POST /repos/{owner}/{repo}/code-scanning/sarifs\"],\n },\n codesOfConduct: {\n getAllCodesOfConduct: [\n \"GET /codes_of_conduct\",\n { mediaType: { previews: [\"scarlet-witch\"] } },\n ],\n getConductCode: [\n \"GET /codes_of_conduct/{key}\",\n { mediaType: { previews: [\"scarlet-witch\"] } },\n ],\n getForRepo: [\n \"GET /repos/{owner}/{repo}/community/code_of_conduct\",\n { mediaType: { previews: [\"scarlet-witch\"] } },\n ],\n },\n emojis: { get: [\"GET /emojis\"] },\n enterpriseAdmin: {\n disableSelectedOrganizationGithubActionsEnterprise: [\n \"DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}\",\n ],\n enableSelectedOrganizationGithubActionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}\",\n ],\n getAllowedActionsEnterprise: [\n \"GET /enterprises/{enterprise}/actions/permissions/selected-actions\",\n ],\n getGithubActionsPermissionsEnterprise: [\n \"GET /enterprises/{enterprise}/actions/permissions\",\n ],\n listSelectedOrganizationsEnabledGithubActionsEnterprise: [\n \"GET /enterprises/{enterprise}/actions/permissions/organizations\",\n ],\n setAllowedActionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions/selected-actions\",\n ],\n setGithubActionsPermissionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions\",\n ],\n setSelectedOrganizationsEnabledGithubActionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions/organizations\",\n ],\n },\n gists: {\n checkIsStarred: [\"GET /gists/{gist_id}/star\"],\n create: [\"POST /gists\"],\n createComment: [\"POST /gists/{gist_id}/comments\"],\n delete: [\"DELETE /gists/{gist_id}\"],\n deleteComment: [\"DELETE /gists/{gist_id}/comments/{comment_id}\"],\n fork: [\"POST /gists/{gist_id}/forks\"],\n get: [\"GET /gists/{gist_id}\"],\n getComment: [\"GET /gists/{gist_id}/comments/{comment_id}\"],\n getRevision: [\"GET /gists/{gist_id}/{sha}\"],\n list: [\"GET /gists\"],\n listComments: [\"GET /gists/{gist_id}/comments\"],\n listCommits: [\"GET /gists/{gist_id}/commits\"],\n listForUser: [\"GET /users/{username}/gists\"],\n listForks: [\"GET /gists/{gist_id}/forks\"],\n listPublic: [\"GET /gists/public\"],\n listStarred: [\"GET /gists/starred\"],\n star: [\"PUT /gists/{gist_id}/star\"],\n unstar: [\"DELETE /gists/{gist_id}/star\"],\n update: [\"PATCH /gists/{gist_id}\"],\n updateComment: [\"PATCH /gists/{gist_id}/comments/{comment_id}\"],\n },\n git: {\n createBlob: [\"POST /repos/{owner}/{repo}/git/blobs\"],\n createCommit: [\"POST /repos/{owner}/{repo}/git/commits\"],\n createRef: [\"POST /repos/{owner}/{repo}/git/refs\"],\n createTag: [\"POST /repos/{owner}/{repo}/git/tags\"],\n createTree: [\"POST /repos/{owner}/{repo}/git/trees\"],\n deleteRef: [\"DELETE /repos/{owner}/{repo}/git/refs/{ref}\"],\n getBlob: [\"GET /repos/{owner}/{repo}/git/blobs/{file_sha}\"],\n getCommit: [\"GET /repos/{owner}/{repo}/git/commits/{commit_sha}\"],\n getRef: [\"GET /repos/{owner}/{repo}/git/ref/{ref}\"],\n getTag: [\"GET /repos/{owner}/{repo}/git/tags/{tag_sha}\"],\n getTree: [\"GET /repos/{owner}/{repo}/git/trees/{tree_sha}\"],\n listMatchingRefs: [\"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\"],\n updateRef: [\"PATCH /repos/{owner}/{repo}/git/refs/{ref}\"],\n },\n gitignore: {\n getAllTemplates: [\"GET /gitignore/templates\"],\n getTemplate: [\"GET /gitignore/templates/{name}\"],\n },\n interactions: {\n getRestrictionsForAuthenticatedUser: [\"GET /user/interaction-limits\"],\n getRestrictionsForOrg: [\"GET /orgs/{org}/interaction-limits\"],\n getRestrictionsForRepo: [\"GET /repos/{owner}/{repo}/interaction-limits\"],\n getRestrictionsForYourPublicRepos: [\n \"GET /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"getRestrictionsForAuthenticatedUser\"] },\n ],\n removeRestrictionsForAuthenticatedUser: [\"DELETE /user/interaction-limits\"],\n removeRestrictionsForOrg: [\"DELETE /orgs/{org}/interaction-limits\"],\n removeRestrictionsForRepo: [\n \"DELETE /repos/{owner}/{repo}/interaction-limits\",\n ],\n removeRestrictionsForYourPublicRepos: [\n \"DELETE /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"removeRestrictionsForAuthenticatedUser\"] },\n ],\n setRestrictionsForAuthenticatedUser: [\"PUT /user/interaction-limits\"],\n setRestrictionsForOrg: [\"PUT /orgs/{org}/interaction-limits\"],\n setRestrictionsForRepo: [\"PUT /repos/{owner}/{repo}/interaction-limits\"],\n setRestrictionsForYourPublicRepos: [\n \"PUT /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"setRestrictionsForAuthenticatedUser\"] },\n ],\n },\n issues: {\n addAssignees: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/assignees\",\n ],\n addLabels: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n checkUserCanBeAssigned: [\"GET /repos/{owner}/{repo}/assignees/{assignee}\"],\n create: [\"POST /repos/{owner}/{repo}/issues\"],\n createComment: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/comments\",\n ],\n createLabel: [\"POST /repos/{owner}/{repo}/labels\"],\n createMilestone: [\"POST /repos/{owner}/{repo}/milestones\"],\n deleteComment: [\n \"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}\",\n ],\n deleteLabel: [\"DELETE /repos/{owner}/{repo}/labels/{name}\"],\n deleteMilestone: [\n \"DELETE /repos/{owner}/{repo}/milestones/{milestone_number}\",\n ],\n get: [\"GET /repos/{owner}/{repo}/issues/{issue_number}\"],\n getComment: [\"GET /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n getEvent: [\"GET /repos/{owner}/{repo}/issues/events/{event_id}\"],\n getLabel: [\"GET /repos/{owner}/{repo}/labels/{name}\"],\n getMilestone: [\"GET /repos/{owner}/{repo}/milestones/{milestone_number}\"],\n list: [\"GET /issues\"],\n listAssignees: [\"GET /repos/{owner}/{repo}/assignees\"],\n listComments: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\"],\n listCommentsForRepo: [\"GET /repos/{owner}/{repo}/issues/comments\"],\n listEvents: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/events\"],\n listEventsForRepo: [\"GET /repos/{owner}/{repo}/issues/events\"],\n listEventsForTimeline: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\",\n { mediaType: { previews: [\"mockingbird\"] } },\n ],\n listForAuthenticatedUser: [\"GET /user/issues\"],\n listForOrg: [\"GET /orgs/{org}/issues\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/issues\"],\n listLabelsForMilestone: [\n \"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\",\n ],\n listLabelsForRepo: [\"GET /repos/{owner}/{repo}/labels\"],\n listLabelsOnIssue: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\",\n ],\n listMilestones: [\"GET /repos/{owner}/{repo}/milestones\"],\n lock: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n removeAllLabels: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels\",\n ],\n removeAssignees: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees\",\n ],\n removeLabel: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}\",\n ],\n setLabels: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n unlock: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n update: [\"PATCH /repos/{owner}/{repo}/issues/{issue_number}\"],\n updateComment: [\"PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n updateLabel: [\"PATCH /repos/{owner}/{repo}/labels/{name}\"],\n updateMilestone: [\n \"PATCH /repos/{owner}/{repo}/milestones/{milestone_number}\",\n ],\n },\n licenses: {\n get: [\"GET /licenses/{license}\"],\n getAllCommonlyUsed: [\"GET /licenses\"],\n getForRepo: [\"GET /repos/{owner}/{repo}/license\"],\n },\n markdown: {\n render: [\"POST /markdown\"],\n renderRaw: [\n \"POST /markdown/raw\",\n { headers: { \"content-type\": \"text/plain; charset=utf-8\" } },\n ],\n },\n meta: {\n get: [\"GET /meta\"],\n getOctocat: [\"GET /octocat\"],\n getZen: [\"GET /zen\"],\n root: [\"GET /\"],\n },\n migrations: {\n cancelImport: [\"DELETE /repos/{owner}/{repo}/import\"],\n deleteArchiveForAuthenticatedUser: [\n \"DELETE /user/migrations/{migration_id}/archive\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n deleteArchiveForOrg: [\n \"DELETE /orgs/{org}/migrations/{migration_id}/archive\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n downloadArchiveForOrg: [\n \"GET /orgs/{org}/migrations/{migration_id}/archive\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n getArchiveForAuthenticatedUser: [\n \"GET /user/migrations/{migration_id}/archive\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n getCommitAuthors: [\"GET /repos/{owner}/{repo}/import/authors\"],\n getImportStatus: [\"GET /repos/{owner}/{repo}/import\"],\n getLargeFiles: [\"GET /repos/{owner}/{repo}/import/large_files\"],\n getStatusForAuthenticatedUser: [\n \"GET /user/migrations/{migration_id}\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n getStatusForOrg: [\n \"GET /orgs/{org}/migrations/{migration_id}\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n listForAuthenticatedUser: [\n \"GET /user/migrations\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n listForOrg: [\n \"GET /orgs/{org}/migrations\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n listReposForOrg: [\n \"GET /orgs/{org}/migrations/{migration_id}/repositories\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n listReposForUser: [\n \"GET /user/migrations/{migration_id}/repositories\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n mapCommitAuthor: [\"PATCH /repos/{owner}/{repo}/import/authors/{author_id}\"],\n setLfsPreference: [\"PATCH /repos/{owner}/{repo}/import/lfs\"],\n startForAuthenticatedUser: [\"POST /user/migrations\"],\n startForOrg: [\"POST /orgs/{org}/migrations\"],\n startImport: [\"PUT /repos/{owner}/{repo}/import\"],\n unlockRepoForAuthenticatedUser: [\n \"DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n unlockRepoForOrg: [\n \"DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n updateImport: [\"PATCH /repos/{owner}/{repo}/import\"],\n },\n orgs: {\n blockUser: [\"PUT /orgs/{org}/blocks/{username}\"],\n cancelInvitation: [\"DELETE /orgs/{org}/invitations/{invitation_id}\"],\n checkBlockedUser: [\"GET /orgs/{org}/blocks/{username}\"],\n checkMembershipForUser: [\"GET /orgs/{org}/members/{username}\"],\n checkPublicMembershipForUser: [\"GET /orgs/{org}/public_members/{username}\"],\n convertMemberToOutsideCollaborator: [\n \"PUT /orgs/{org}/outside_collaborators/{username}\",\n ],\n createInvitation: [\"POST /orgs/{org}/invitations\"],\n createWebhook: [\"POST /orgs/{org}/hooks\"],\n deleteWebhook: [\"DELETE /orgs/{org}/hooks/{hook_id}\"],\n get: [\"GET /orgs/{org}\"],\n getMembershipForAuthenticatedUser: [\"GET /user/memberships/orgs/{org}\"],\n getMembershipForUser: [\"GET /orgs/{org}/memberships/{username}\"],\n getWebhook: [\"GET /orgs/{org}/hooks/{hook_id}\"],\n getWebhookConfigForOrg: [\"GET /orgs/{org}/hooks/{hook_id}/config\"],\n list: [\"GET /organizations\"],\n listAppInstallations: [\"GET /orgs/{org}/installations\"],\n listBlockedUsers: [\"GET /orgs/{org}/blocks\"],\n listFailedInvitations: [\"GET /orgs/{org}/failed_invitations\"],\n listForAuthenticatedUser: [\"GET /user/orgs\"],\n listForUser: [\"GET /users/{username}/orgs\"],\n listInvitationTeams: [\"GET /orgs/{org}/invitations/{invitation_id}/teams\"],\n listMembers: [\"GET /orgs/{org}/members\"],\n listMembershipsForAuthenticatedUser: [\"GET /user/memberships/orgs\"],\n listOutsideCollaborators: [\"GET /orgs/{org}/outside_collaborators\"],\n listPendingInvitations: [\"GET /orgs/{org}/invitations\"],\n listPublicMembers: [\"GET /orgs/{org}/public_members\"],\n listWebhooks: [\"GET /orgs/{org}/hooks\"],\n pingWebhook: [\"POST /orgs/{org}/hooks/{hook_id}/pings\"],\n removeMember: [\"DELETE /orgs/{org}/members/{username}\"],\n removeMembershipForUser: [\"DELETE /orgs/{org}/memberships/{username}\"],\n removeOutsideCollaborator: [\n \"DELETE /orgs/{org}/outside_collaborators/{username}\",\n ],\n removePublicMembershipForAuthenticatedUser: [\n \"DELETE /orgs/{org}/public_members/{username}\",\n ],\n setMembershipForUser: [\"PUT /orgs/{org}/memberships/{username}\"],\n setPublicMembershipForAuthenticatedUser: [\n \"PUT /orgs/{org}/public_members/{username}\",\n ],\n unblockUser: [\"DELETE /orgs/{org}/blocks/{username}\"],\n update: [\"PATCH /orgs/{org}\"],\n updateMembershipForAuthenticatedUser: [\n \"PATCH /user/memberships/orgs/{org}\",\n ],\n updateWebhook: [\"PATCH /orgs/{org}/hooks/{hook_id}\"],\n updateWebhookConfigForOrg: [\"PATCH /orgs/{org}/hooks/{hook_id}/config\"],\n },\n packages: {\n deletePackageForAuthenticatedUser: [\n \"DELETE /user/packages/{package_type}/{package_name}\",\n ],\n deletePackageForOrg: [\n \"DELETE /orgs/{org}/packages/{package_type}/{package_name}\",\n ],\n deletePackageVersionForAuthenticatedUser: [\n \"DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n ],\n deletePackageVersionForOrg: [\n \"DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n ],\n getAllPackageVersionsForAPackageOwnedByAnOrg: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\",\n {},\n { renamed: [\"packages\", \"getAllPackageVersionsForPackageOwnedByOrg\"] },\n ],\n getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions\",\n {},\n {\n renamed: [\n \"packages\",\n \"getAllPackageVersionsForPackageOwnedByAuthenticatedUser\",\n ],\n },\n ],\n getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions\",\n ],\n getAllPackageVersionsForPackageOwnedByOrg: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\",\n ],\n getAllPackageVersionsForPackageOwnedByUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}/versions\",\n ],\n getPackageForAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}\",\n ],\n getPackageForOrganization: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}\",\n ],\n getPackageForUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}\",\n ],\n getPackageVersionForAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n ],\n getPackageVersionForOrganization: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n ],\n getPackageVersionForUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n ],\n restorePackageForAuthenticatedUser: [\n \"POST /user/packages/{package_type}/{package_name}/restore{?token}\",\n ],\n restorePackageForOrg: [\n \"POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}\",\n ],\n restorePackageVersionForAuthenticatedUser: [\n \"POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\",\n ],\n restorePackageVersionForOrg: [\n \"POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\",\n ],\n },\n projects: {\n addCollaborator: [\n \"PUT /projects/{project_id}/collaborators/{username}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n createCard: [\n \"POST /projects/columns/{column_id}/cards\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n createColumn: [\n \"POST /projects/{project_id}/columns\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n createForAuthenticatedUser: [\n \"POST /user/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n createForOrg: [\n \"POST /orgs/{org}/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n createForRepo: [\n \"POST /repos/{owner}/{repo}/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n delete: [\n \"DELETE /projects/{project_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n deleteCard: [\n \"DELETE /projects/columns/cards/{card_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n deleteColumn: [\n \"DELETE /projects/columns/{column_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n get: [\n \"GET /projects/{project_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n getCard: [\n \"GET /projects/columns/cards/{card_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n getColumn: [\n \"GET /projects/columns/{column_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n getPermissionForUser: [\n \"GET /projects/{project_id}/collaborators/{username}/permission\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listCards: [\n \"GET /projects/columns/{column_id}/cards\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listCollaborators: [\n \"GET /projects/{project_id}/collaborators\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listColumns: [\n \"GET /projects/{project_id}/columns\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listForOrg: [\n \"GET /orgs/{org}/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listForRepo: [\n \"GET /repos/{owner}/{repo}/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listForUser: [\n \"GET /users/{username}/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n moveCard: [\n \"POST /projects/columns/cards/{card_id}/moves\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n moveColumn: [\n \"POST /projects/columns/{column_id}/moves\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n removeCollaborator: [\n \"DELETE /projects/{project_id}/collaborators/{username}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n update: [\n \"PATCH /projects/{project_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n updateCard: [\n \"PATCH /projects/columns/cards/{card_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n updateColumn: [\n \"PATCH /projects/columns/{column_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n },\n pulls: {\n checkIfMerged: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n create: [\"POST /repos/{owner}/{repo}/pulls\"],\n createReplyForReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies\",\n ],\n createReview: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n createReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments\",\n ],\n deletePendingReview: [\n \"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\",\n ],\n deleteReviewComment: [\n \"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}\",\n ],\n dismissReview: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals\",\n ],\n get: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}\"],\n getReview: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\",\n ],\n getReviewComment: [\"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}\"],\n list: [\"GET /repos/{owner}/{repo}/pulls\"],\n listCommentsForReview: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\",\n ],\n listCommits: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\"],\n listFiles: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\"],\n listRequestedReviewers: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n ],\n listReviewComments: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\",\n ],\n listReviewCommentsForRepo: [\"GET /repos/{owner}/{repo}/pulls/comments\"],\n listReviews: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n merge: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n removeRequestedReviewers: [\n \"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n ],\n requestReviewers: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n ],\n submitReview: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events\",\n ],\n update: [\"PATCH /repos/{owner}/{repo}/pulls/{pull_number}\"],\n updateBranch: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch\",\n { mediaType: { previews: [\"lydian\"] } },\n ],\n updateReview: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\",\n ],\n updateReviewComment: [\n \"PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}\",\n ],\n },\n rateLimit: { get: [\"GET /rate_limit\"] },\n reactions: {\n createForCommitComment: [\n \"POST /repos/{owner}/{repo}/comments/{comment_id}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n createForIssue: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n createForIssueComment: [\n \"POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n createForPullRequestReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n createForTeamDiscussionCommentInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n createForTeamDiscussionInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteForCommitComment: [\n \"DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteForIssue: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteForIssueComment: [\n \"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteForPullRequestComment: [\n \"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteForTeamDiscussion: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteForTeamDiscussionComment: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteLegacy: [\n \"DELETE /reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n {\n deprecated: \"octokit.rest.reactions.deleteLegacy() is deprecated, see https://docs.github.com/rest/reference/reactions/#delete-a-reaction-legacy\",\n },\n ],\n listForCommitComment: [\n \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n listForIssue: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n listForIssueComment: [\n \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n listForPullRequestReviewComment: [\n \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n listForTeamDiscussionCommentInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n listForTeamDiscussionInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n },\n repos: {\n acceptInvitation: [\"PATCH /user/repository_invitations/{invitation_id}\"],\n addAppAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" },\n ],\n addCollaborator: [\"PUT /repos/{owner}/{repo}/collaborators/{username}\"],\n addStatusCheckContexts: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" },\n ],\n addTeamAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" },\n ],\n addUserAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" },\n ],\n checkCollaborator: [\"GET /repos/{owner}/{repo}/collaborators/{username}\"],\n checkVulnerabilityAlerts: [\n \"GET /repos/{owner}/{repo}/vulnerability-alerts\",\n { mediaType: { previews: [\"dorian\"] } },\n ],\n compareCommits: [\"GET /repos/{owner}/{repo}/compare/{base}...{head}\"],\n createCommitComment: [\n \"POST /repos/{owner}/{repo}/commits/{commit_sha}/comments\",\n ],\n createCommitSignatureProtection: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\",\n { mediaType: { previews: [\"zzzax\"] } },\n ],\n createCommitStatus: [\"POST /repos/{owner}/{repo}/statuses/{sha}\"],\n createDeployKey: [\"POST /repos/{owner}/{repo}/keys\"],\n createDeployment: [\"POST /repos/{owner}/{repo}/deployments\"],\n createDeploymentStatus: [\n \"POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\",\n ],\n createDispatchEvent: [\"POST /repos/{owner}/{repo}/dispatches\"],\n createForAuthenticatedUser: [\"POST /user/repos\"],\n createFork: [\"POST /repos/{owner}/{repo}/forks\"],\n createInOrg: [\"POST /orgs/{org}/repos\"],\n createOrUpdateEnvironment: [\n \"PUT /repos/{owner}/{repo}/environments/{environment_name}\",\n ],\n createOrUpdateFileContents: [\"PUT /repos/{owner}/{repo}/contents/{path}\"],\n createPagesSite: [\n \"POST /repos/{owner}/{repo}/pages\",\n { mediaType: { previews: [\"switcheroo\"] } },\n ],\n createRelease: [\"POST /repos/{owner}/{repo}/releases\"],\n createUsingTemplate: [\n \"POST /repos/{template_owner}/{template_repo}/generate\",\n { mediaType: { previews: [\"baptiste\"] } },\n ],\n createWebhook: [\"POST /repos/{owner}/{repo}/hooks\"],\n declineInvitation: [\"DELETE /user/repository_invitations/{invitation_id}\"],\n delete: [\"DELETE /repos/{owner}/{repo}\"],\n deleteAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\",\n ],\n deleteAdminBranchProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\",\n ],\n deleteAnEnvironment: [\n \"DELETE /repos/{owner}/{repo}/environments/{environment_name}\",\n ],\n deleteBranchProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection\",\n ],\n deleteCommitComment: [\"DELETE /repos/{owner}/{repo}/comments/{comment_id}\"],\n deleteCommitSignatureProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\",\n { mediaType: { previews: [\"zzzax\"] } },\n ],\n deleteDeployKey: [\"DELETE /repos/{owner}/{repo}/keys/{key_id}\"],\n deleteDeployment: [\n \"DELETE /repos/{owner}/{repo}/deployments/{deployment_id}\",\n ],\n deleteFile: [\"DELETE /repos/{owner}/{repo}/contents/{path}\"],\n deleteInvitation: [\n \"DELETE /repos/{owner}/{repo}/invitations/{invitation_id}\",\n ],\n deletePagesSite: [\n \"DELETE /repos/{owner}/{repo}/pages\",\n { mediaType: { previews: [\"switcheroo\"] } },\n ],\n deletePullRequestReviewProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\",\n ],\n deleteRelease: [\"DELETE /repos/{owner}/{repo}/releases/{release_id}\"],\n deleteReleaseAsset: [\n \"DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}\",\n ],\n deleteWebhook: [\"DELETE /repos/{owner}/{repo}/hooks/{hook_id}\"],\n disableAutomatedSecurityFixes: [\n \"DELETE /repos/{owner}/{repo}/automated-security-fixes\",\n { mediaType: { previews: [\"london\"] } },\n ],\n disableVulnerabilityAlerts: [\n \"DELETE /repos/{owner}/{repo}/vulnerability-alerts\",\n { mediaType: { previews: [\"dorian\"] } },\n ],\n downloadArchive: [\n \"GET /repos/{owner}/{repo}/zipball/{ref}\",\n {},\n { renamed: [\"repos\", \"downloadZipballArchive\"] },\n ],\n downloadTarballArchive: [\"GET /repos/{owner}/{repo}/tarball/{ref}\"],\n downloadZipballArchive: [\"GET /repos/{owner}/{repo}/zipball/{ref}\"],\n enableAutomatedSecurityFixes: [\n \"PUT /repos/{owner}/{repo}/automated-security-fixes\",\n { mediaType: { previews: [\"london\"] } },\n ],\n enableVulnerabilityAlerts: [\n \"PUT /repos/{owner}/{repo}/vulnerability-alerts\",\n { mediaType: { previews: [\"dorian\"] } },\n ],\n get: [\"GET /repos/{owner}/{repo}\"],\n getAccessRestrictions: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\",\n ],\n getAdminBranchProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\",\n ],\n getAllEnvironments: [\"GET /repos/{owner}/{repo}/environments\"],\n getAllStatusCheckContexts: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n ],\n getAllTopics: [\n \"GET /repos/{owner}/{repo}/topics\",\n { mediaType: { previews: [\"mercy\"] } },\n ],\n getAppsWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n ],\n getBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}\"],\n getBranchProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection\",\n ],\n getClones: [\"GET /repos/{owner}/{repo}/traffic/clones\"],\n getCodeFrequencyStats: [\"GET /repos/{owner}/{repo}/stats/code_frequency\"],\n getCollaboratorPermissionLevel: [\n \"GET /repos/{owner}/{repo}/collaborators/{username}/permission\",\n ],\n getCombinedStatusForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/status\"],\n getCommit: [\"GET /repos/{owner}/{repo}/commits/{ref}\"],\n getCommitActivityStats: [\"GET /repos/{owner}/{repo}/stats/commit_activity\"],\n getCommitComment: [\"GET /repos/{owner}/{repo}/comments/{comment_id}\"],\n getCommitSignatureProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\",\n { mediaType: { previews: [\"zzzax\"] } },\n ],\n getCommunityProfileMetrics: [\"GET /repos/{owner}/{repo}/community/profile\"],\n getContent: [\"GET /repos/{owner}/{repo}/contents/{path}\"],\n getContributorsStats: [\"GET /repos/{owner}/{repo}/stats/contributors\"],\n getDeployKey: [\"GET /repos/{owner}/{repo}/keys/{key_id}\"],\n getDeployment: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}\"],\n getDeploymentStatus: [\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}\",\n ],\n getEnvironment: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}\",\n ],\n getLatestPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/latest\"],\n getLatestRelease: [\"GET /repos/{owner}/{repo}/releases/latest\"],\n getPages: [\"GET /repos/{owner}/{repo}/pages\"],\n getPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/{build_id}\"],\n getParticipationStats: [\"GET /repos/{owner}/{repo}/stats/participation\"],\n getPullRequestReviewProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\",\n ],\n getPunchCardStats: [\"GET /repos/{owner}/{repo}/stats/punch_card\"],\n getReadme: [\"GET /repos/{owner}/{repo}/readme\"],\n getReadmeInDirectory: [\"GET /repos/{owner}/{repo}/readme/{dir}\"],\n getRelease: [\"GET /repos/{owner}/{repo}/releases/{release_id}\"],\n getReleaseAsset: [\"GET /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n getReleaseByTag: [\"GET /repos/{owner}/{repo}/releases/tags/{tag}\"],\n getStatusChecksProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n ],\n getTeamsWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n ],\n getTopPaths: [\"GET /repos/{owner}/{repo}/traffic/popular/paths\"],\n getTopReferrers: [\"GET /repos/{owner}/{repo}/traffic/popular/referrers\"],\n getUsersWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n ],\n getViews: [\"GET /repos/{owner}/{repo}/traffic/views\"],\n getWebhook: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}\"],\n getWebhookConfigForRepo: [\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/config\",\n ],\n listBranches: [\"GET /repos/{owner}/{repo}/branches\"],\n listBranchesForHeadCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head\",\n { mediaType: { previews: [\"groot\"] } },\n ],\n listCollaborators: [\"GET /repos/{owner}/{repo}/collaborators\"],\n listCommentsForCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\",\n ],\n listCommitCommentsForRepo: [\"GET /repos/{owner}/{repo}/comments\"],\n listCommitStatusesForRef: [\n \"GET /repos/{owner}/{repo}/commits/{ref}/statuses\",\n ],\n listCommits: [\"GET /repos/{owner}/{repo}/commits\"],\n listContributors: [\"GET /repos/{owner}/{repo}/contributors\"],\n listDeployKeys: [\"GET /repos/{owner}/{repo}/keys\"],\n listDeploymentStatuses: [\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\",\n ],\n listDeployments: [\"GET /repos/{owner}/{repo}/deployments\"],\n listForAuthenticatedUser: [\"GET /user/repos\"],\n listForOrg: [\"GET /orgs/{org}/repos\"],\n listForUser: [\"GET /users/{username}/repos\"],\n listForks: [\"GET /repos/{owner}/{repo}/forks\"],\n listInvitations: [\"GET /repos/{owner}/{repo}/invitations\"],\n listInvitationsForAuthenticatedUser: [\"GET /user/repository_invitations\"],\n listLanguages: [\"GET /repos/{owner}/{repo}/languages\"],\n listPagesBuilds: [\"GET /repos/{owner}/{repo}/pages/builds\"],\n listPublic: [\"GET /repositories\"],\n listPullRequestsAssociatedWithCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\",\n { mediaType: { previews: [\"groot\"] } },\n ],\n listReleaseAssets: [\n \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\",\n ],\n listReleases: [\"GET /repos/{owner}/{repo}/releases\"],\n listTags: [\"GET /repos/{owner}/{repo}/tags\"],\n listTeams: [\"GET /repos/{owner}/{repo}/teams\"],\n listWebhooks: [\"GET /repos/{owner}/{repo}/hooks\"],\n merge: [\"POST /repos/{owner}/{repo}/merges\"],\n pingWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/pings\"],\n removeAppAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" },\n ],\n removeCollaborator: [\n \"DELETE /repos/{owner}/{repo}/collaborators/{username}\",\n ],\n removeStatusCheckContexts: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" },\n ],\n removeStatusCheckProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n ],\n removeTeamAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" },\n ],\n removeUserAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" },\n ],\n renameBranch: [\"POST /repos/{owner}/{repo}/branches/{branch}/rename\"],\n replaceAllTopics: [\n \"PUT /repos/{owner}/{repo}/topics\",\n { mediaType: { previews: [\"mercy\"] } },\n ],\n requestPagesBuild: [\"POST /repos/{owner}/{repo}/pages/builds\"],\n setAdminBranchProtection: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\",\n ],\n setAppAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" },\n ],\n setStatusCheckContexts: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" },\n ],\n setTeamAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" },\n ],\n setUserAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" },\n ],\n testPushWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/tests\"],\n transfer: [\"POST /repos/{owner}/{repo}/transfer\"],\n update: [\"PATCH /repos/{owner}/{repo}\"],\n updateBranchProtection: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection\",\n ],\n updateCommitComment: [\"PATCH /repos/{owner}/{repo}/comments/{comment_id}\"],\n updateInformationAboutPagesSite: [\"PUT /repos/{owner}/{repo}/pages\"],\n updateInvitation: [\n \"PATCH /repos/{owner}/{repo}/invitations/{invitation_id}\",\n ],\n updatePullRequestReviewProtection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\",\n ],\n updateRelease: [\"PATCH /repos/{owner}/{repo}/releases/{release_id}\"],\n updateReleaseAsset: [\n \"PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}\",\n ],\n updateStatusCheckPotection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n {},\n { renamed: [\"repos\", \"updateStatusCheckProtection\"] },\n ],\n updateStatusCheckProtection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n ],\n updateWebhook: [\"PATCH /repos/{owner}/{repo}/hooks/{hook_id}\"],\n updateWebhookConfigForRepo: [\n \"PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config\",\n ],\n uploadReleaseAsset: [\n \"POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}\",\n { baseUrl: \"https://uploads.github.com\" },\n ],\n },\n search: {\n code: [\"GET /search/code\"],\n commits: [\"GET /search/commits\", { mediaType: { previews: [\"cloak\"] } }],\n issuesAndPullRequests: [\"GET /search/issues\"],\n labels: [\"GET /search/labels\"],\n repos: [\"GET /search/repositories\"],\n topics: [\"GET /search/topics\", { mediaType: { previews: [\"mercy\"] } }],\n users: [\"GET /search/users\"],\n },\n secretScanning: {\n getAlert: [\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\",\n ],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts\"],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\",\n ],\n },\n teams: {\n addOrUpdateMembershipForUserInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/memberships/{username}\",\n ],\n addOrUpdateProjectPermissionsInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n addOrUpdateRepoPermissionsInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\",\n ],\n checkPermissionsForProjectInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/projects/{project_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n checkPermissionsForRepoInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\",\n ],\n create: [\"POST /orgs/{org}/teams\"],\n createDiscussionCommentInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\",\n ],\n createDiscussionInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions\"],\n deleteDiscussionCommentInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\",\n ],\n deleteDiscussionInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\",\n ],\n deleteInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}\"],\n getByName: [\"GET /orgs/{org}/teams/{team_slug}\"],\n getDiscussionCommentInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\",\n ],\n getDiscussionInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\",\n ],\n getMembershipForUserInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/memberships/{username}\",\n ],\n list: [\"GET /orgs/{org}/teams\"],\n listChildInOrg: [\"GET /orgs/{org}/teams/{team_slug}/teams\"],\n listDiscussionCommentsInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\",\n ],\n listDiscussionsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions\"],\n listForAuthenticatedUser: [\"GET /user/teams\"],\n listMembersInOrg: [\"GET /orgs/{org}/teams/{team_slug}/members\"],\n listPendingInvitationsInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/invitations\",\n ],\n listProjectsInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listReposInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos\"],\n removeMembershipForUserInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}\",\n ],\n removeProjectInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}\",\n ],\n removeRepoInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\",\n ],\n updateDiscussionCommentInOrg: [\n \"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\",\n ],\n updateDiscussionInOrg: [\n \"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\",\n ],\n updateInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}\"],\n },\n users: {\n addEmailForAuthenticated: [\"POST /user/emails\"],\n block: [\"PUT /user/blocks/{username}\"],\n checkBlocked: [\"GET /user/blocks/{username}\"],\n checkFollowingForUser: [\"GET /users/{username}/following/{target_user}\"],\n checkPersonIsFollowedByAuthenticated: [\"GET /user/following/{username}\"],\n createGpgKeyForAuthenticated: [\"POST /user/gpg_keys\"],\n createPublicSshKeyForAuthenticated: [\"POST /user/keys\"],\n deleteEmailForAuthenticated: [\"DELETE /user/emails\"],\n deleteGpgKeyForAuthenticated: [\"DELETE /user/gpg_keys/{gpg_key_id}\"],\n deletePublicSshKeyForAuthenticated: [\"DELETE /user/keys/{key_id}\"],\n follow: [\"PUT /user/following/{username}\"],\n getAuthenticated: [\"GET /user\"],\n getByUsername: [\"GET /users/{username}\"],\n getContextForUser: [\"GET /users/{username}/hovercard\"],\n getGpgKeyForAuthenticated: [\"GET /user/gpg_keys/{gpg_key_id}\"],\n getPublicSshKeyForAuthenticated: [\"GET /user/keys/{key_id}\"],\n list: [\"GET /users\"],\n listBlockedByAuthenticated: [\"GET /user/blocks\"],\n listEmailsForAuthenticated: [\"GET /user/emails\"],\n listFollowedByAuthenticated: [\"GET /user/following\"],\n listFollowersForAuthenticatedUser: [\"GET /user/followers\"],\n listFollowersForUser: [\"GET /users/{username}/followers\"],\n listFollowingForUser: [\"GET /users/{username}/following\"],\n listGpgKeysForAuthenticated: [\"GET /user/gpg_keys\"],\n listGpgKeysForUser: [\"GET /users/{username}/gpg_keys\"],\n listPublicEmailsForAuthenticated: [\"GET /user/public_emails\"],\n listPublicKeysForUser: [\"GET /users/{username}/keys\"],\n listPublicSshKeysForAuthenticated: [\"GET /user/keys\"],\n setPrimaryEmailVisibilityForAuthenticated: [\"PATCH /user/email/visibility\"],\n unblock: [\"DELETE /user/blocks/{username}\"],\n unfollow: [\"DELETE /user/following/{username}\"],\n updateAuthenticated: [\"PATCH /user\"],\n },\n};\nexport default Endpoints;\n","export const VERSION = \"4.15.1\";\n","export function endpointsToMethods(octokit, endpointsMap) {\n const newMethods = {};\n for (const [scope, endpoints] of Object.entries(endpointsMap)) {\n for (const [methodName, endpoint] of Object.entries(endpoints)) {\n const [route, defaults, decorations] = endpoint;\n const [method, url] = route.split(/ /);\n const endpointDefaults = Object.assign({ method, url }, defaults);\n if (!newMethods[scope]) {\n newMethods[scope] = {};\n }\n const scopeMethods = newMethods[scope];\n if (decorations) {\n scopeMethods[methodName] = decorate(octokit, scope, methodName, endpointDefaults, decorations);\n continue;\n }\n scopeMethods[methodName] = octokit.request.defaults(endpointDefaults);\n }\n }\n return newMethods;\n}\nfunction decorate(octokit, scope, methodName, defaults, decorations) {\n const requestWithDefaults = octokit.request.defaults(defaults);\n /* istanbul ignore next */\n function withDecorations(...args) {\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n let options = requestWithDefaults.endpoint.merge(...args);\n // There are currently no other decorations than `.mapToData`\n if (decorations.mapToData) {\n options = Object.assign({}, options, {\n data: options[decorations.mapToData],\n [decorations.mapToData]: undefined,\n });\n return requestWithDefaults(options);\n }\n if (decorations.renamed) {\n const [newScope, newMethodName] = decorations.renamed;\n octokit.log.warn(`octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`);\n }\n if (decorations.deprecated) {\n octokit.log.warn(decorations.deprecated);\n }\n if (decorations.renamedParameters) {\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n const options = requestWithDefaults.endpoint.merge(...args);\n for (const [name, alias] of Object.entries(decorations.renamedParameters)) {\n if (name in options) {\n octokit.log.warn(`\"${name}\" parameter is deprecated for \"octokit.${scope}.${methodName}()\". Use \"${alias}\" instead`);\n if (!(alias in options)) {\n options[alias] = options[name];\n }\n delete options[name];\n }\n }\n return requestWithDefaults(options);\n }\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n return requestWithDefaults(...args);\n }\n return Object.assign(withDecorations, requestWithDefaults);\n}\n","import ENDPOINTS from \"./generated/endpoints\";\nimport { VERSION } from \"./version\";\nimport { endpointsToMethods } from \"./endpoints-to-methods\";\nexport function restEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit, ENDPOINTS);\n return {\n ...api,\n rest: api,\n };\n}\nrestEndpointMethods.VERSION = VERSION;\n"],"names":["ENDPOINTS"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/package.json b/node_modules/@octokit/plugin-rest-endpoint-methods/package.json index a6319b0..ce60af4 100644 --- a/node_modules/@octokit/plugin-rest-endpoint-methods/package.json +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/package.json @@ -1,7 +1,7 @@ { "name": "@octokit/plugin-rest-endpoint-methods", "description": "Octokit plugin adding one method for all of api.github.com REST API endpoints", - "version": "4.10.1", + "version": "4.15.1", "license": "MIT", "files": [ "dist-*/", @@ -15,9 +15,9 @@ "sdk", "toolkit" ], - "repository": "https://github.com/octokit/plugin-rest-endpoint-methods.js", + "repository": "github:octokit/plugin-rest-endpoint-methods.js", "dependencies": { - "@octokit/types": "^6.8.2", + "@octokit/types": "^6.13.0", "deprecation": "^2.3.1" }, "peerDependencies": { diff --git a/node_modules/@octokit/request-error/README.md b/node_modules/@octokit/request-error/README.md index c939cda..1bf5384 100644 --- a/node_modules/@octokit/request-error/README.md +++ b/node_modules/@octokit/request-error/README.md @@ -55,11 +55,11 @@ const error = new RequestError("Oops", 500, { error.message; // Oops error.status; // 500 -error.headers; // { 'x-github-request-id': '1:2:3:4' } error.request.method; // POST error.request.url; // https://api.github.com/foo error.request.body; // { bar: 'baz' } error.request.headers; // { authorization: 'token [REDACTED]' } +error.response; // { url, status, headers, data } ``` ## LICENSE diff --git a/node_modules/@octokit/request-error/dist-node/index.js b/node_modules/@octokit/request-error/dist-node/index.js index 95b9c57..619f462 100644 --- a/node_modules/@octokit/request-error/dist-node/index.js +++ b/node_modules/@octokit/request-error/dist-node/index.js @@ -7,7 +7,8 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau var deprecation = require('deprecation'); var once = _interopDefault(require('once')); -const logOnce = once(deprecation => console.warn(deprecation)); +const logOnceCode = once(deprecation => console.warn(deprecation)); +const logOnceHeaders = once(deprecation => console.warn(deprecation)); /** * Error with extra properties to help with debugging */ @@ -24,14 +25,17 @@ class RequestError extends Error { this.name = "HttpError"; this.status = statusCode; - Object.defineProperty(this, "code", { - get() { - logOnce(new deprecation.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`.")); - return statusCode; - } + let headers; + + if ("headers" in options && typeof options.headers !== "undefined") { + headers = options.headers; + } + + if ("response" in options) { + this.response = options.response; + headers = options.response.headers; + } // redact request credentials without mutating original request options - }); - this.headers = options.headers || {}; // redact request credentials without mutating original request options const requestCopy = Object.assign({}, options.request); @@ -46,7 +50,22 @@ class RequestError extends Error { .replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]") // OAuth tokens can be passed as URL query parameters, although it is not recommended // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header .replace(/\baccess_token=\w+/g, "access_token=[REDACTED]"); - this.request = requestCopy; + this.request = requestCopy; // deprecations + + Object.defineProperty(this, "code", { + get() { + logOnceCode(new deprecation.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`.")); + return statusCode; + } + + }); + Object.defineProperty(this, "headers", { + get() { + logOnceHeaders(new deprecation.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.")); + return headers || {}; + } + + }); } } diff --git a/node_modules/@octokit/request-error/dist-node/index.js.map b/node_modules/@octokit/request-error/dist-node/index.js.map index f5d527e..9134ddb 100644 --- a/node_modules/@octokit/request-error/dist-node/index.js.map +++ b/node_modules/@octokit/request-error/dist-node/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sources":["../dist-src/index.js"],"sourcesContent":["import { Deprecation } from \"deprecation\";\nimport once from \"once\";\nconst logOnce = once((deprecation) => console.warn(deprecation));\n/**\n * Error with extra properties to help with debugging\n */\nexport class RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message);\n // Maintains proper stack trace (only available on V8)\n /* istanbul ignore next */\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n this.name = \"HttpError\";\n this.status = statusCode;\n Object.defineProperty(this, \"code\", {\n get() {\n logOnce(new Deprecation(\"[@octokit/request-error] `error.code` is deprecated, use `error.status`.\"));\n return statusCode;\n },\n });\n this.headers = options.headers || {};\n // redact request credentials without mutating original request options\n const requestCopy = Object.assign({}, options.request);\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(/ .*$/, \" [REDACTED]\"),\n });\n }\n requestCopy.url = requestCopy.url\n // client_id & client_secret can be passed as URL query parameters to increase rate limit\n // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications\n .replace(/\\bclient_secret=\\w+/g, \"client_secret=[REDACTED]\")\n // OAuth tokens can be passed as URL query parameters, although it is not recommended\n // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header\n .replace(/\\baccess_token=\\w+/g, \"access_token=[REDACTED]\");\n this.request = requestCopy;\n }\n}\n"],"names":["logOnce","once","deprecation","console","warn","RequestError","Error","constructor","message","statusCode","options","captureStackTrace","name","status","Object","defineProperty","get","Deprecation","headers","requestCopy","assign","request","authorization","replace","url"],"mappings":";;;;;;;;;AAEA,MAAMA,OAAO,GAAGC,IAAI,CAAEC,WAAD,IAAiBC,OAAO,CAACC,IAAR,CAAaF,WAAb,CAAlB,CAApB;AACA;AACA;AACA;;AACO,MAAMG,YAAN,SAA2BC,KAA3B,CAAiC;AACpCC,EAAAA,WAAW,CAACC,OAAD,EAAUC,UAAV,EAAsBC,OAAtB,EAA+B;AACtC,UAAMF,OAAN,EADsC;;AAGtC;;AACA,QAAIF,KAAK,CAACK,iBAAV,EAA6B;AACzBL,MAAAA,KAAK,CAACK,iBAAN,CAAwB,IAAxB,EAA8B,KAAKJ,WAAnC;AACH;;AACD,SAAKK,IAAL,GAAY,WAAZ;AACA,SAAKC,MAAL,GAAcJ,UAAd;AACAK,IAAAA,MAAM,CAACC,cAAP,CAAsB,IAAtB,EAA4B,MAA5B,EAAoC;AAChCC,MAAAA,GAAG,GAAG;AACFhB,QAAAA,OAAO,CAAC,IAAIiB,uBAAJ,CAAgB,0EAAhB,CAAD,CAAP;AACA,eAAOR,UAAP;AACH;;AAJ+B,KAApC;AAMA,SAAKS,OAAL,GAAeR,OAAO,CAACQ,OAAR,IAAmB,EAAlC,CAfsC;;AAiBtC,UAAMC,WAAW,GAAGL,MAAM,CAACM,MAAP,CAAc,EAAd,EAAkBV,OAAO,CAACW,OAA1B,CAApB;;AACA,QAAIX,OAAO,CAACW,OAAR,CAAgBH,OAAhB,CAAwBI,aAA5B,EAA2C;AACvCH,MAAAA,WAAW,CAACD,OAAZ,GAAsBJ,MAAM,CAACM,MAAP,CAAc,EAAd,EAAkBV,OAAO,CAACW,OAAR,CAAgBH,OAAlC,EAA2C;AAC7DI,QAAAA,aAAa,EAAEZ,OAAO,CAACW,OAAR,CAAgBH,OAAhB,CAAwBI,aAAxB,CAAsCC,OAAtC,CAA8C,MAA9C,EAAsD,aAAtD;AAD8C,OAA3C,CAAtB;AAGH;;AACDJ,IAAAA,WAAW,CAACK,GAAZ,GAAkBL,WAAW,CAACK,GAAZ;AAEd;AAFc,KAGbD,OAHa,CAGL,sBAHK,EAGmB,0BAHnB;AAKd;AALc,KAMbA,OANa,CAML,qBANK,EAMkB,yBANlB,CAAlB;AAOA,SAAKF,OAAL,GAAeF,WAAf;AACH;;AAhCmC;;;;"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../dist-src/index.js"],"sourcesContent":["import { Deprecation } from \"deprecation\";\nimport once from \"once\";\nconst logOnceCode = once((deprecation) => console.warn(deprecation));\nconst logOnceHeaders = once((deprecation) => console.warn(deprecation));\n/**\n * Error with extra properties to help with debugging\n */\nexport class RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message);\n // Maintains proper stack trace (only available on V8)\n /* istanbul ignore next */\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n this.name = \"HttpError\";\n this.status = statusCode;\n let headers;\n if (\"headers\" in options && typeof options.headers !== \"undefined\") {\n headers = options.headers;\n }\n if (\"response\" in options) {\n this.response = options.response;\n headers = options.response.headers;\n }\n // redact request credentials without mutating original request options\n const requestCopy = Object.assign({}, options.request);\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(/ .*$/, \" [REDACTED]\"),\n });\n }\n requestCopy.url = requestCopy.url\n // client_id & client_secret can be passed as URL query parameters to increase rate limit\n // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications\n .replace(/\\bclient_secret=\\w+/g, \"client_secret=[REDACTED]\")\n // OAuth tokens can be passed as URL query parameters, although it is not recommended\n // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header\n .replace(/\\baccess_token=\\w+/g, \"access_token=[REDACTED]\");\n this.request = requestCopy;\n // deprecations\n Object.defineProperty(this, \"code\", {\n get() {\n logOnceCode(new Deprecation(\"[@octokit/request-error] `error.code` is deprecated, use `error.status`.\"));\n return statusCode;\n },\n });\n Object.defineProperty(this, \"headers\", {\n get() {\n logOnceHeaders(new Deprecation(\"[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.\"));\n return headers || {};\n },\n });\n }\n}\n"],"names":["logOnceCode","once","deprecation","console","warn","logOnceHeaders","RequestError","Error","constructor","message","statusCode","options","captureStackTrace","name","status","headers","response","requestCopy","Object","assign","request","authorization","replace","url","defineProperty","get","Deprecation"],"mappings":";;;;;;;;;AAEA,MAAMA,WAAW,GAAGC,IAAI,CAAEC,WAAD,IAAiBC,OAAO,CAACC,IAAR,CAAaF,WAAb,CAAlB,CAAxB;AACA,MAAMG,cAAc,GAAGJ,IAAI,CAAEC,WAAD,IAAiBC,OAAO,CAACC,IAAR,CAAaF,WAAb,CAAlB,CAA3B;AACA;AACA;AACA;;AACO,MAAMI,YAAN,SAA2BC,KAA3B,CAAiC;AACpCC,EAAAA,WAAW,CAACC,OAAD,EAAUC,UAAV,EAAsBC,OAAtB,EAA+B;AACtC,UAAMF,OAAN,EADsC;;AAGtC;;AACA,QAAIF,KAAK,CAACK,iBAAV,EAA6B;AACzBL,MAAAA,KAAK,CAACK,iBAAN,CAAwB,IAAxB,EAA8B,KAAKJ,WAAnC;AACH;;AACD,SAAKK,IAAL,GAAY,WAAZ;AACA,SAAKC,MAAL,GAAcJ,UAAd;AACA,QAAIK,OAAJ;;AACA,QAAI,aAAaJ,OAAb,IAAwB,OAAOA,OAAO,CAACI,OAAf,KAA2B,WAAvD,EAAoE;AAChEA,MAAAA,OAAO,GAAGJ,OAAO,CAACI,OAAlB;AACH;;AACD,QAAI,cAAcJ,OAAlB,EAA2B;AACvB,WAAKK,QAAL,GAAgBL,OAAO,CAACK,QAAxB;AACAD,MAAAA,OAAO,GAAGJ,OAAO,CAACK,QAAR,CAAiBD,OAA3B;AACH,KAhBqC;;;AAkBtC,UAAME,WAAW,GAAGC,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBR,OAAO,CAACS,OAA1B,CAApB;;AACA,QAAIT,OAAO,CAACS,OAAR,CAAgBL,OAAhB,CAAwBM,aAA5B,EAA2C;AACvCJ,MAAAA,WAAW,CAACF,OAAZ,GAAsBG,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBR,OAAO,CAACS,OAAR,CAAgBL,OAAlC,EAA2C;AAC7DM,QAAAA,aAAa,EAAEV,OAAO,CAACS,OAAR,CAAgBL,OAAhB,CAAwBM,aAAxB,CAAsCC,OAAtC,CAA8C,MAA9C,EAAsD,aAAtD;AAD8C,OAA3C,CAAtB;AAGH;;AACDL,IAAAA,WAAW,CAACM,GAAZ,GAAkBN,WAAW,CAACM,GAAZ;AAEd;AAFc,KAGbD,OAHa,CAGL,sBAHK,EAGmB,0BAHnB;AAKd;AALc,KAMbA,OANa,CAML,qBANK,EAMkB,yBANlB,CAAlB;AAOA,SAAKF,OAAL,GAAeH,WAAf,CA/BsC;;AAiCtCC,IAAAA,MAAM,CAACM,cAAP,CAAsB,IAAtB,EAA4B,MAA5B,EAAoC;AAChCC,MAAAA,GAAG,GAAG;AACFzB,QAAAA,WAAW,CAAC,IAAI0B,uBAAJ,CAAgB,0EAAhB,CAAD,CAAX;AACA,eAAOhB,UAAP;AACH;;AAJ+B,KAApC;AAMAQ,IAAAA,MAAM,CAACM,cAAP,CAAsB,IAAtB,EAA4B,SAA5B,EAAuC;AACnCC,MAAAA,GAAG,GAAG;AACFpB,QAAAA,cAAc,CAAC,IAAIqB,uBAAJ,CAAgB,uFAAhB,CAAD,CAAd;AACA,eAAOX,OAAO,IAAI,EAAlB;AACH;;AAJkC,KAAvC;AAMH;;AA9CmC;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/request-error/dist-src/index.js b/node_modules/@octokit/request-error/dist-src/index.js index c880b45..5eb1927 100644 --- a/node_modules/@octokit/request-error/dist-src/index.js +++ b/node_modules/@octokit/request-error/dist-src/index.js @@ -1,6 +1,7 @@ import { Deprecation } from "deprecation"; import once from "once"; -const logOnce = once((deprecation) => console.warn(deprecation)); +const logOnceCode = once((deprecation) => console.warn(deprecation)); +const logOnceHeaders = once((deprecation) => console.warn(deprecation)); /** * Error with extra properties to help with debugging */ @@ -14,13 +15,14 @@ export class RequestError extends Error { } this.name = "HttpError"; this.status = statusCode; - Object.defineProperty(this, "code", { - get() { - logOnce(new Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`.")); - return statusCode; - }, - }); - this.headers = options.headers || {}; + let headers; + if ("headers" in options && typeof options.headers !== "undefined") { + headers = options.headers; + } + if ("response" in options) { + this.response = options.response; + headers = options.response.headers; + } // redact request credentials without mutating original request options const requestCopy = Object.assign({}, options.request); if (options.request.headers.authorization) { @@ -36,5 +38,18 @@ export class RequestError extends Error { // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header .replace(/\baccess_token=\w+/g, "access_token=[REDACTED]"); this.request = requestCopy; + // deprecations + Object.defineProperty(this, "code", { + get() { + logOnceCode(new Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`.")); + return statusCode; + }, + }); + Object.defineProperty(this, "headers", { + get() { + logOnceHeaders(new Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.")); + return headers || {}; + }, + }); } } diff --git a/node_modules/@octokit/request-error/dist-types/index.d.ts b/node_modules/@octokit/request-error/dist-types/index.d.ts index baa8a0e..d6e089c 100644 --- a/node_modules/@octokit/request-error/dist-types/index.d.ts +++ b/node_modules/@octokit/request-error/dist-types/index.d.ts @@ -1,4 +1,4 @@ -import { RequestOptions, ResponseHeaders } from "@octokit/types"; +import { RequestOptions, ResponseHeaders, OctokitResponse } from "@octokit/types"; import { RequestErrorOptions } from "./types"; /** * Error with extra properties to help with debugging @@ -15,13 +15,19 @@ export declare class RequestError extends Error { * @deprecated `error.code` is deprecated in favor of `error.status` */ code: number; + /** + * Request options that lead to the error. + */ + request: RequestOptions; /** * error response headers + * + * @deprecated `error.headers` is deprecated in favor of `error.response.headers` */ headers: ResponseHeaders; /** - * Request options that lead to the error. + * Response object if a response was received */ - request: RequestOptions; + response?: OctokitResponse; constructor(message: string, statusCode: number, options: RequestErrorOptions); } diff --git a/node_modules/@octokit/request-error/dist-types/types.d.ts b/node_modules/@octokit/request-error/dist-types/types.d.ts index 865d213..7785231 100644 --- a/node_modules/@octokit/request-error/dist-types/types.d.ts +++ b/node_modules/@octokit/request-error/dist-types/types.d.ts @@ -1,5 +1,9 @@ -import { RequestOptions, ResponseHeaders } from "@octokit/types"; +import { RequestOptions, ResponseHeaders, OctokitResponse } from "@octokit/types"; export declare type RequestErrorOptions = { + /** @deprecated set `response` instead */ headers?: ResponseHeaders; request: RequestOptions; +} | { + response: OctokitResponse; + request: RequestOptions; }; diff --git a/node_modules/@octokit/request-error/dist-web/index.js b/node_modules/@octokit/request-error/dist-web/index.js index feec58e..0fb64be 100644 --- a/node_modules/@octokit/request-error/dist-web/index.js +++ b/node_modules/@octokit/request-error/dist-web/index.js @@ -1,7 +1,8 @@ import { Deprecation } from 'deprecation'; import once from 'once'; -const logOnce = once((deprecation) => console.warn(deprecation)); +const logOnceCode = once((deprecation) => console.warn(deprecation)); +const logOnceHeaders = once((deprecation) => console.warn(deprecation)); /** * Error with extra properties to help with debugging */ @@ -15,13 +16,14 @@ class RequestError extends Error { } this.name = "HttpError"; this.status = statusCode; - Object.defineProperty(this, "code", { - get() { - logOnce(new Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`.")); - return statusCode; - }, - }); - this.headers = options.headers || {}; + let headers; + if ("headers" in options && typeof options.headers !== "undefined") { + headers = options.headers; + } + if ("response" in options) { + this.response = options.response; + headers = options.response.headers; + } // redact request credentials without mutating original request options const requestCopy = Object.assign({}, options.request); if (options.request.headers.authorization) { @@ -37,6 +39,19 @@ class RequestError extends Error { // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header .replace(/\baccess_token=\w+/g, "access_token=[REDACTED]"); this.request = requestCopy; + // deprecations + Object.defineProperty(this, "code", { + get() { + logOnceCode(new Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`.")); + return statusCode; + }, + }); + Object.defineProperty(this, "headers", { + get() { + logOnceHeaders(new Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.")); + return headers || {}; + }, + }); } } diff --git a/node_modules/@octokit/request-error/dist-web/index.js.map b/node_modules/@octokit/request-error/dist-web/index.js.map index 130740d..78f677f 100644 --- a/node_modules/@octokit/request-error/dist-web/index.js.map +++ b/node_modules/@octokit/request-error/dist-web/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sources":["../dist-src/index.js"],"sourcesContent":["import { Deprecation } from \"deprecation\";\nimport once from \"once\";\nconst logOnce = once((deprecation) => console.warn(deprecation));\n/**\n * Error with extra properties to help with debugging\n */\nexport class RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message);\n // Maintains proper stack trace (only available on V8)\n /* istanbul ignore next */\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n this.name = \"HttpError\";\n this.status = statusCode;\n Object.defineProperty(this, \"code\", {\n get() {\n logOnce(new Deprecation(\"[@octokit/request-error] `error.code` is deprecated, use `error.status`.\"));\n return statusCode;\n },\n });\n this.headers = options.headers || {};\n // redact request credentials without mutating original request options\n const requestCopy = Object.assign({}, options.request);\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(/ .*$/, \" [REDACTED]\"),\n });\n }\n requestCopy.url = requestCopy.url\n // client_id & client_secret can be passed as URL query parameters to increase rate limit\n // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications\n .replace(/\\bclient_secret=\\w+/g, \"client_secret=[REDACTED]\")\n // OAuth tokens can be passed as URL query parameters, although it is not recommended\n // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header\n .replace(/\\baccess_token=\\w+/g, \"access_token=[REDACTED]\");\n this.request = requestCopy;\n }\n}\n"],"names":[],"mappings":";;;AAEA,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AACjE;AACA;AACA;AACO,MAAM,YAAY,SAAS,KAAK,CAAC;AACxC,IAAI,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE;AAC9C,QAAQ,KAAK,CAAC,OAAO,CAAC,CAAC;AACvB;AACA;AACA,QAAQ,IAAI,KAAK,CAAC,iBAAiB,EAAE;AACrC,YAAY,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AAC5D,SAAS;AACT,QAAQ,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;AAChC,QAAQ,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;AACjC,QAAQ,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE;AAC5C,YAAY,GAAG,GAAG;AAClB,gBAAgB,OAAO,CAAC,IAAI,WAAW,CAAC,0EAA0E,CAAC,CAAC,CAAC;AACrH,gBAAgB,OAAO,UAAU,CAAC;AAClC,aAAa;AACb,SAAS,CAAC,CAAC;AACX,QAAQ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;AAC7C;AACA,QAAQ,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;AAC/D,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE;AACnD,YAAY,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE;AAC7E,gBAAgB,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC;AACnG,aAAa,CAAC,CAAC;AACf,SAAS;AACT,QAAQ,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,GAAG;AACzC;AACA;AACA,aAAa,OAAO,CAAC,sBAAsB,EAAE,0BAA0B,CAAC;AACxE;AACA;AACA,aAAa,OAAO,CAAC,qBAAqB,EAAE,yBAAyB,CAAC,CAAC;AACvE,QAAQ,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC;AACnC,KAAK;AACL;;;;"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../dist-src/index.js"],"sourcesContent":["import { Deprecation } from \"deprecation\";\nimport once from \"once\";\nconst logOnceCode = once((deprecation) => console.warn(deprecation));\nconst logOnceHeaders = once((deprecation) => console.warn(deprecation));\n/**\n * Error with extra properties to help with debugging\n */\nexport class RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message);\n // Maintains proper stack trace (only available on V8)\n /* istanbul ignore next */\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n this.name = \"HttpError\";\n this.status = statusCode;\n let headers;\n if (\"headers\" in options && typeof options.headers !== \"undefined\") {\n headers = options.headers;\n }\n if (\"response\" in options) {\n this.response = options.response;\n headers = options.response.headers;\n }\n // redact request credentials without mutating original request options\n const requestCopy = Object.assign({}, options.request);\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(/ .*$/, \" [REDACTED]\"),\n });\n }\n requestCopy.url = requestCopy.url\n // client_id & client_secret can be passed as URL query parameters to increase rate limit\n // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications\n .replace(/\\bclient_secret=\\w+/g, \"client_secret=[REDACTED]\")\n // OAuth tokens can be passed as URL query parameters, although it is not recommended\n // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header\n .replace(/\\baccess_token=\\w+/g, \"access_token=[REDACTED]\");\n this.request = requestCopy;\n // deprecations\n Object.defineProperty(this, \"code\", {\n get() {\n logOnceCode(new Deprecation(\"[@octokit/request-error] `error.code` is deprecated, use `error.status`.\"));\n return statusCode;\n },\n });\n Object.defineProperty(this, \"headers\", {\n get() {\n logOnceHeaders(new Deprecation(\"[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.\"));\n return headers || {};\n },\n });\n }\n}\n"],"names":[],"mappings":";;;AAEA,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AACrE,MAAM,cAAc,GAAG,IAAI,CAAC,CAAC,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AACxE;AACA;AACA;AACO,MAAM,YAAY,SAAS,KAAK,CAAC;AACxC,IAAI,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE;AAC9C,QAAQ,KAAK,CAAC,OAAO,CAAC,CAAC;AACvB;AACA;AACA,QAAQ,IAAI,KAAK,CAAC,iBAAiB,EAAE;AACrC,YAAY,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AAC5D,SAAS;AACT,QAAQ,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;AAChC,QAAQ,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;AACjC,QAAQ,IAAI,OAAO,CAAC;AACpB,QAAQ,IAAI,SAAS,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,WAAW,EAAE;AAC5E,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;AACtC,SAAS;AACT,QAAQ,IAAI,UAAU,IAAI,OAAO,EAAE;AACnC,YAAY,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;AAC7C,YAAY,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;AAC/C,SAAS;AACT;AACA,QAAQ,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;AAC/D,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE;AACnD,YAAY,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE;AAC7E,gBAAgB,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC;AACnG,aAAa,CAAC,CAAC;AACf,SAAS;AACT,QAAQ,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,GAAG;AACzC;AACA;AACA,aAAa,OAAO,CAAC,sBAAsB,EAAE,0BAA0B,CAAC;AACxE;AACA;AACA,aAAa,OAAO,CAAC,qBAAqB,EAAE,yBAAyB,CAAC,CAAC;AACvE,QAAQ,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC;AACnC;AACA,QAAQ,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE;AAC5C,YAAY,GAAG,GAAG;AAClB,gBAAgB,WAAW,CAAC,IAAI,WAAW,CAAC,0EAA0E,CAAC,CAAC,CAAC;AACzH,gBAAgB,OAAO,UAAU,CAAC;AAClC,aAAa;AACb,SAAS,CAAC,CAAC;AACX,QAAQ,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE;AAC/C,YAAY,GAAG,GAAG;AAClB,gBAAgB,cAAc,CAAC,IAAI,WAAW,CAAC,uFAAuF,CAAC,CAAC,CAAC;AACzI,gBAAgB,OAAO,OAAO,IAAI,EAAE,CAAC;AACrC,aAAa;AACb,SAAS,CAAC,CAAC;AACX,KAAK;AACL;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/request-error/package.json b/node_modules/@octokit/request-error/package.json index 4c41600..2f5b239 100644 --- a/node_modules/@octokit/request-error/package.json +++ b/node_modules/@octokit/request-error/package.json @@ -1,7 +1,7 @@ { "name": "@octokit/request-error", "description": "Error class for Octokit request errors", - "version": "2.0.5", + "version": "2.1.0", "license": "MIT", "files": [ "dist-*/", @@ -15,14 +15,7 @@ "api", "error" ], - "homepage": "https://github.com/octokit/request-error.js#readme", - "bugs": { - "url": "https://github.com/octokit/request-error.js/issues" - }, - "repository": { - "type": "git", - "url": "https://github.com/octokit/request-error.js.git" - }, + "repository": "github:octokit/request-error.js", "dependencies": { "@octokit/types": "^6.0.3", "deprecation": "^2.0.0", @@ -37,11 +30,11 @@ "@types/jest": "^26.0.0", "@types/node": "^14.0.4", "@types/once": "^1.4.0", - "jest": "^26.0.0", + "jest": "^27.0.0", "pika-plugin-unpkg-field": "^1.1.0", - "prettier": "^2.0.1", + "prettier": "2.3.1", "semantic-release": "^17.0.0", - "ts-jest": "^26.0.0", + "ts-jest": "^27.0.0-next.12", "typescript": "^4.0.0" }, "publishConfig": { diff --git a/node_modules/@octokit/request/README.md b/node_modules/@octokit/request/README.md index 514eb6e..747a670 100644 --- a/node_modules/@octokit/request/README.md +++ b/node_modules/@octokit/request/README.md @@ -218,7 +218,7 @@ const { data: app } = await requestWithAuth( String - If route is set it has to be a string consisting of the request method and URL, e.g. GET /orgs/{org} + **Required**. If route is set it has to be a string consisting of the request method and URL, e.g. GET /orgs/{org} @@ -229,7 +229,7 @@ const { data: app } = await requestWithAuth( String - Required. Any supported http verb, case insensitive. Defaults to https://api.github.com. + The base URL that route or url will be prefixed with, if they use relative paths. Defaults to https://api.github.com. @@ -274,7 +274,7 @@ const { data: app } = await requestWithAuth( String - Required. Any supported http verb, case insensitive. Defaults to Get. + Any supported http verb, case insensitive. Defaults to Get. @@ -285,7 +285,7 @@ const { data: app } = await requestWithAuth( String - Required. A path or full URL which may contain :variable or {variable} placeholders, + **Required**. A path or full URL which may contain :variable or {variable} placeholders, e.g. /orgs/{org}/repos. The url is parsed using url-template. @@ -343,6 +343,16 @@ const { data: app } = await requestWithAuth( Use an AbortController instance to cancel a request. In node you can only cancel streamed requests. + + + options.request.log + + + object + + + Used for internal logging. Defaults to console. + @@ -406,8 +416,8 @@ All other options except `options.request.*` will be passed depending on the `me If an error occurs, the `error` instance has additional properties to help with debugging - `error.status` The http response status code -- `error.headers` The http response headers as an object - `error.request` The request options such as `method`, `url` and `data` +- `error.response` The http response object with `url`, `headers`, and `data` ## `request.defaults()` diff --git a/node_modules/@octokit/request/dist-node/index.js b/node_modules/@octokit/request/dist-node/index.js index d3caaae..685e2f5 100644 --- a/node_modules/@octokit/request/dist-node/index.js +++ b/node_modules/@octokit/request/dist-node/index.js @@ -10,13 +10,15 @@ var isPlainObject = require('is-plain-object'); var nodeFetch = _interopDefault(require('node-fetch')); var requestError = require('@octokit/request-error'); -const VERSION = "5.4.14"; +const VERSION = "5.6.3"; function getBufferResponse(response) { return response.arrayBuffer(); } function fetchWrapper(requestOptions) { + const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console; + if (isPlainObject.isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { requestOptions.body = JSON.stringify(requestOptions.body); } @@ -30,7 +32,9 @@ function fetchWrapper(requestOptions) { body: requestOptions.body, headers: requestOptions.headers, redirect: requestOptions.redirect - }, requestOptions.request)).then(response => { + }, // `requestOptions.request.agent` type is incompatible + // see https://github.com/octokit/types.ts/pull/264 + requestOptions.request)).then(async response => { url = response.url; status = response.status; @@ -38,6 +42,12 @@ function fetchWrapper(requestOptions) { headers[keyAndValue[0]] = keyAndValue[1]; } + if ("deprecation" in headers) { + const matches = headers.link && headers.link.match(/<([^>]+)>; rel="deprecation"/); + const deprecationLink = matches && matches.pop(); + log.warn(`[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`); + } + if (status === 204 || status === 205) { return; } // GitHub API returns 200 for HEAD requests @@ -49,49 +59,43 @@ function fetchWrapper(requestOptions) { } throw new requestError.RequestError(response.statusText, status, { - headers, + response: { + url, + status, + headers, + data: undefined + }, request: requestOptions }); } if (status === 304) { throw new requestError.RequestError("Not modified", status, { - headers, + response: { + url, + status, + headers, + data: await getResponseData(response) + }, request: requestOptions }); } if (status >= 400) { - return response.text().then(message => { - const error = new requestError.RequestError(message, status, { + const data = await getResponseData(response); + const error = new requestError.RequestError(toErrorMessage(data), status, { + response: { + url, + status, headers, - request: requestOptions - }); - - try { - let responseBody = JSON.parse(error.message); - Object.assign(error, responseBody); - let errors = responseBody.errors; // Assumption `errors` would always be in Array format - - error.message = error.message + ": " + errors.map(JSON.stringify).join(", "); - } catch (e) {// ignore, see octokit/rest.js#684 - } - - throw error; + data + }, + request: requestOptions }); + throw error; } - const contentType = response.headers.get("content-type"); - - if (/application\/json/.test(contentType)) { - return response.json(); - } - - if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { - return response.text(); - } - - return getBufferResponse(response); + return getResponseData(response); }).then(data => { return { status, @@ -100,17 +104,42 @@ function fetchWrapper(requestOptions) { data }; }).catch(error => { - if (error instanceof requestError.RequestError) { - throw error; - } - + if (error instanceof requestError.RequestError) throw error; throw new requestError.RequestError(error.message, 500, { - headers, request: requestOptions }); }); } +async function getResponseData(response) { + const contentType = response.headers.get("content-type"); + + if (/application\/json/.test(contentType)) { + return response.json(); + } + + if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { + return response.text(); + } + + return getBufferResponse(response); +} + +function toErrorMessage(data) { + if (typeof data === "string") return data; // istanbul ignore else - just in case + + if ("message" in data) { + if (Array.isArray(data.errors)) { + return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}`; + } + + return data.message; + } // istanbul ignore next - just in case + + + return `Unknown error: ${JSON.stringify(data)}`; +} + function withDefaults(oldEndpoint, newDefaults) { const endpoint = oldEndpoint.defaults(newDefaults); diff --git a/node_modules/@octokit/request/dist-node/index.js.map b/node_modules/@octokit/request/dist-node/index.js.map index c8c21cd..9a51ed1 100644 --- a/node_modules/@octokit/request/dist-node/index.js.map +++ b/node_modules/@octokit/request/dist-node/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/get-buffer-response.js","../dist-src/fetch-wrapper.js","../dist-src/with-defaults.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"5.4.14\";\n","export default function getBufferResponse(response) {\n return response.arrayBuffer();\n}\n","import { isPlainObject } from \"is-plain-object\";\nimport nodeFetch from \"node-fetch\";\nimport { RequestError } from \"@octokit/request-error\";\nimport getBuffer from \"./get-buffer-response\";\nexport default function fetchWrapper(requestOptions) {\n if (isPlainObject(requestOptions.body) ||\n Array.isArray(requestOptions.body)) {\n requestOptions.body = JSON.stringify(requestOptions.body);\n }\n let headers = {};\n let status;\n let url;\n const fetch = (requestOptions.request && requestOptions.request.fetch) || nodeFetch;\n return fetch(requestOptions.url, Object.assign({\n method: requestOptions.method,\n body: requestOptions.body,\n headers: requestOptions.headers,\n redirect: requestOptions.redirect,\n }, requestOptions.request))\n .then((response) => {\n url = response.url;\n status = response.status;\n for (const keyAndValue of response.headers) {\n headers[keyAndValue[0]] = keyAndValue[1];\n }\n if (status === 204 || status === 205) {\n return;\n }\n // GitHub API returns 200 for HEAD requests\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return;\n }\n throw new RequestError(response.statusText, status, {\n headers,\n request: requestOptions,\n });\n }\n if (status === 304) {\n throw new RequestError(\"Not modified\", status, {\n headers,\n request: requestOptions,\n });\n }\n if (status >= 400) {\n return response\n .text()\n .then((message) => {\n const error = new RequestError(message, status, {\n headers,\n request: requestOptions,\n });\n try {\n let responseBody = JSON.parse(error.message);\n Object.assign(error, responseBody);\n let errors = responseBody.errors;\n // Assumption `errors` would always be in Array format\n error.message =\n error.message + \": \" + errors.map(JSON.stringify).join(\", \");\n }\n catch (e) {\n // ignore, see octokit/rest.js#684\n }\n throw error;\n });\n }\n const contentType = response.headers.get(\"content-type\");\n if (/application\\/json/.test(contentType)) {\n return response.json();\n }\n if (!contentType || /^text\\/|charset=utf-8$/.test(contentType)) {\n return response.text();\n }\n return getBuffer(response);\n })\n .then((data) => {\n return {\n status,\n url,\n headers,\n data,\n };\n })\n .catch((error) => {\n if (error instanceof RequestError) {\n throw error;\n }\n throw new RequestError(error.message, 500, {\n headers,\n request: requestOptions,\n });\n });\n}\n","import fetchWrapper from \"./fetch-wrapper\";\nexport default function withDefaults(oldEndpoint, newDefaults) {\n const endpoint = oldEndpoint.defaults(newDefaults);\n const newApi = function (route, parameters) {\n const endpointOptions = endpoint.merge(route, parameters);\n if (!endpointOptions.request || !endpointOptions.request.hook) {\n return fetchWrapper(endpoint.parse(endpointOptions));\n }\n const request = (route, parameters) => {\n return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters)));\n };\n Object.assign(request, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint),\n });\n return endpointOptions.request.hook(request, endpointOptions);\n };\n return Object.assign(newApi, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint),\n });\n}\n","import { endpoint } from \"@octokit/endpoint\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport withDefaults from \"./with-defaults\";\nexport const request = withDefaults(endpoint, {\n headers: {\n \"user-agent\": `octokit-request.js/${VERSION} ${getUserAgent()}`,\n },\n});\n"],"names":["VERSION","getBufferResponse","response","arrayBuffer","fetchWrapper","requestOptions","isPlainObject","body","Array","isArray","JSON","stringify","headers","status","url","fetch","request","nodeFetch","Object","assign","method","redirect","then","keyAndValue","RequestError","statusText","text","message","error","responseBody","parse","errors","map","join","e","contentType","get","test","json","getBuffer","data","catch","withDefaults","oldEndpoint","newDefaults","endpoint","defaults","newApi","route","parameters","endpointOptions","merge","hook","bind","getUserAgent"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/get-buffer-response.js","../dist-src/fetch-wrapper.js","../dist-src/with-defaults.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"5.6.3\";\n","export default function getBufferResponse(response) {\n return response.arrayBuffer();\n}\n","import { isPlainObject } from \"is-plain-object\";\nimport nodeFetch from \"node-fetch\";\nimport { RequestError } from \"@octokit/request-error\";\nimport getBuffer from \"./get-buffer-response\";\nexport default function fetchWrapper(requestOptions) {\n const log = requestOptions.request && requestOptions.request.log\n ? requestOptions.request.log\n : console;\n if (isPlainObject(requestOptions.body) ||\n Array.isArray(requestOptions.body)) {\n requestOptions.body = JSON.stringify(requestOptions.body);\n }\n let headers = {};\n let status;\n let url;\n const fetch = (requestOptions.request && requestOptions.request.fetch) || nodeFetch;\n return fetch(requestOptions.url, Object.assign({\n method: requestOptions.method,\n body: requestOptions.body,\n headers: requestOptions.headers,\n redirect: requestOptions.redirect,\n }, \n // `requestOptions.request.agent` type is incompatible\n // see https://github.com/octokit/types.ts/pull/264\n requestOptions.request))\n .then(async (response) => {\n url = response.url;\n status = response.status;\n for (const keyAndValue of response.headers) {\n headers[keyAndValue[0]] = keyAndValue[1];\n }\n if (\"deprecation\" in headers) {\n const matches = headers.link && headers.link.match(/<([^>]+)>; rel=\"deprecation\"/);\n const deprecationLink = matches && matches.pop();\n log.warn(`[@octokit/request] \"${requestOptions.method} ${requestOptions.url}\" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`);\n }\n if (status === 204 || status === 205) {\n return;\n }\n // GitHub API returns 200 for HEAD requests\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return;\n }\n throw new RequestError(response.statusText, status, {\n response: {\n url,\n status,\n headers,\n data: undefined,\n },\n request: requestOptions,\n });\n }\n if (status === 304) {\n throw new RequestError(\"Not modified\", status, {\n response: {\n url,\n status,\n headers,\n data: await getResponseData(response),\n },\n request: requestOptions,\n });\n }\n if (status >= 400) {\n const data = await getResponseData(response);\n const error = new RequestError(toErrorMessage(data), status, {\n response: {\n url,\n status,\n headers,\n data,\n },\n request: requestOptions,\n });\n throw error;\n }\n return getResponseData(response);\n })\n .then((data) => {\n return {\n status,\n url,\n headers,\n data,\n };\n })\n .catch((error) => {\n if (error instanceof RequestError)\n throw error;\n throw new RequestError(error.message, 500, {\n request: requestOptions,\n });\n });\n}\nasync function getResponseData(response) {\n const contentType = response.headers.get(\"content-type\");\n if (/application\\/json/.test(contentType)) {\n return response.json();\n }\n if (!contentType || /^text\\/|charset=utf-8$/.test(contentType)) {\n return response.text();\n }\n return getBuffer(response);\n}\nfunction toErrorMessage(data) {\n if (typeof data === \"string\")\n return data;\n // istanbul ignore else - just in case\n if (\"message\" in data) {\n if (Array.isArray(data.errors)) {\n return `${data.message}: ${data.errors.map(JSON.stringify).join(\", \")}`;\n }\n return data.message;\n }\n // istanbul ignore next - just in case\n return `Unknown error: ${JSON.stringify(data)}`;\n}\n","import fetchWrapper from \"./fetch-wrapper\";\nexport default function withDefaults(oldEndpoint, newDefaults) {\n const endpoint = oldEndpoint.defaults(newDefaults);\n const newApi = function (route, parameters) {\n const endpointOptions = endpoint.merge(route, parameters);\n if (!endpointOptions.request || !endpointOptions.request.hook) {\n return fetchWrapper(endpoint.parse(endpointOptions));\n }\n const request = (route, parameters) => {\n return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters)));\n };\n Object.assign(request, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint),\n });\n return endpointOptions.request.hook(request, endpointOptions);\n };\n return Object.assign(newApi, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint),\n });\n}\n","import { endpoint } from \"@octokit/endpoint\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport withDefaults from \"./with-defaults\";\nexport const request = withDefaults(endpoint, {\n headers: {\n \"user-agent\": `octokit-request.js/${VERSION} ${getUserAgent()}`,\n },\n});\n"],"names":["VERSION","getBufferResponse","response","arrayBuffer","fetchWrapper","requestOptions","log","request","console","isPlainObject","body","Array","isArray","JSON","stringify","headers","status","url","fetch","nodeFetch","Object","assign","method","redirect","then","keyAndValue","matches","link","match","deprecationLink","pop","warn","sunset","RequestError","statusText","data","undefined","getResponseData","error","toErrorMessage","catch","message","contentType","get","test","json","text","getBuffer","errors","map","join","withDefaults","oldEndpoint","newDefaults","endpoint","defaults","newApi","route","parameters","endpointOptions","merge","hook","parse","bind","getUserAgent"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@octokit/request/dist-src/fetch-wrapper.js b/node_modules/@octokit/request/dist-src/fetch-wrapper.js index e4ae1b0..79653c4 100644 --- a/node_modules/@octokit/request/dist-src/fetch-wrapper.js +++ b/node_modules/@octokit/request/dist-src/fetch-wrapper.js @@ -3,6 +3,9 @@ import nodeFetch from "node-fetch"; import { RequestError } from "@octokit/request-error"; import getBuffer from "./get-buffer-response"; export default function fetchWrapper(requestOptions) { + const log = requestOptions.request && requestOptions.request.log + ? requestOptions.request.log + : console; if (isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { requestOptions.body = JSON.stringify(requestOptions.body); @@ -16,13 +19,21 @@ export default function fetchWrapper(requestOptions) { body: requestOptions.body, headers: requestOptions.headers, redirect: requestOptions.redirect, - }, requestOptions.request)) - .then((response) => { + }, + // `requestOptions.request.agent` type is incompatible + // see https://github.com/octokit/types.ts/pull/264 + requestOptions.request)) + .then(async (response) => { url = response.url; status = response.status; for (const keyAndValue of response.headers) { headers[keyAndValue[0]] = keyAndValue[1]; } + if ("deprecation" in headers) { + const matches = headers.link && headers.link.match(/<([^>]+)>; rel="deprecation"/); + const deprecationLink = matches && matches.pop(); + log.warn(`[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`); + } if (status === 204 || status === 205) { return; } @@ -32,46 +43,40 @@ export default function fetchWrapper(requestOptions) { return; } throw new RequestError(response.statusText, status, { - headers, + response: { + url, + status, + headers, + data: undefined, + }, request: requestOptions, }); } if (status === 304) { throw new RequestError("Not modified", status, { - headers, + response: { + url, + status, + headers, + data: await getResponseData(response), + }, request: requestOptions, }); } if (status >= 400) { - return response - .text() - .then((message) => { - const error = new RequestError(message, status, { + const data = await getResponseData(response); + const error = new RequestError(toErrorMessage(data), status, { + response: { + url, + status, headers, - request: requestOptions, - }); - try { - let responseBody = JSON.parse(error.message); - Object.assign(error, responseBody); - let errors = responseBody.errors; - // Assumption `errors` would always be in Array format - error.message = - error.message + ": " + errors.map(JSON.stringify).join(", "); - } - catch (e) { - // ignore, see octokit/rest.js#684 - } - throw error; + data, + }, + request: requestOptions, }); + throw error; } - const contentType = response.headers.get("content-type"); - if (/application\/json/.test(contentType)) { - return response.json(); - } - if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { - return response.text(); - } - return getBuffer(response); + return getResponseData(response); }) .then((data) => { return { @@ -82,12 +87,33 @@ export default function fetchWrapper(requestOptions) { }; }) .catch((error) => { - if (error instanceof RequestError) { + if (error instanceof RequestError) throw error; - } throw new RequestError(error.message, 500, { - headers, request: requestOptions, }); }); } +async function getResponseData(response) { + const contentType = response.headers.get("content-type"); + if (/application\/json/.test(contentType)) { + return response.json(); + } + if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { + return response.text(); + } + return getBuffer(response); +} +function toErrorMessage(data) { + if (typeof data === "string") + return data; + // istanbul ignore else - just in case + if ("message" in data) { + if (Array.isArray(data.errors)) { + return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}`; + } + return data.message; + } + // istanbul ignore next - just in case + return `Unknown error: ${JSON.stringify(data)}`; +} diff --git a/node_modules/@octokit/request/dist-src/version.js b/node_modules/@octokit/request/dist-src/version.js index 8c1c723..a068c68 100644 --- a/node_modules/@octokit/request/dist-src/version.js +++ b/node_modules/@octokit/request/dist-src/version.js @@ -1 +1 @@ -export const VERSION = "5.4.14"; +export const VERSION = "5.6.3"; diff --git a/node_modules/@octokit/request/dist-types/version.d.ts b/node_modules/@octokit/request/dist-types/version.d.ts index f6f6c1b..5629807 100644 --- a/node_modules/@octokit/request/dist-types/version.d.ts +++ b/node_modules/@octokit/request/dist-types/version.d.ts @@ -1 +1 @@ -export declare const VERSION = "5.4.14"; +export declare const VERSION = "5.6.3"; diff --git a/node_modules/@octokit/request/dist-web/index.js b/node_modules/@octokit/request/dist-web/index.js index 6323184..44359f8 100644 --- a/node_modules/@octokit/request/dist-web/index.js +++ b/node_modules/@octokit/request/dist-web/index.js @@ -4,13 +4,16 @@ import { isPlainObject } from 'is-plain-object'; import nodeFetch from 'node-fetch'; import { RequestError } from '@octokit/request-error'; -const VERSION = "5.4.14"; +const VERSION = "5.6.3"; function getBufferResponse(response) { return response.arrayBuffer(); } function fetchWrapper(requestOptions) { + const log = requestOptions.request && requestOptions.request.log + ? requestOptions.request.log + : console; if (isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { requestOptions.body = JSON.stringify(requestOptions.body); @@ -24,13 +27,21 @@ function fetchWrapper(requestOptions) { body: requestOptions.body, headers: requestOptions.headers, redirect: requestOptions.redirect, - }, requestOptions.request)) - .then((response) => { + }, + // `requestOptions.request.agent` type is incompatible + // see https://github.com/octokit/types.ts/pull/264 + requestOptions.request)) + .then(async (response) => { url = response.url; status = response.status; for (const keyAndValue of response.headers) { headers[keyAndValue[0]] = keyAndValue[1]; } + if ("deprecation" in headers) { + const matches = headers.link && headers.link.match(/<([^>]+)>; rel="deprecation"/); + const deprecationLink = matches && matches.pop(); + log.warn(`[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`); + } if (status === 204 || status === 205) { return; } @@ -40,46 +51,40 @@ function fetchWrapper(requestOptions) { return; } throw new RequestError(response.statusText, status, { - headers, + response: { + url, + status, + headers, + data: undefined, + }, request: requestOptions, }); } if (status === 304) { throw new RequestError("Not modified", status, { - headers, + response: { + url, + status, + headers, + data: await getResponseData(response), + }, request: requestOptions, }); } if (status >= 400) { - return response - .text() - .then((message) => { - const error = new RequestError(message, status, { + const data = await getResponseData(response); + const error = new RequestError(toErrorMessage(data), status, { + response: { + url, + status, headers, - request: requestOptions, - }); - try { - let responseBody = JSON.parse(error.message); - Object.assign(error, responseBody); - let errors = responseBody.errors; - // Assumption `errors` would always be in Array format - error.message = - error.message + ": " + errors.map(JSON.stringify).join(", "); - } - catch (e) { - // ignore, see octokit/rest.js#684 - } - throw error; + data, + }, + request: requestOptions, }); + throw error; } - const contentType = response.headers.get("content-type"); - if (/application\/json/.test(contentType)) { - return response.json(); - } - if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { - return response.text(); - } - return getBufferResponse(response); + return getResponseData(response); }) .then((data) => { return { @@ -90,15 +95,36 @@ function fetchWrapper(requestOptions) { }; }) .catch((error) => { - if (error instanceof RequestError) { + if (error instanceof RequestError) throw error; - } throw new RequestError(error.message, 500, { - headers, request: requestOptions, }); }); } +async function getResponseData(response) { + const contentType = response.headers.get("content-type"); + if (/application\/json/.test(contentType)) { + return response.json(); + } + if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { + return response.text(); + } + return getBufferResponse(response); +} +function toErrorMessage(data) { + if (typeof data === "string") + return data; + // istanbul ignore else - just in case + if ("message" in data) { + if (Array.isArray(data.errors)) { + return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}`; + } + return data.message; + } + // istanbul ignore next - just in case + return `Unknown error: ${JSON.stringify(data)}`; +} function withDefaults(oldEndpoint, newDefaults) { const endpoint = oldEndpoint.defaults(newDefaults); diff --git a/node_modules/@octokit/request/dist-web/index.js.map b/node_modules/@octokit/request/dist-web/index.js.map index b25fbfa..b3cda51 100644 --- a/node_modules/@octokit/request/dist-web/index.js.map +++ b/node_modules/@octokit/request/dist-web/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/get-buffer-response.js","../dist-src/fetch-wrapper.js","../dist-src/with-defaults.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"5.4.14\";\n","export default function getBufferResponse(response) {\n return response.arrayBuffer();\n}\n","import { isPlainObject } from \"is-plain-object\";\nimport nodeFetch from \"node-fetch\";\nimport { RequestError } from \"@octokit/request-error\";\nimport getBuffer from \"./get-buffer-response\";\nexport default function fetchWrapper(requestOptions) {\n if (isPlainObject(requestOptions.body) ||\n Array.isArray(requestOptions.body)) {\n requestOptions.body = JSON.stringify(requestOptions.body);\n }\n let headers = {};\n let status;\n let url;\n const fetch = (requestOptions.request && requestOptions.request.fetch) || nodeFetch;\n return fetch(requestOptions.url, Object.assign({\n method: requestOptions.method,\n body: requestOptions.body,\n headers: requestOptions.headers,\n redirect: requestOptions.redirect,\n }, requestOptions.request))\n .then((response) => {\n url = response.url;\n status = response.status;\n for (const keyAndValue of response.headers) {\n headers[keyAndValue[0]] = keyAndValue[1];\n }\n if (status === 204 || status === 205) {\n return;\n }\n // GitHub API returns 200 for HEAD requests\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return;\n }\n throw new RequestError(response.statusText, status, {\n headers,\n request: requestOptions,\n });\n }\n if (status === 304) {\n throw new RequestError(\"Not modified\", status, {\n headers,\n request: requestOptions,\n });\n }\n if (status >= 400) {\n return response\n .text()\n .then((message) => {\n const error = new RequestError(message, status, {\n headers,\n request: requestOptions,\n });\n try {\n let responseBody = JSON.parse(error.message);\n Object.assign(error, responseBody);\n let errors = responseBody.errors;\n // Assumption `errors` would always be in Array format\n error.message =\n error.message + \": \" + errors.map(JSON.stringify).join(\", \");\n }\n catch (e) {\n // ignore, see octokit/rest.js#684\n }\n throw error;\n });\n }\n const contentType = response.headers.get(\"content-type\");\n if (/application\\/json/.test(contentType)) {\n return response.json();\n }\n if (!contentType || /^text\\/|charset=utf-8$/.test(contentType)) {\n return response.text();\n }\n return getBuffer(response);\n })\n .then((data) => {\n return {\n status,\n url,\n headers,\n data,\n };\n })\n .catch((error) => {\n if (error instanceof RequestError) {\n throw error;\n }\n throw new RequestError(error.message, 500, {\n headers,\n request: requestOptions,\n });\n });\n}\n","import fetchWrapper from \"./fetch-wrapper\";\nexport default function withDefaults(oldEndpoint, newDefaults) {\n const endpoint = oldEndpoint.defaults(newDefaults);\n const newApi = function (route, parameters) {\n const endpointOptions = endpoint.merge(route, parameters);\n if (!endpointOptions.request || !endpointOptions.request.hook) {\n return fetchWrapper(endpoint.parse(endpointOptions));\n }\n const request = (route, parameters) => {\n return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters)));\n };\n Object.assign(request, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint),\n });\n return endpointOptions.request.hook(request, endpointOptions);\n };\n return Object.assign(newApi, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint),\n });\n}\n","import { endpoint } from \"@octokit/endpoint\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport withDefaults from \"./with-defaults\";\nexport const request = withDefaults(endpoint, {\n headers: {\n \"user-agent\": `octokit-request.js/${VERSION} ${getUserAgent()}`,\n },\n});\n"],"names":["getBuffer"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/get-buffer-response.js","../dist-src/fetch-wrapper.js","../dist-src/with-defaults.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"5.6.3\";\n","export default function getBufferResponse(response) {\n return response.arrayBuffer();\n}\n","import { isPlainObject } from \"is-plain-object\";\nimport nodeFetch from \"node-fetch\";\nimport { RequestError } from \"@octokit/request-error\";\nimport getBuffer from \"./get-buffer-response\";\nexport default function fetchWrapper(requestOptions) {\n const log = requestOptions.request && requestOptions.request.log\n ? requestOptions.request.log\n : console;\n if (isPlainObject(requestOptions.body) ||\n Array.isArray(requestOptions.body)) {\n requestOptions.body = JSON.stringify(requestOptions.body);\n }\n let headers = {};\n let status;\n let url;\n const fetch = (requestOptions.request && requestOptions.request.fetch) || nodeFetch;\n return fetch(requestOptions.url, Object.assign({\n method: requestOptions.method,\n body: requestOptions.body,\n headers: requestOptions.headers,\n redirect: requestOptions.redirect,\n }, \n // `requestOptions.request.agent` type is incompatible\n // see https://github.com/octokit/types.ts/pull/264\n requestOptions.request))\n .then(async (response) => {\n url = response.url;\n status = response.status;\n for (const keyAndValue of response.headers) {\n headers[keyAndValue[0]] = keyAndValue[1];\n }\n if (\"deprecation\" in headers) {\n const matches = headers.link && headers.link.match(/<([^>]+)>; rel=\"deprecation\"/);\n const deprecationLink = matches && matches.pop();\n log.warn(`[@octokit/request] \"${requestOptions.method} ${requestOptions.url}\" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`);\n }\n if (status === 204 || status === 205) {\n return;\n }\n // GitHub API returns 200 for HEAD requests\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return;\n }\n throw new RequestError(response.statusText, status, {\n response: {\n url,\n status,\n headers,\n data: undefined,\n },\n request: requestOptions,\n });\n }\n if (status === 304) {\n throw new RequestError(\"Not modified\", status, {\n response: {\n url,\n status,\n headers,\n data: await getResponseData(response),\n },\n request: requestOptions,\n });\n }\n if (status >= 400) {\n const data = await getResponseData(response);\n const error = new RequestError(toErrorMessage(data), status, {\n response: {\n url,\n status,\n headers,\n data,\n },\n request: requestOptions,\n });\n throw error;\n }\n return getResponseData(response);\n })\n .then((data) => {\n return {\n status,\n url,\n headers,\n data,\n };\n })\n .catch((error) => {\n if (error instanceof RequestError)\n throw error;\n throw new RequestError(error.message, 500, {\n request: requestOptions,\n });\n });\n}\nasync function getResponseData(response) {\n const contentType = response.headers.get(\"content-type\");\n if (/application\\/json/.test(contentType)) {\n return response.json();\n }\n if (!contentType || /^text\\/|charset=utf-8$/.test(contentType)) {\n return response.text();\n }\n return getBuffer(response);\n}\nfunction toErrorMessage(data) {\n if (typeof data === \"string\")\n return data;\n // istanbul ignore else - just in case\n if (\"message\" in data) {\n if (Array.isArray(data.errors)) {\n return `${data.message}: ${data.errors.map(JSON.stringify).join(\", \")}`;\n }\n return data.message;\n }\n // istanbul ignore next - just in case\n return `Unknown error: ${JSON.stringify(data)}`;\n}\n","import fetchWrapper from \"./fetch-wrapper\";\nexport default function withDefaults(oldEndpoint, newDefaults) {\n const endpoint = oldEndpoint.defaults(newDefaults);\n const newApi = function (route, parameters) {\n const endpointOptions = endpoint.merge(route, parameters);\n if (!endpointOptions.request || !endpointOptions.request.hook) {\n return fetchWrapper(endpoint.parse(endpointOptions));\n }\n const request = (route, parameters) => {\n return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters)));\n };\n Object.assign(request, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint),\n });\n return endpointOptions.request.hook(request, endpointOptions);\n };\n return Object.assign(newApi, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint),\n });\n}\n","import { endpoint } from \"@octokit/endpoint\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport withDefaults from \"./with-defaults\";\nexport const request = withDefaults(endpoint, {\n headers: {\n \"user-agent\": `octokit-request.js/${VERSION} ${getUserAgent()}`,\n },\n});\n"],"names":["getBuffer"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@octokit/request/package.json b/node_modules/@octokit/request/package.json index 6a58c30..e38c955 100644 --- a/node_modules/@octokit/request/package.json +++ b/node_modules/@octokit/request/package.json @@ -1,7 +1,7 @@ { "name": "@octokit/request", - "description": "Send parameterized requests to GitHub’s APIs with sensible defaults in browsers and Node", - "version": "5.4.14", + "description": "Send parameterized requests to GitHub's APIs with sensible defaults in browsers and Node", + "version": "5.6.3", "license": "MIT", "files": [ "dist-*/", @@ -15,43 +15,35 @@ "api", "request" ], - "homepage": "https://github.com/octokit/request.js#readme", - "bugs": { - "url": "https://github.com/octokit/request.js/issues" - }, - "repository": { - "type": "git", - "url": "https://github.com/octokit/request.js.git" - }, + "repository": "github:octokit/request.js", "dependencies": { "@octokit/endpoint": "^6.0.1", - "@octokit/request-error": "^2.0.0", - "@octokit/types": "^6.7.1", - "deprecation": "^2.0.0", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.16.1", "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.1", - "once": "^1.4.0", + "node-fetch": "^2.6.7", "universal-user-agent": "^6.0.0" }, "devDependencies": { - "@octokit/auth-app": "^2.1.2", + "@octokit/auth-app": "^3.0.0", "@pika/pack": "^0.5.0", "@pika/plugin-build-node": "^0.9.0", "@pika/plugin-build-web": "^0.9.0", "@pika/plugin-ts-standard-pkg": "^0.9.0", "@types/fetch-mock": "^7.2.4", - "@types/jest": "^26.0.0", + "@types/jest": "^27.0.0", "@types/lolex": "^5.1.0", "@types/node": "^14.0.0", "@types/node-fetch": "^2.3.3", "@types/once": "^1.4.0", "fetch-mock": "^9.3.1", - "jest": "^26.0.1", + "jest": "^27.0.0", "lolex": "^6.0.0", - "prettier": "^2.0.1", - "semantic-release": "^17.0.0", + "prettier": "2.4.1", + "semantic-release": "^18.0.0", "semantic-release-plugin-update-version-in-files": "^1.0.0", - "ts-jest": "^26.1.0", + "string-to-arraybuffer": "^1.0.2", + "ts-jest": "^27.0.0", "typescript": "^4.0.2" }, "publishConfig": { diff --git a/node_modules/@octokit/types/README.md b/node_modules/@octokit/types/README.md index 3c34447..c48ce42 100644 --- a/node_modules/@octokit/types/README.md +++ b/node_modules/@octokit/types/README.md @@ -27,7 +27,8 @@ See all exported types at https://octokit.github.io/types.ts ```ts import { Endpoints } from "@octokit/types"; -type listUserReposParameters = Endpoints["GET /repos/{owner}/{repo}"]["parameters"]; +type listUserReposParameters = + Endpoints["GET /repos/{owner}/{repo}"]["parameters"]; type listUserReposResponse = Endpoints["GET /repos/{owner}/{repo}"]["response"]; async function listRepos( diff --git a/node_modules/@octokit/types/dist-node/index.js b/node_modules/@octokit/types/dist-node/index.js index a544694..b3c252b 100644 --- a/node_modules/@octokit/types/dist-node/index.js +++ b/node_modules/@octokit/types/dist-node/index.js @@ -2,7 +2,7 @@ Object.defineProperty(exports, '__esModule', { value: true }); -const VERSION = "6.8.2"; +const VERSION = "6.41.0"; exports.VERSION = VERSION; //# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/types/dist-src/VERSION.js b/node_modules/@octokit/types/dist-src/VERSION.js index c421a7e..45a11b8 100644 --- a/node_modules/@octokit/types/dist-src/VERSION.js +++ b/node_modules/@octokit/types/dist-src/VERSION.js @@ -1 +1 @@ -export const VERSION = "6.8.2"; +export const VERSION = "6.41.0"; diff --git a/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts b/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts index 19ffff8..28fdfb8 100644 --- a/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts +++ b/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts @@ -11,7 +11,7 @@ export declare type OctokitResponse = { */ url: Url; /** - * This is the data you would see in https://developer.Octokit.com/v3/ + * Response data as documented in the REST API reference documentation at https://docs.github.com/rest/reference */ data: T; }; diff --git a/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts b/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts index 4482a8a..8f5c43a 100644 --- a/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts +++ b/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts @@ -1,5 +1,3 @@ -/// -import { Agent } from "http"; import { Fetch } from "./Fetch"; import { Signal } from "./Signal"; /** @@ -8,8 +6,10 @@ import { Signal } from "./Signal"; export declare type RequestRequestOptions = { /** * Node only. Useful for custom proxy, certificate, or dns lookup. + * + * @see https://nodejs.org/api/http.html#http_class_http_agent */ - agent?: Agent; + agent?: unknown; /** * Custom replacement for built-in fetch method. Useful for testing or request hooks. */ diff --git a/node_modules/@octokit/types/dist-types/VERSION.d.ts b/node_modules/@octokit/types/dist-types/VERSION.d.ts index b043d64..dc24575 100644 --- a/node_modules/@octokit/types/dist-types/VERSION.d.ts +++ b/node_modules/@octokit/types/dist-types/VERSION.d.ts @@ -1 +1 @@ -export declare const VERSION = "6.8.2"; +export declare const VERSION = "6.41.0"; diff --git a/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts b/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts index 5a12773..3fe7cf8 100644 --- a/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts +++ b/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts @@ -29,7 +29,7 @@ declare type Operation> : ExtractOctokitResponse : ExtractOctokitResponse; + response: ExtractOctokitResponse; }; declare type MethodsMap = { delete: "DELETE"; @@ -38,7 +38,7 @@ declare type MethodsMap = { post: "POST"; put: "PUT"; }; -declare type SuccessStatuses = 200 | 201 | 204; +declare type SuccessStatuses = 200 | 201 | 202 | 204; declare type RedirectStatuses = 301 | 302; declare type EmptyResponseStatuses = 201 | 204; declare type KnownJsonResponseTypes = "application/json" | "application/scim+json" | "text/html"; @@ -56,125 +56,13 @@ declare type DataType = { [K in KnownJsonResponseTypes & keyof T]: T[K]; }[KnownJsonResponseTypes & keyof T]; declare type ExtractOctokitResponse = "responses" extends keyof R ? SuccessResponseDataType extends never ? RedirectResponseDataType extends never ? EmptyResponseDataType : RedirectResponseDataType : SuccessResponseDataType : unknown; -declare type EndpointsWithMissingRequiredResponseDataSchema = { - "/app/hook/config": "get" | "patch"; - "/app/installations/{installation_id}/access_tokens": "post"; - "/emojis": "get"; - "/enterprises/{enterprise}/actions/permissions": "get"; - "/enterprises/{enterprise}/actions/permissions/organizations": "get"; - "/enterprises/{enterprise}/actions/permissions/selected-actions": "get"; - "/enterprises/{enterprise}/actions/runner-groups": "get" | "post"; - "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}": "get" | "patch"; - "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations": "get"; - "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners": "get"; - "/enterprises/{enterprise}/actions/runners": "get"; - "/enterprises/{enterprise}/actions/runners/downloads": "get"; - "/enterprises/{enterprise}/settings/billing/actions": "get"; - "/enterprises/{enterprise}/settings/billing/packages": "get"; - "/enterprises/{enterprise}/settings/billing/shared-storage": "get"; - "/installation/repositories": "get"; - "/notifications": "get"; - "/notifications/threads/{thread_id}": "get"; - "/orgs/{org}/actions/permissions": "get"; - "/orgs/{org}/actions/permissions/repositories": "get"; - "/orgs/{org}/actions/permissions/selected-actions": "get"; - "/orgs/{org}/actions/runner-groups": "get" | "post"; - "/orgs/{org}/actions/runner-groups/{runner_group_id}": "get" | "patch"; - "/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories": "get"; - "/orgs/{org}/actions/runner-groups/{runner_group_id}/runners": "get"; - "/orgs/{org}/actions/runners": "get"; - "/orgs/{org}/actions/runners/downloads": "get"; - "/orgs/{org}/actions/secrets": "get"; - "/orgs/{org}/actions/secrets/{secret_name}/repositories": "get"; - "/orgs/{org}/hooks/{hook_id}/config": "get" | "patch"; - "/orgs/{org}/installations": "get"; - "/orgs/{org}/invitations": "get" | "post"; - "/orgs/{org}/settings/billing/actions": "get"; - "/orgs/{org}/settings/billing/packages": "get"; - "/orgs/{org}/settings/billing/shared-storage": "get"; - "/orgs/{org}/team-sync/groups": "get"; - "/orgs/{org}/teams/{team_slug}/invitations": "get"; - "/orgs/{org}/teams/{team_slug}/projects": "get"; - "/orgs/{org}/teams/{team_slug}/projects/{project_id}": "get"; - "/orgs/{org}/teams/{team_slug}/team-sync/group-mappings": "get" | "patch"; - "/projects/columns/cards/{card_id}/moves": "post"; - "/projects/columns/{column_id}/moves": "post"; - "/repos/{owner}/{repo}/actions/artifacts": "get"; - "/repos/{owner}/{repo}/actions/permissions": "get"; - "/repos/{owner}/{repo}/actions/permissions/selected-actions": "get"; - "/repos/{owner}/{repo}/actions/runners": "get"; - "/repos/{owner}/{repo}/actions/runners/downloads": "get"; - "/repos/{owner}/{repo}/actions/runs": "get"; - "/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts": "get"; - "/repos/{owner}/{repo}/actions/runs/{run_id}/jobs": "get"; - "/repos/{owner}/{repo}/actions/runs/{run_id}/timing": "get"; - "/repos/{owner}/{repo}/actions/secrets": "get"; - "/repos/{owner}/{repo}/actions/workflows": "get"; - "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs": "get"; - "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing": "get"; - "/repos/{owner}/{repo}/check-suites/preferences": "patch"; - "/repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs": "get"; - "/repos/{owner}/{repo}/code-scanning/alerts": "get"; - "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": "get" | "patch"; - "/repos/{owner}/{repo}/code-scanning/analyses": "get"; - "/repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head": "get"; - "/repos/{owner}/{repo}/commits/{ref}/check-runs": "get"; - "/repos/{owner}/{repo}/commits/{ref}/check-suites": "get"; - "/repos/{owner}/{repo}/commits/{ref}/statuses": "get"; - "/repos/{owner}/{repo}/contents/{path}": "put" | "delete"; - "/repos/{owner}/{repo}/git/blobs": "post"; - "/repos/{owner}/{repo}/git/commits": "post"; - "/repos/{owner}/{repo}/git/commits/{commit_sha}": "get"; - "/repos/{owner}/{repo}/git/matching-refs/{ref}": "get"; - "/repos/{owner}/{repo}/git/ref/{ref}": "get"; - "/repos/{owner}/{repo}/git/refs": "post"; - "/repos/{owner}/{repo}/git/refs/{ref}": "patch"; - "/repos/{owner}/{repo}/hooks/{hook_id}/config": "get" | "patch"; - "/repos/{owner}/{repo}/issues/{issue_number}/events": "get"; - "/repos/{owner}/{repo}/issues/{issue_number}/timeline": "get"; - "/repos/{owner}/{repo}/keys": "get" | "post"; - "/repos/{owner}/{repo}/keys/{key_id}": "get"; - "/repos/{owner}/{repo}/languages": "get"; - "/repos/{owner}/{repo}/notifications": "get"; - "/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": "get"; - "/repos/{owner}/{repo}/stats/participation": "get"; - "/repos/{owner}/{repo}/statuses/{sha}": "post"; - "/repos/{owner}/{repo}/topics": "get" | "put"; - "/scim/v2/enterprises/{enterprise}/Groups": "get" | "post"; - "/scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}": "get" | "put" | "patch"; - "/scim/v2/enterprises/{enterprise}/Users": "get" | "post"; - "/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}": "get" | "put" | "patch"; - "/search/code": "get"; - "/search/commits": "get"; - "/search/issues": "get"; - "/search/labels": "get"; - "/search/repositories": "get"; - "/search/topics": "get"; - "/search/users": "get"; - "/teams/{team_id}/invitations": "get"; - "/teams/{team_id}/projects": "get"; - "/teams/{team_id}/projects/{project_id}": "get"; - "/teams/{team_id}/team-sync/group-mappings": "get" | "patch"; - "/user/installations": "get"; - "/user/installations/{installation_id}/repositories": "get"; - "/user/keys": "get" | "post"; - "/user/keys/{key_id}": "get"; - "/users/{username}/settings/billing/actions": "get"; - "/users/{username}/settings/billing/packages": "get"; - "/users/{username}/settings/billing/shared-storage": "get"; -}; -declare type NotNill = T extends null | undefined ? never : T; -declare type Primitive = undefined | null | boolean | string | number | Function; -declare type DeepRequired = T extends Primitive ? NotNill : { - [P in keyof T]-?: T[P] extends Array ? Array> : T[P] extends ReadonlyArray ? DeepRequired : DeepRequired; -}; export interface Endpoints { /** - * @see https://docs.github.com/v3/apps/#delete-an-installation-for-the-authenticated-app + * @see https://docs.github.com/rest/reference/apps#delete-an-installation-for-the-authenticated-app */ "DELETE /app/installations/{installation_id}": Operation<"/app/installations/{installation_id}", "delete">; /** - * @see https://docs.github.com/v3/apps/#unsuspend-an-app-installation + * @see https://docs.github.com/rest/reference/apps#unsuspend-an-app-installation */ "DELETE /app/installations/{installation_id}/suspended": Operation<"/app/installations/{installation_id}/suspended", "delete">; /** @@ -185,44 +73,44 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/apps#delete-an-app-authorization */ "DELETE /applications/{client_id}/grant": Operation<"/applications/{client_id}/grant", "delete">; - /** - * @see https://docs.github.com/rest/reference/apps#revoke-a-grant-for-an-application - */ - "DELETE /applications/{client_id}/grants/{access_token}": Operation<"/applications/{client_id}/grants/{access_token}", "delete">; /** * @see https://docs.github.com/rest/reference/apps#delete-an-app-token */ "DELETE /applications/{client_id}/token": Operation<"/applications/{client_id}/token", "delete">; - /** - * @see https://docs.github.com/rest/reference/apps#revoke-an-authorization-for-an-application - */ - "DELETE /applications/{client_id}/tokens/{access_token}": Operation<"/applications/{client_id}/tokens/{access_token}", "delete">; /** * @see https://docs.github.com/rest/reference/oauth-authorizations#delete-an-authorization */ "DELETE /authorizations/{authorization_id}": Operation<"/authorizations/{authorization_id}", "delete">; /** - * @see https://docs.github.com/rest/reference/enterprise-admin#disable-a-selected-organization-for-github-actions-in-an-enterprise + * @see https://docs.github.com/rest/reference/actions#disable-a-selected-organization-for-github-actions-in-an-enterprise */ "DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}": Operation<"/enterprises/{enterprise}/actions/permissions/organizations/{org_id}", "delete">; /** - * @see https://docs.github.com/rest/reference/enterprise-admin#delete-a-self-hosted-runner-group-from-an-enterprise + * @see https://docs.github.com/rest/reference/actions#delete-a-self-hosted-runner-group-from-an-enterprise */ "DELETE /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}", "delete">; /** - * @see https://docs.github.com/rest/reference/enterprise-admin#remove-organization-access-to-a-self-hosted-runner-group-in-an-enterprise + * @see https://docs.github.com/rest/reference/actions#remove-organization-access-to-a-self-hosted-runner-group-in-an-enterprise */ "DELETE /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations/{org_id}": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations/{org_id}", "delete">; /** - * @see https://docs.github.com/rest/reference/enterprise-admin#remove-a-self-hosted-runner-from-a-group-for-an-enterprise + * @see https://docs.github.com/rest/reference/actions#remove-a-self-hosted-runner-from-a-group-for-an-enterprise */ "DELETE /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}", "delete">; /** - * @see https://docs.github.com/rest/reference/enterprise-admin#delete-self-hosted-runner-from-an-enterprise + * @see https://docs.github.com/rest/reference/actions#delete-self-hosted-runner-from-an-enterprise */ "DELETE /enterprises/{enterprise}/actions/runners/{runner_id}": Operation<"/enterprises/{enterprise}/actions/runners/{runner_id}", "delete">; /** - * @see https://docs.github.com/v3/gists/#delete-a-gist + * @see https://docs.github.com/rest/reference/actions#remove-all-custom-labels-from-a-self-hosted-runner-for-an-enterprise + */ + "DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels": Operation<"/enterprises/{enterprise}/actions/runners/{runner_id}/labels", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#remove-a-custom-label-from-a-self-hosted-runner-for-an-enterprise + */ + "DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels/{name}": Operation<"/enterprises/{enterprise}/actions/runners/{runner_id}/labels/{name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/gists#delete-a-gist */ "DELETE /gists/{gist_id}": Operation<"/gists/{gist_id}", "delete">; /** @@ -230,7 +118,7 @@ export interface Endpoints { */ "DELETE /gists/{gist_id}/comments/{comment_id}": Operation<"/gists/{gist_id}/comments/{comment_id}", "delete">; /** - * @see https://docs.github.com/v3/gists/#unstar-a-gist + * @see https://docs.github.com/rest/reference/gists#unstar-a-gist */ "DELETE /gists/{gist_id}/star": Operation<"/gists/{gist_id}/star", "delete">; /** @@ -261,6 +149,14 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/actions#delete-a-self-hosted-runner-from-an-organization */ "DELETE /orgs/{org}/actions/runners/{runner_id}": Operation<"/orgs/{org}/actions/runners/{runner_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#remove-all-custom-labels-from-a-self-hosted-runner-for-an-organization + */ + "DELETE /orgs/{org}/actions/runners/{runner_id}/labels": Operation<"/orgs/{org}/actions/runners/{runner_id}/labels", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#remove-a-custom-label-from-a-self-hosted-runner-for-an-organization + */ + "DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}": Operation<"/orgs/{org}/actions/runners/{runner_id}/labels/{name}", "delete">; /** * @see https://docs.github.com/rest/reference/actions#delete-an-organization-secret */ @@ -274,9 +170,17 @@ export interface Endpoints { */ "DELETE /orgs/{org}/blocks/{username}": Operation<"/orgs/{org}/blocks/{username}", "delete">; /** - * @see https://docs.github.com/v3/orgs/#remove-a-saml-sso-authorization-for-an-organization + * @see https://docs.github.com/rest/reference/orgs#remove-a-saml-sso-authorization-for-an-organization */ "DELETE /orgs/{org}/credential-authorizations/{credential_id}": Operation<"/orgs/{org}/credential-authorizations/{credential_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/dependabot#delete-an-organization-secret + */ + "DELETE /orgs/{org}/dependabot/secrets/{secret_name}": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/dependabot#remove-selected-repository-from-an-organization-secret + */ + "DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}", "delete">; /** * @see https://docs.github.com/rest/reference/orgs#delete-an-organization-webhook */ @@ -293,6 +197,10 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/orgs#remove-an-organization-member */ "DELETE /orgs/{org}/members/{username}": Operation<"/orgs/{org}/members/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/codespaces + */ + "DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}": Operation<"/orgs/{org}/members/{username}/codespaces/{codespace_name}", "delete">; /** * @see https://docs.github.com/rest/reference/orgs#remove-organization-membership-for-a-user */ @@ -300,21 +208,29 @@ export interface Endpoints { /** * @see https://docs.github.com/rest/reference/migrations#delete-an-organization-migration-archive */ - "DELETE /orgs/{org}/migrations/{migration_id}/archive": Operation<"/orgs/{org}/migrations/{migration_id}/archive", "delete", "wyandotte">; + "DELETE /orgs/{org}/migrations/{migration_id}/archive": Operation<"/orgs/{org}/migrations/{migration_id}/archive", "delete">; /** * @see https://docs.github.com/rest/reference/migrations#unlock-an-organization-repository */ - "DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock": Operation<"/orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock", "delete", "wyandotte">; + "DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock": Operation<"/orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock", "delete">; /** * @see https://docs.github.com/rest/reference/orgs#remove-outside-collaborator-from-an-organization */ "DELETE /orgs/{org}/outside_collaborators/{username}": Operation<"/orgs/{org}/outside_collaborators/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/packages#delete-a-package-for-an-organization + */ + "DELETE /orgs/{org}/packages/{package_type}/{package_name}": Operation<"/orgs/{org}/packages/{package_type}/{package_name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/packages#delete-a-package-version-for-an-organization + */ + "DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}", "delete">; /** * @see https://docs.github.com/rest/reference/orgs#remove-public-organization-membership-for-the-authenticated-user */ "DELETE /orgs/{org}/public_members/{username}": Operation<"/orgs/{org}/public_members/{username}", "delete">; /** - * @see https://docs.github.com/v3/teams/#delete-a-team + * @see https://docs.github.com/rest/reference/teams#delete-a-team */ "DELETE /orgs/{org}/teams/{team_slug}": Operation<"/orgs/{org}/teams/{team_slug}", "delete">; /** @@ -326,57 +242,73 @@ export interface Endpoints { */ "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", "delete">; /** - * @see https://docs.github.com/v3/reactions/#delete-team-discussion-comment-reaction + * @see https://docs.github.com/rest/reference/reactions#delete-team-discussion-comment-reaction + */ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/reactions#delete-team-discussion-reaction */ - "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}", "delete", "squirrel-girl">; + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}", "delete">; /** - * @see https://docs.github.com/v3/reactions/#delete-team-discussion-reaction + * @see https://docs.github.com/rest/reference/teams#unlink-external-idp-group-team-connection */ - "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}", "delete", "squirrel-girl">; + "DELETE /orgs/{org}/teams/{team_slug}/external-groups": Operation<"/orgs/{org}/teams/{team_slug}/external-groups", "delete">; /** * @see https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user */ "DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}": Operation<"/orgs/{org}/teams/{team_slug}/memberships/{username}", "delete">; /** - * @see https://docs.github.com/v3/teams/#remove-a-project-from-a-team + * @see https://docs.github.com/rest/reference/teams#remove-a-project-from-a-team */ "DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}": Operation<"/orgs/{org}/teams/{team_slug}/projects/{project_id}", "delete">; /** - * @see https://docs.github.com/v3/teams/#remove-a-repository-from-a-team + * @see https://docs.github.com/rest/reference/teams/#remove-a-repository-from-a-team */ "DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": Operation<"/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", "delete">; /** * @see https://docs.github.com/rest/reference/projects#delete-a-project-card */ - "DELETE /projects/columns/cards/{card_id}": Operation<"/projects/columns/cards/{card_id}", "delete", "inertia">; + "DELETE /projects/columns/cards/{card_id}": Operation<"/projects/columns/cards/{card_id}", "delete">; /** * @see https://docs.github.com/rest/reference/projects#delete-a-project-column */ - "DELETE /projects/columns/{column_id}": Operation<"/projects/columns/{column_id}", "delete", "inertia">; + "DELETE /projects/columns/{column_id}": Operation<"/projects/columns/{column_id}", "delete">; /** - * @see https://docs.github.com/v3/projects/#delete-a-project + * @see https://docs.github.com/rest/reference/projects#delete-a-project */ - "DELETE /projects/{project_id}": Operation<"/projects/{project_id}", "delete", "inertia">; + "DELETE /projects/{project_id}": Operation<"/projects/{project_id}", "delete">; /** * @see https://docs.github.com/rest/reference/projects#remove-project-collaborator */ - "DELETE /projects/{project_id}/collaborators/{username}": Operation<"/projects/{project_id}/collaborators/{username}", "delete", "inertia">; + "DELETE /projects/{project_id}/collaborators/{username}": Operation<"/projects/{project_id}/collaborators/{username}", "delete">; /** - * @see https://docs.github.com/v3/reactions/#delete-a-reaction-legacy - */ - "DELETE /reactions/{reaction_id}": Operation<"/reactions/{reaction_id}", "delete", "squirrel-girl">; - /** - * @see https://docs.github.com/v3/repos/#delete-a-repository + * @see https://docs.github.com/rest/reference/repos#delete-a-repository */ "DELETE /repos/{owner}/{repo}": Operation<"/repos/{owner}/{repo}", "delete">; /** * @see https://docs.github.com/rest/reference/actions#delete-an-artifact */ "DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}": Operation<"/repos/{owner}/{repo}/actions/artifacts/{artifact_id}", "delete">; + /** + * @see https://docs.github.com/rest/actions/cache#delete-a-github-actions-cache-for-a-repository-using-a-cache-id + */ + "DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}": Operation<"/repos/{owner}/{repo}/actions/caches/{cache_id}", "delete">; + /** + * @see https://docs.github.com/rest/actions/cache#delete-github-actions-caches-for-a-repository-using-a-cache-key + */ + "DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}": Operation<"/repos/{owner}/{repo}/actions/caches", "delete">; /** * @see https://docs.github.com/rest/reference/actions#delete-a-self-hosted-runner-from-a-repository */ "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#remove-all-custom-labels-from-a-self-hosted-runner-for-a-repository + */ + "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}/labels", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#remove-a-custom-label-from-a-self-hosted-runner-for-a-repository + */ + "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}", "delete">; /** * @see https://docs.github.com/rest/reference/actions#delete-a-workflow-run */ @@ -390,9 +322,13 @@ export interface Endpoints { */ "DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/actions/secrets/{secret_name}", "delete">; /** - * @see https://docs.github.com/v3/repos/#disable-automated-security-fixes + * @see https://docs.github.com/v3/repos#delete-autolink + */ + "DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}": Operation<"/repos/{owner}/{repo}/autolinks/{autolink_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#disable-automated-security-fixes */ - "DELETE /repos/{owner}/{repo}/automated-security-fixes": Operation<"/repos/{owner}/{repo}/automated-security-fixes", "delete", "london">; + "DELETE /repos/{owner}/{repo}/automated-security-fixes": Operation<"/repos/{owner}/{repo}/automated-security-fixes", "delete">; /** * @see https://docs.github.com/rest/reference/repos#delete-branch-protection */ @@ -408,7 +344,7 @@ export interface Endpoints { /** * @see https://docs.github.com/rest/reference/repos#delete-commit-signature-protection */ - "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", "delete", "zzzax">; + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", "delete">; /** * @see https://docs.github.com/rest/reference/repos#remove-status-check-protection */ @@ -433,6 +369,14 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/repos#remove-user-access-restrictions */ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", "delete">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#delete-a-code-scanning-analysis-from-a-repository + */ + "DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}": Operation<"/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/codespaces#delete-a-repository-secret + */ + "DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/codespaces/secrets/{secret_name}", "delete">; /** * @see https://docs.github.com/rest/reference/repos#remove-a-repository-collaborator */ @@ -442,17 +386,25 @@ export interface Endpoints { */ "DELETE /repos/{owner}/{repo}/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/comments/{comment_id}", "delete">; /** - * @see https://docs.github.com/v3/reactions/#delete-a-commit-comment-reaction + * @see https://docs.github.com/rest/reference/reactions#delete-a-commit-comment-reaction */ - "DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}", "delete", "squirrel-girl">; + "DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}", "delete">; /** * @see https://docs.github.com/rest/reference/repos#delete-a-file */ "DELETE /repos/{owner}/{repo}/contents/{path}": Operation<"/repos/{owner}/{repo}/contents/{path}", "delete">; + /** + * @see https://docs.github.com/rest/reference/dependabot#delete-a-repository-secret + */ + "DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/dependabot/secrets/{secret_name}", "delete">; /** * @see https://docs.github.com/rest/reference/repos#delete-a-deployment */ "DELETE /repos/{owner}/{repo}/deployments/{deployment_id}": Operation<"/repos/{owner}/{repo}/deployments/{deployment_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-an-environment + */ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}", "delete">; /** * @see https://docs.github.com/rest/reference/git#delete-a-reference */ @@ -478,9 +430,9 @@ export interface Endpoints { */ "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}", "delete">; /** - * @see https://docs.github.com/v3/reactions/#delete-an-issue-comment-reaction + * @see https://docs.github.com/rest/reference/reactions#delete-an-issue-comment-reaction */ - "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}", "delete", "squirrel-girl">; + "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}", "delete">; /** * @see https://docs.github.com/rest/reference/issues#remove-assignees-from-an-issue */ @@ -494,13 +446,13 @@ export interface Endpoints { */ "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/labels/{name}", "delete">; /** - * @see https://docs.github.com/v3/issues/#unlock-an-issue + * @see https://docs.github.com/rest/reference/issues#unlock-an-issue */ "DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/lock", "delete">; /** - * @see https://docs.github.com/v3/reactions/#delete-an-issue-reaction + * @see https://docs.github.com/rest/reference/reactions#delete-an-issue-reaction */ - "DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}", "delete", "squirrel-girl">; + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}", "delete">; /** * @see https://docs.github.com/rest/reference/repos#delete-a-deploy-key */ @@ -509,6 +461,10 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/issues#delete-a-label */ "DELETE /repos/{owner}/{repo}/labels/{name}": Operation<"/repos/{owner}/{repo}/labels/{name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#disable-git-lfs-for-a-repository + */ + "DELETE /repos/{owner}/{repo}/lfs": Operation<"/repos/{owner}/{repo}/lfs", "delete">; /** * @see https://docs.github.com/rest/reference/issues#delete-a-milestone */ @@ -516,15 +472,15 @@ export interface Endpoints { /** * @see https://docs.github.com/rest/reference/repos#delete-a-github-pages-site */ - "DELETE /repos/{owner}/{repo}/pages": Operation<"/repos/{owner}/{repo}/pages", "delete", "switcheroo">; + "DELETE /repos/{owner}/{repo}/pages": Operation<"/repos/{owner}/{repo}/pages", "delete">; /** * @see https://docs.github.com/rest/reference/pulls#delete-a-review-comment-for-a-pull-request */ "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}", "delete">; /** - * @see https://docs.github.com/v3/reactions/#delete-a-pull-request-comment-reaction + * @see https://docs.github.com/rest/reference/reactions#delete-a-pull-request-comment-reaction */ - "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}", "delete", "squirrel-girl">; + "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}", "delete">; /** * @see https://docs.github.com/rest/reference/pulls#remove-requested-reviewers-from-a-pull-request */ @@ -541,14 +497,26 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/repos#delete-a-release */ "DELETE /repos/{owner}/{repo}/releases/{release_id}": Operation<"/repos/{owner}/{repo}/releases/{release_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/reactions/#delete-a-release-reaction + */ + "DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}", "delete">; /** * @see https://docs.github.com/rest/reference/activity#delete-a-repository-subscription */ "DELETE /repos/{owner}/{repo}/subscription": Operation<"/repos/{owner}/{repo}/subscription", "delete">; /** - * @see https://docs.github.com/v3/repos/#disable-vulnerability-alerts + * @see https://docs.github.com/rest/reference/repos#delete-tag-protection-state-for-a-repository + */ + "DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}": Operation<"/repos/{owner}/{repo}/tags/protection/{tag_protection_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#disable-vulnerability-alerts */ - "DELETE /repos/{owner}/{repo}/vulnerability-alerts": Operation<"/repos/{owner}/{repo}/vulnerability-alerts", "delete", "dorian">; + "DELETE /repos/{owner}/{repo}/vulnerability-alerts": Operation<"/repos/{owner}/{repo}/vulnerability-alerts", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#delete-an-environment-secret + */ + "DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}": Operation<"/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", "delete">; /** * @see https://docs.github.com/rest/reference/enterprise-admin#delete-a-scim-group-from-an-enterprise */ @@ -558,11 +526,11 @@ export interface Endpoints { */ "DELETE /scim/v2/enterprises/{enterprise}/Users/{scim_user_id}": Operation<"/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}", "delete">; /** - * @see https://docs.github.com/v3/scim/#delete-a-scim-user-from-an-organization + * @see https://docs.github.com/rest/reference/scim#delete-a-scim-user-from-an-organization */ "DELETE /scim/v2/organizations/{org}/Users/{scim_user_id}": Operation<"/scim/v2/organizations/{org}/Users/{scim_user_id}", "delete">; /** - * @see https://docs.github.com/v3/teams/#delete-a-team-legacy + * @see https://docs.github.com/rest/reference/teams/#delete-a-team-legacy */ "DELETE /teams/{team_id}": Operation<"/teams/{team_id}", "delete">; /** @@ -582,17 +550,29 @@ export interface Endpoints { */ "DELETE /teams/{team_id}/memberships/{username}": Operation<"/teams/{team_id}/memberships/{username}", "delete">; /** - * @see https://docs.github.com/v3/teams/#remove-a-project-from-a-team-legacy + * @see https://docs.github.com/rest/reference/teams/#remove-a-project-from-a-team-legacy */ "DELETE /teams/{team_id}/projects/{project_id}": Operation<"/teams/{team_id}/projects/{project_id}", "delete">; /** - * @see https://docs.github.com/v3/teams/#remove-a-repository-from-a-team-legacy + * @see https://docs.github.com/rest/reference/teams/#remove-a-repository-from-a-team-legacy */ "DELETE /teams/{team_id}/repos/{owner}/{repo}": Operation<"/teams/{team_id}/repos/{owner}/{repo}", "delete">; /** * @see https://docs.github.com/rest/reference/users#unblock-a-user */ "DELETE /user/blocks/{username}": Operation<"/user/blocks/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/codespaces#delete-a-secret-for-the-authenticated-user + */ + "DELETE /user/codespaces/secrets/{secret_name}": Operation<"/user/codespaces/secrets/{secret_name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/codespaces#remove-a-selected-repository-from-a-user-secret + */ + "DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}": Operation<"/user/codespaces/secrets/{secret_name}/repositories/{repository_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/codespaces#delete-a-codespace-for-the-authenticated-user + */ + "DELETE /user/codespaces/{codespace_name}": Operation<"/user/codespaces/{codespace_name}", "delete">; /** * @see https://docs.github.com/rest/reference/users#delete-an-email-address-for-the-authenticated-user */ @@ -620,11 +600,19 @@ export interface Endpoints { /** * @see https://docs.github.com/rest/reference/migrations#delete-a-user-migration-archive */ - "DELETE /user/migrations/{migration_id}/archive": Operation<"/user/migrations/{migration_id}/archive", "delete", "wyandotte">; + "DELETE /user/migrations/{migration_id}/archive": Operation<"/user/migrations/{migration_id}/archive", "delete">; /** * @see https://docs.github.com/rest/reference/migrations#unlock-a-user-repository */ - "DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock": Operation<"/user/migrations/{migration_id}/repos/{repo_name}/lock", "delete", "wyandotte">; + "DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock": Operation<"/user/migrations/{migration_id}/repos/{repo_name}/lock", "delete">; + /** + * @see https://docs.github.com/rest/reference/packages#delete-a-package-for-the-authenticated-user + */ + "DELETE /user/packages/{package_type}/{package_name}": Operation<"/user/packages/{package_type}/{package_name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/packages#delete-a-package-version-for-the-authenticated-user + */ + "DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/user/packages/{package_type}/{package_name}/versions/{package_version_id}", "delete">; /** * @see https://docs.github.com/rest/reference/repos#decline-a-repository-invitation */ @@ -634,23 +622,39 @@ export interface Endpoints { */ "DELETE /user/starred/{owner}/{repo}": Operation<"/user/starred/{owner}/{repo}", "delete">; /** - * @see + * @see https://docs.github.com/rest/reference/packages#delete-a-package-for-a-user + */ + "DELETE /users/{username}/packages/{package_type}/{package_name}": Operation<"/users/{username}/packages/{package_type}/{package_name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/packages#delete-a-package-version-for-a-user + */ + "DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}", "delete">; + /** + * @see https://docs.github.com/rest/overview/resources-in-the-rest-api#root-endpoint */ "GET /": Operation<"/", "get">; /** - * @see https://docs.github.com/v3/apps/#get-the-authenticated-app + * @see https://docs.github.com/rest/reference/apps#get-the-authenticated-app */ "GET /app": Operation<"/app", "get">; /** - * @see https://docs.github.com/v3/apps#get-a-webhook-configuration-for-an-app + * @see https://docs.github.com/rest/reference/apps#get-a-webhook-configuration-for-an-app */ "GET /app/hook/config": Operation<"/app/hook/config", "get">; /** - * @see https://docs.github.com/v3/apps/#list-installations-for-the-authenticated-app + * @see https://docs.github.com/rest/reference/apps#list-deliveries-for-an-app-webhook + */ + "GET /app/hook/deliveries": Operation<"/app/hook/deliveries", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#get-a-delivery-for-an-app-webhook + */ + "GET /app/hook/deliveries/{delivery_id}": Operation<"/app/hook/deliveries/{delivery_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-installations-for-the-authenticated-app */ "GET /app/installations": Operation<"/app/installations", "get">; /** - * @see https://docs.github.com/v3/apps/#get-an-installation-for-the-authenticated-app + * @see https://docs.github.com/rest/reference/apps#get-an-installation-for-the-authenticated-app */ "GET /app/installations/{installation_id}": Operation<"/app/installations/{installation_id}", "get">; /** @@ -662,11 +666,7 @@ export interface Endpoints { */ "GET /applications/grants/{grant_id}": Operation<"/applications/grants/{grant_id}", "get">; /** - * @see https://docs.github.com/rest/reference/apps#check-an-authorization - */ - "GET /applications/{client_id}/tokens/{access_token}": Operation<"/applications/{client_id}/tokens/{access_token}", "get">; - /** - * @see https://docs.github.com/v3/apps/#get-an-app + * @see https://docs.github.com/rest/reference/apps/#get-an-app */ "GET /apps/{app_slug}": Operation<"/apps/{app_slug}", "get">; /** @@ -678,71 +678,99 @@ export interface Endpoints { */ "GET /authorizations/{authorization_id}": Operation<"/authorizations/{authorization_id}", "get">; /** - * @see https://docs.github.com/v3/codes_of_conduct/#get-all-codes-of-conduct + * @see https://docs.github.com/rest/reference/codes-of-conduct#get-all-codes-of-conduct */ - "GET /codes_of_conduct": Operation<"/codes_of_conduct", "get", "scarlet-witch">; + "GET /codes_of_conduct": Operation<"/codes_of_conduct", "get">; /** - * @see https://docs.github.com/v3/codes_of_conduct/#get-a-code-of-conduct + * @see https://docs.github.com/rest/reference/codes-of-conduct#get-a-code-of-conduct */ - "GET /codes_of_conduct/{key}": Operation<"/codes_of_conduct/{key}", "get", "scarlet-witch">; + "GET /codes_of_conduct/{key}": Operation<"/codes_of_conduct/{key}", "get">; /** - * @see https://docs.github.com/v3/emojis/#get-emojis + * @see https://docs.github.com/rest/reference/emojis#get-emojis */ "GET /emojis": Operation<"/emojis", "get">; /** - * @see https://docs.github.com/rest/reference/enterprise-admin#get-github-actions-permissions-for-an-enterprise + * @see https://docs.github.com/rest/reference/enterprise-admin#get-github-enterprise-server-statistics + */ + "GET /enterprise-installation/{enterprise_or_org}/server-statistics": Operation<"/enterprise-installation/{enterprise_or_org}/server-statistics", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-github-actions-cache-usage-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/cache/usage": Operation<"/enterprises/{enterprise}/actions/cache/usage", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-github-actions-permissions-for-an-enterprise */ "GET /enterprises/{enterprise}/actions/permissions": Operation<"/enterprises/{enterprise}/actions/permissions", "get">; /** - * @see https://docs.github.com/rest/reference/enterprise-admin#list-selected-organizations-enabled-for-github-actions-in-an-enterprise + * @see https://docs.github.com/rest/reference/actions#list-selected-organizations-enabled-for-github-actions-in-an-enterprise */ "GET /enterprises/{enterprise}/actions/permissions/organizations": Operation<"/enterprises/{enterprise}/actions/permissions/organizations", "get">; /** - * @see https://docs.github.com/rest/reference/enterprise-admin#get-allowed-actions-for-an-enterprise + * @see https://docs.github.com/rest/reference/actions#get-allowed-actions-for-an-enterprise */ "GET /enterprises/{enterprise}/actions/permissions/selected-actions": Operation<"/enterprises/{enterprise}/actions/permissions/selected-actions", "get">; /** - * @see https://docs.github.com/rest/reference/enterprise-admin#list-self-hosted-runner-groups-for-an-enterprise + * @see https://docs.github.com/rest/reference/actions#get-default-workflow-permissions-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/permissions/workflow": Operation<"/enterprises/{enterprise}/actions/permissions/workflow", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runner-groups-for-an-enterprise */ "GET /enterprises/{enterprise}/actions/runner-groups": Operation<"/enterprises/{enterprise}/actions/runner-groups", "get">; /** - * @see https://docs.github.com/rest/reference/enterprise-admin#get-a-self-hosted-runner-group-for-an-enterprise + * @see https://docs.github.com/rest/reference/actions#get-a-self-hosted-runner-group-for-an-enterprise */ "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}", "get">; /** - * @see https://docs.github.com/rest/reference/enterprise-admin#list-organization-access-to-a-self-hosted-runner-group-in-a-enterprise + * @see https://docs.github.com/rest/reference/actions#list-organization-access-to-a-self-hosted-runner-group-in-a-enterprise */ "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations", "get">; /** - * @see https://docs.github.com/rest/reference/enterprise-admin#list-self-hosted-runners-in-a-group-for-an-enterprise + * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runners-in-a-group-for-an-enterprise */ "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners", "get">; /** - * @see https://docs.github.com/rest/reference/enterprise-admin#list-self-hosted-runners-for-an-enterprise + * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runners-for-an-enterprise */ "GET /enterprises/{enterprise}/actions/runners": Operation<"/enterprises/{enterprise}/actions/runners", "get">; /** - * @see https://docs.github.com/rest/reference/enterprise-admin#list-runner-applications-for-an-enterprise + * @see https://docs.github.com/rest/reference/actions#list-runner-applications-for-an-enterprise */ "GET /enterprises/{enterprise}/actions/runners/downloads": Operation<"/enterprises/{enterprise}/actions/runners/downloads", "get">; /** - * @see https://docs.github.com/rest/reference/enterprise-admin#get-a-self-hosted-runner-for-an-enterprise + * @see https://docs.github.com/rest/reference/actions#get-a-self-hosted-runner-for-an-enterprise */ "GET /enterprises/{enterprise}/actions/runners/{runner_id}": Operation<"/enterprises/{enterprise}/actions/runners/{runner_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-labels-for-a-self-hosted-runner-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/runners/{runner_id}/labels": Operation<"/enterprises/{enterprise}/actions/runners/{runner_id}/labels", "get">; /** * @see https://docs.github.com/rest/reference/enterprise-admin#get-the-audit-log-for-an-enterprise */ "GET /enterprises/{enterprise}/audit-log": Operation<"/enterprises/{enterprise}/audit-log", "get">; /** - * @see https://docs.github.com/v3/billing/#get-github-actions-billing-for-an-enterprise + * @see https://docs.github.com/rest/reference/code-scanning#list-code-scanning-alerts-for-an-enterprise + */ + "GET /enterprises/{enterprise}/code-scanning/alerts": Operation<"/enterprises/{enterprise}/code-scanning/alerts", "get">; + /** + * @see https://docs.github.com/rest/reference/secret-scanning#list-secret-scanning-alerts-for-an-enterprise + */ + "GET /enterprises/{enterprise}/secret-scanning/alerts": Operation<"/enterprises/{enterprise}/secret-scanning/alerts", "get">; + /** + * @see https://docs.github.com/rest/reference/billing#get-github-actions-billing-for-an-enterprise */ "GET /enterprises/{enterprise}/settings/billing/actions": Operation<"/enterprises/{enterprise}/settings/billing/actions", "get">; /** - * @see https://docs.github.com/v3/billing/#get-github-packages-billing-for-an-enterprise + * @see https://docs.github.com/rest/reference/billing#export-advanced-security-active-committers-data-for-enterprise + */ + "GET /enterprises/{enterprise}/settings/billing/advanced-security": Operation<"/enterprises/{enterprise}/settings/billing/advanced-security", "get">; + /** + * @see https://docs.github.com/rest/reference/billing#get-github-packages-billing-for-an-enterprise */ "GET /enterprises/{enterprise}/settings/billing/packages": Operation<"/enterprises/{enterprise}/settings/billing/packages", "get">; /** - * @see https://docs.github.com/v3/billing/#get-shared-storage-billing-for-an-enterprise + * @see https://docs.github.com/rest/reference/billing#get-shared-storage-billing-for-an-enterprise */ "GET /enterprises/{enterprise}/settings/billing/shared-storage": Operation<"/enterprises/{enterprise}/settings/billing/shared-storage", "get">; /** @@ -754,19 +782,19 @@ export interface Endpoints { */ "GET /feeds": Operation<"/feeds", "get">; /** - * @see https://docs.github.com/v3/gists/#list-gists-for-the-authenticated-user + * @see https://docs.github.com/rest/reference/gists#list-gists-for-the-authenticated-user */ "GET /gists": Operation<"/gists", "get">; /** - * @see https://docs.github.com/v3/gists/#list-public-gists + * @see https://docs.github.com/rest/reference/gists#list-public-gists */ "GET /gists/public": Operation<"/gists/public", "get">; /** - * @see https://docs.github.com/v3/gists/#list-starred-gists + * @see https://docs.github.com/rest/reference/gists#list-starred-gists */ "GET /gists/starred": Operation<"/gists/starred", "get">; /** - * @see https://docs.github.com/v3/gists/#get-a-gist + * @see https://docs.github.com/rest/reference/gists#get-a-gist */ "GET /gists/{gist_id}": Operation<"/gists/{gist_id}", "get">; /** @@ -778,27 +806,27 @@ export interface Endpoints { */ "GET /gists/{gist_id}/comments/{comment_id}": Operation<"/gists/{gist_id}/comments/{comment_id}", "get">; /** - * @see https://docs.github.com/v3/gists/#list-gist-commits + * @see https://docs.github.com/rest/reference/gists#list-gist-commits */ "GET /gists/{gist_id}/commits": Operation<"/gists/{gist_id}/commits", "get">; /** - * @see https://docs.github.com/v3/gists/#list-gist-forks + * @see https://docs.github.com/rest/reference/gists#list-gist-forks */ "GET /gists/{gist_id}/forks": Operation<"/gists/{gist_id}/forks", "get">; /** - * @see https://docs.github.com/v3/gists/#check-if-a-gist-is-starred + * @see https://docs.github.com/rest/reference/gists#check-if-a-gist-is-starred */ "GET /gists/{gist_id}/star": Operation<"/gists/{gist_id}/star", "get">; /** - * @see https://docs.github.com/v3/gists/#get-a-gist-revision + * @see https://docs.github.com/rest/reference/gists#get-a-gist-revision */ "GET /gists/{gist_id}/{sha}": Operation<"/gists/{gist_id}/{sha}", "get">; /** - * @see https://docs.github.com/v3/gitignore/#get-all-gitignore-templates + * @see https://docs.github.com/rest/reference/gitignore#get-all-gitignore-templates */ "GET /gitignore/templates": Operation<"/gitignore/templates", "get">; /** - * @see https://docs.github.com/v3/gitignore/#get-a-gitignore-template + * @see https://docs.github.com/rest/reference/gitignore#get-a-gitignore-template */ "GET /gitignore/templates/{name}": Operation<"/gitignore/templates/{name}", "get">; /** @@ -806,15 +834,15 @@ export interface Endpoints { */ "GET /installation/repositories": Operation<"/installation/repositories", "get">; /** - * @see https://docs.github.com/v3/issues/#list-issues-assigned-to-the-authenticated-user + * @see https://docs.github.com/rest/reference/issues#list-issues-assigned-to-the-authenticated-user */ "GET /issues": Operation<"/issues", "get">; /** - * @see https://docs.github.com/v3/licenses/#get-all-commonly-used-licenses + * @see https://docs.github.com/rest/reference/licenses#get-all-commonly-used-licenses */ "GET /licenses": Operation<"/licenses", "get">; /** - * @see https://docs.github.com/v3/licenses/#get-a-license + * @see https://docs.github.com/rest/reference/licenses#get-a-license */ "GET /licenses/{license}": Operation<"/licenses/{license}", "get">; /** @@ -842,7 +870,7 @@ export interface Endpoints { */ "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts": Operation<"/marketplace_listing/stubbed/plans/{plan_id}/accounts", "get">; /** - * @see https://docs.github.com/v3/meta/#get-github-meta-information + * @see https://docs.github.com/rest/reference/meta#get-github-meta-information */ "GET /meta": Operation<"/meta", "get">; /** @@ -862,17 +890,38 @@ export interface Endpoints { */ "GET /notifications/threads/{thread_id}/subscription": Operation<"/notifications/threads/{thread_id}/subscription", "get">; /** - * @see + * @see https://docs.github.com/rest/reference/meta#get-octocat */ "GET /octocat": Operation<"/octocat", "get">; /** - * @see https://docs.github.com/v3/orgs/#list-organizations + * @see https://docs.github.com/rest/reference/orgs#list-organizations */ "GET /organizations": Operation<"/organizations", "get">; /** - * @see https://docs.github.com/v3/orgs/#get-an-organization + * @see https://docs.github.com/rest/reference/orgs#list-custom-repository-roles-in-an-organization + */ + "GET /organizations/{organization_id}/custom_roles": Operation<"/organizations/{organization_id}/custom_roles", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-in-organization + * @deprecated "org_id" is now "org" + */ + "GET /orgs/{org_id}/codespaces": Operation<"/orgs/{org}/codespaces", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#get-an-organization */ "GET /orgs/{org}": Operation<"/orgs/{org}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-github-actions-cache-usage-for-an-organization + */ + "GET /orgs/{org}/actions/cache/usage": Operation<"/orgs/{org}/actions/cache/usage", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-repositories-with-github-actions-cache-usage-for-an-organization + */ + "GET /orgs/{org}/actions/cache/usage-by-repository": Operation<"/orgs/{org}/actions/cache/usage-by-repository", "get">; + /** + * @see https://docs.github.com/rest/actions/oidc#get-the-customization-template-for-an-oidc-subject-claim-for-an-organization + */ + "GET /orgs/{org}/actions/oidc/customization/sub": Operation<"/orgs/{org}/actions/oidc/customization/sub", "get">; /** * @see https://docs.github.com/rest/reference/actions#get-github-actions-permissions-for-an-organization */ @@ -885,6 +934,10 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/actions#get-allowed-actions-for-an-organization */ "GET /orgs/{org}/actions/permissions/selected-actions": Operation<"/orgs/{org}/actions/permissions/selected-actions", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-default-workflow-permissions + */ + "GET /orgs/{org}/actions/permissions/workflow": Operation<"/orgs/{org}/actions/permissions/workflow", "get">; /** * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runner-groups-for-an-organization */ @@ -913,6 +966,10 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/actions#get-a-self-hosted-runner-for-an-organization */ "GET /orgs/{org}/actions/runners/{runner_id}": Operation<"/orgs/{org}/actions/runners/{runner_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-labels-for-a-self-hosted-runner-for-an-organization + */ + "GET /orgs/{org}/actions/runners/{runner_id}/labels": Operation<"/orgs/{org}/actions/runners/{runner_id}/labels", "get">; /** * @see https://docs.github.com/rest/reference/actions#list-organization-secrets */ @@ -930,7 +987,7 @@ export interface Endpoints { */ "GET /orgs/{org}/actions/secrets/{secret_name}/repositories": Operation<"/orgs/{org}/actions/secrets/{secret_name}/repositories", "get">; /** - * @see https://docs.github.com/rest/reference/orgs#get-the-audit-log-for-an-organization + * @see https://docs.github.com/rest/reference/orgs#get-audit-log */ "GET /orgs/{org}/audit-log": Operation<"/orgs/{org}/audit-log", "get">; /** @@ -942,13 +999,45 @@ export interface Endpoints { */ "GET /orgs/{org}/blocks/{username}": Operation<"/orgs/{org}/blocks/{username}", "get">; /** - * @see https://docs.github.com/v3/orgs/#list-saml-sso-authorizations-for-an-organization + * @see https://docs.github.com/rest/reference/code-scanning#list-code-scanning-alerts-by-organization + */ + "GET /orgs/{org}/code-scanning/alerts": Operation<"/orgs/{org}/code-scanning/alerts", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-in-organization + */ + "GET /orgs/{org}/codespaces": Operation<"/orgs/{org}/codespaces", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-saml-sso-authorizations-for-an-organization */ "GET /orgs/{org}/credential-authorizations": Operation<"/orgs/{org}/credential-authorizations", "get">; + /** + * @see https://docs.github.com/rest/reference/dependabot#list-organization-secrets + */ + "GET /orgs/{org}/dependabot/secrets": Operation<"/orgs/{org}/dependabot/secrets", "get">; + /** + * @see https://docs.github.com/rest/reference/dependabot#get-an-organization-public-key + */ + "GET /orgs/{org}/dependabot/secrets/public-key": Operation<"/orgs/{org}/dependabot/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/reference/dependabot#get-an-organization-secret + */ + "GET /orgs/{org}/dependabot/secrets/{secret_name}": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/reference/dependabot#list-selected-repositories-for-an-organization-secret + */ + "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}/repositories", "get">; /** * @see https://docs.github.com/rest/reference/activity#list-public-organization-events */ "GET /orgs/{org}/events": Operation<"/orgs/{org}/events", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#external-idp-group-info-for-an-organization + */ + "GET /orgs/{org}/external-group/{group_id}": Operation<"/orgs/{org}/external-group/{group_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-external-idp-groups-for-an-organization + */ + "GET /orgs/{org}/external-groups": Operation<"/orgs/{org}/external-groups", "get">; /** * @see https://docs.github.com/rest/reference/orgs#list-failed-organization-invitations */ @@ -962,15 +1051,23 @@ export interface Endpoints { */ "GET /orgs/{org}/hooks/{hook_id}": Operation<"/orgs/{org}/hooks/{hook_id}", "get">; /** - * @see https://docs.github.com/v3/orgs#get-a-webhook-configuration-for-an-organization + * @see https://docs.github.com/rest/reference/orgs#get-a-webhook-configuration-for-an-organization */ "GET /orgs/{org}/hooks/{hook_id}/config": Operation<"/orgs/{org}/hooks/{hook_id}/config", "get">; /** - * @see https://docs.github.com/v3/apps/#get-an-organization-installation-for-the-authenticated-app + * @see https://docs.github.com/rest/reference/orgs#list-deliveries-for-an-organization-webhook + */ + "GET /orgs/{org}/hooks/{hook_id}/deliveries": Operation<"/orgs/{org}/hooks/{hook_id}/deliveries", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#get-a-webhook-delivery-for-an-organization-webhook + */ + "GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}": Operation<"/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#get-an-organization-installation-for-the-authenticated-app */ "GET /orgs/{org}/installation": Operation<"/orgs/{org}/installation", "get">; /** - * @see https://docs.github.com/v3/orgs/#list-app-installations-for-an-organization + * @see https://docs.github.com/rest/reference/orgs#list-app-installations-for-an-organization */ "GET /orgs/{org}/installations": Operation<"/orgs/{org}/installations", "get">; /** @@ -986,7 +1083,7 @@ export interface Endpoints { */ "GET /orgs/{org}/invitations/{invitation_id}/teams": Operation<"/orgs/{org}/invitations/{invitation_id}/teams", "get">; /** - * @see https://docs.github.com/v3/issues/#list-organization-issues-assigned-to-the-authenticated-user + * @see https://docs.github.com/rest/reference/issues#list-organization-issues-assigned-to-the-authenticated-user */ "GET /orgs/{org}/issues": Operation<"/orgs/{org}/issues", "get">; /** @@ -1004,27 +1101,43 @@ export interface Endpoints { /** * @see https://docs.github.com/rest/reference/migrations#list-organization-migrations */ - "GET /orgs/{org}/migrations": Operation<"/orgs/{org}/migrations", "get", "wyandotte">; + "GET /orgs/{org}/migrations": Operation<"/orgs/{org}/migrations", "get">; /** * @see https://docs.github.com/rest/reference/migrations#get-an-organization-migration-status */ - "GET /orgs/{org}/migrations/{migration_id}": Operation<"/orgs/{org}/migrations/{migration_id}", "get", "wyandotte">; + "GET /orgs/{org}/migrations/{migration_id}": Operation<"/orgs/{org}/migrations/{migration_id}", "get">; /** * @see https://docs.github.com/rest/reference/migrations#download-an-organization-migration-archive */ - "GET /orgs/{org}/migrations/{migration_id}/archive": Operation<"/orgs/{org}/migrations/{migration_id}/archive", "get", "wyandotte">; + "GET /orgs/{org}/migrations/{migration_id}/archive": Operation<"/orgs/{org}/migrations/{migration_id}/archive", "get">; /** * @see https://docs.github.com/rest/reference/migrations#list-repositories-in-an-organization-migration */ - "GET /orgs/{org}/migrations/{migration_id}/repositories": Operation<"/orgs/{org}/migrations/{migration_id}/repositories", "get", "wyandotte">; + "GET /orgs/{org}/migrations/{migration_id}/repositories": Operation<"/orgs/{org}/migrations/{migration_id}/repositories", "get">; /** * @see https://docs.github.com/rest/reference/orgs#list-outside-collaborators-for-an-organization */ "GET /orgs/{org}/outside_collaborators": Operation<"/orgs/{org}/outside_collaborators", "get">; /** - * @see https://docs.github.com/v3/projects/#list-organization-projects + * @see https://docs.github.com/rest/reference/packages#list-packages-for-an-organization */ - "GET /orgs/{org}/projects": Operation<"/orgs/{org}/projects", "get", "inertia">; + "GET /orgs/{org}/packages": Operation<"/orgs/{org}/packages", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#get-a-package-for-an-organization + */ + "GET /orgs/{org}/packages/{package_type}/{package_name}": Operation<"/orgs/{org}/packages/{package_type}/{package_name}", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#get-all-package-versions-for-a-package-owned-by-an-organization + */ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions": Operation<"/orgs/{org}/packages/{package_type}/{package_name}/versions", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#get-a-package-version-for-an-organization + */ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/projects#list-organization-projects + */ + "GET /orgs/{org}/projects": Operation<"/orgs/{org}/projects", "get">; /** * @see https://docs.github.com/rest/reference/orgs#list-public-organization-members */ @@ -1034,19 +1147,27 @@ export interface Endpoints { */ "GET /orgs/{org}/public_members/{username}": Operation<"/orgs/{org}/public_members/{username}", "get">; /** - * @see https://docs.github.com/v3/repos/#list-organization-repositories + * @see https://docs.github.com/rest/reference/repos#list-organization-repositories */ "GET /orgs/{org}/repos": Operation<"/orgs/{org}/repos", "get">; /** - * @see https://docs.github.com/v3/billing/#get-github-actions-billing-for-an-organization + * @see https://docs.github.com/rest/reference/secret-scanning#list-secret-scanning-alerts-for-an-organization + */ + "GET /orgs/{org}/secret-scanning/alerts": Operation<"/orgs/{org}/secret-scanning/alerts", "get">; + /** + * @see https://docs.github.com/rest/reference/billing#get-github-actions-billing-for-an-organization */ "GET /orgs/{org}/settings/billing/actions": Operation<"/orgs/{org}/settings/billing/actions", "get">; /** - * @see https://docs.github.com/v3/billing/#get-github-packages-billing-for-an-organization + * @see https://docs.github.com/rest/reference/billing#get-github-advanced-security-active-committers-for-an-organization + */ + "GET /orgs/{org}/settings/billing/advanced-security": Operation<"/orgs/{org}/settings/billing/advanced-security", "get">; + /** + * @see https://docs.github.com/rest/reference/billing#get-github-packages-billing-for-an-organization */ "GET /orgs/{org}/settings/billing/packages": Operation<"/orgs/{org}/settings/billing/packages", "get">; /** - * @see https://docs.github.com/v3/billing/#get-shared-storage-billing-for-an-organization + * @see https://docs.github.com/rest/reference/billing#get-shared-storage-billing-for-an-organization */ "GET /orgs/{org}/settings/billing/shared-storage": Operation<"/orgs/{org}/settings/billing/shared-storage", "get">; /** @@ -1054,11 +1175,11 @@ export interface Endpoints { */ "GET /orgs/{org}/team-sync/groups": Operation<"/orgs/{org}/team-sync/groups", "get">; /** - * @see https://docs.github.com/v3/teams/#list-teams + * @see https://docs.github.com/rest/reference/teams#list-teams */ "GET /orgs/{org}/teams": Operation<"/orgs/{org}/teams", "get">; /** - * @see https://docs.github.com/v3/teams/#get-a-team-by-name + * @see https://docs.github.com/rest/reference/teams#get-a-team-by-name */ "GET /orgs/{org}/teams/{team_slug}": Operation<"/orgs/{org}/teams/{team_slug}", "get">; /** @@ -1078,13 +1199,17 @@ export interface Endpoints { */ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", "get">; /** - * @see https://docs.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion-comment + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", "get">; + /** + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion */ - "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", "get", "squirrel-girl">; + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", "get">; /** - * @see https://docs.github.com/v3/reactions/#list-reactions-for-a-team-discussion + * @see https://docs.github.com/rest/reference/teams#list-external-idp-group-team-connection */ - "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", "get", "squirrel-girl">; + "GET /orgs/{org}/teams/{team_slug}/external-groups": Operation<"/orgs/{org}/teams/{team_slug}/external-groups", "get">; /** * @see https://docs.github.com/rest/reference/teams#list-pending-team-invitations */ @@ -1098,19 +1223,19 @@ export interface Endpoints { */ "GET /orgs/{org}/teams/{team_slug}/memberships/{username}": Operation<"/orgs/{org}/teams/{team_slug}/memberships/{username}", "get">; /** - * @see https://docs.github.com/v3/teams/#list-team-projects + * @see https://docs.github.com/rest/reference/teams#list-team-projects */ - "GET /orgs/{org}/teams/{team_slug}/projects": Operation<"/orgs/{org}/teams/{team_slug}/projects", "get", "inertia">; + "GET /orgs/{org}/teams/{team_slug}/projects": Operation<"/orgs/{org}/teams/{team_slug}/projects", "get">; /** - * @see https://docs.github.com/v3/teams/#check-team-permissions-for-a-project + * @see https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-project */ - "GET /orgs/{org}/teams/{team_slug}/projects/{project_id}": Operation<"/orgs/{org}/teams/{team_slug}/projects/{project_id}", "get", "inertia">; + "GET /orgs/{org}/teams/{team_slug}/projects/{project_id}": Operation<"/orgs/{org}/teams/{team_slug}/projects/{project_id}", "get">; /** - * @see https://docs.github.com/v3/teams/#list-team-repositories + * @see https://docs.github.com/rest/reference/teams#list-team-repositories */ "GET /orgs/{org}/teams/{team_slug}/repos": Operation<"/orgs/{org}/teams/{team_slug}/repos", "get">; /** - * @see https://docs.github.com/v3/teams/#check-team-permissions-for-a-repository + * @see https://docs.github.com/rest/reference/teams/#check-team-permissions-for-a-repository */ "GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": Operation<"/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", "get">; /** @@ -1118,43 +1243,43 @@ export interface Endpoints { */ "GET /orgs/{org}/teams/{team_slug}/team-sync/group-mappings": Operation<"/orgs/{org}/teams/{team_slug}/team-sync/group-mappings", "get">; /** - * @see https://docs.github.com/v3/teams/#list-child-teams + * @see https://docs.github.com/rest/reference/teams#list-child-teams */ "GET /orgs/{org}/teams/{team_slug}/teams": Operation<"/orgs/{org}/teams/{team_slug}/teams", "get">; /** * @see https://docs.github.com/rest/reference/projects#get-a-project-card */ - "GET /projects/columns/cards/{card_id}": Operation<"/projects/columns/cards/{card_id}", "get", "inertia">; + "GET /projects/columns/cards/{card_id}": Operation<"/projects/columns/cards/{card_id}", "get">; /** * @see https://docs.github.com/rest/reference/projects#get-a-project-column */ - "GET /projects/columns/{column_id}": Operation<"/projects/columns/{column_id}", "get", "inertia">; + "GET /projects/columns/{column_id}": Operation<"/projects/columns/{column_id}", "get">; /** * @see https://docs.github.com/rest/reference/projects#list-project-cards */ - "GET /projects/columns/{column_id}/cards": Operation<"/projects/columns/{column_id}/cards", "get", "inertia">; + "GET /projects/columns/{column_id}/cards": Operation<"/projects/columns/{column_id}/cards", "get">; /** - * @see https://docs.github.com/v3/projects/#get-a-project + * @see https://docs.github.com/rest/reference/projects#get-a-project */ - "GET /projects/{project_id}": Operation<"/projects/{project_id}", "get", "inertia">; + "GET /projects/{project_id}": Operation<"/projects/{project_id}", "get">; /** * @see https://docs.github.com/rest/reference/projects#list-project-collaborators */ - "GET /projects/{project_id}/collaborators": Operation<"/projects/{project_id}/collaborators", "get", "inertia">; + "GET /projects/{project_id}/collaborators": Operation<"/projects/{project_id}/collaborators", "get">; /** * @see https://docs.github.com/rest/reference/projects#get-project-permission-for-a-user */ - "GET /projects/{project_id}/collaborators/{username}/permission": Operation<"/projects/{project_id}/collaborators/{username}/permission", "get", "inertia">; + "GET /projects/{project_id}/collaborators/{username}/permission": Operation<"/projects/{project_id}/collaborators/{username}/permission", "get">; /** * @see https://docs.github.com/rest/reference/projects#list-project-columns */ - "GET /projects/{project_id}/columns": Operation<"/projects/{project_id}/columns", "get", "inertia">; + "GET /projects/{project_id}/columns": Operation<"/projects/{project_id}/columns", "get">; /** - * @see https://docs.github.com/v3/rate_limit/#get-rate-limit-status-for-the-authenticated-user + * @see https://docs.github.com/rest/reference/rate-limit#get-rate-limit-status-for-the-authenticated-user */ "GET /rate_limit": Operation<"/rate_limit", "get">; /** - * @see https://docs.github.com/v3/repos/#get-a-repository + * @see https://docs.github.com/rest/reference/repos#get-a-repository */ "GET /repos/{owner}/{repo}": Operation<"/repos/{owner}/{repo}", "get">; /** @@ -1169,6 +1294,14 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/actions#download-an-artifact */ "GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}": Operation<"/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-github-actions-cache-usage-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/cache/usage": Operation<"/repos/{owner}/{repo}/actions/cache/usage", "get">; + /** + * @see https://docs.github.com/rest/actions/cache#list-github-actions-caches-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/caches": Operation<"/repos/{owner}/{repo}/actions/caches", "get">; /** * @see https://docs.github.com/rest/reference/actions#get-a-job-for-a-workflow-run */ @@ -1177,14 +1310,26 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/actions#download-job-logs-for-a-workflow-run */ "GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs": Operation<"/repos/{owner}/{repo}/actions/jobs/{job_id}/logs", "get">; + /** + * @see https://docs.github.com/rest/actions/oidc#get-the-opt-out-flag-of-an-oidc-subject-claim-customization-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/oidc/customization/sub": Operation<"/repos/{owner}/{repo}/actions/oidc/customization/sub", "get">; /** * @see https://docs.github.com/rest/reference/actions#get-github-actions-permissions-for-a-repository */ "GET /repos/{owner}/{repo}/actions/permissions": Operation<"/repos/{owner}/{repo}/actions/permissions", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-workflow-access-level-to-a-repository + */ + "GET /repos/{owner}/{repo}/actions/permissions/access": Operation<"/repos/{owner}/{repo}/actions/permissions/access", "get">; /** * @see https://docs.github.com/rest/reference/actions#get-allowed-actions-for-a-repository */ "GET /repos/{owner}/{repo}/actions/permissions/selected-actions": Operation<"/repos/{owner}/{repo}/actions/permissions/selected-actions", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-default-workflow-permissions-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/permissions/workflow": Operation<"/repos/{owner}/{repo}/actions/permissions/workflow", "get">; /** * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runners-for-a-repository */ @@ -1197,6 +1342,10 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/actions#get-a-self-hosted-runner-for-a-repository */ "GET /repos/{owner}/{repo}/actions/runners/{runner_id}": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-labels-for-a-self-hosted-runner-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}/labels", "get">; /** * @see https://docs.github.com/rest/reference/actions#list-workflow-runs-for-a-repository */ @@ -1205,10 +1354,26 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/actions#get-a-workflow-run */ "GET /repos/{owner}/{repo}/actions/runs/{run_id}": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-the-review-history-for-a-workflow-run + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/approvals", "get">; /** * @see https://docs.github.com/rest/reference/actions#list-workflow-run-artifacts */ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-a-workflow-run-attempt + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-jobs-for-a-workflow-run-attempt + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#download-workflow-run-attempt-logs + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs", "get">; /** * @see https://docs.github.com/rest/reference/actions#list-jobs-for-a-workflow-run */ @@ -1217,6 +1382,10 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/actions#download-workflow-run-logs */ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/logs", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-pending-deployments-for-a-workflow-run + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments", "get">; /** * @see https://docs.github.com/rest/reference/actions#get-workflow-run-usage */ @@ -1257,6 +1426,14 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/issues#check-if-a-user-can-be-assigned */ "GET /repos/{owner}/{repo}/assignees/{assignee}": Operation<"/repos/{owner}/{repo}/assignees/{assignee}", "get">; + /** + * @see https://docs.github.com/v3/repos#list-autolinks + */ + "GET /repos/{owner}/{repo}/autolinks": Operation<"/repos/{owner}/{repo}/autolinks", "get">; + /** + * @see https://docs.github.com/v3/repos#get-autolink + */ + "GET /repos/{owner}/{repo}/autolinks/{autolink_id}": Operation<"/repos/{owner}/{repo}/autolinks/{autolink_id}", "get">; /** * @see https://docs.github.com/rest/reference/repos#list-branches */ @@ -1280,7 +1457,7 @@ export interface Endpoints { /** * @see https://docs.github.com/rest/reference/repos#get-commit-signature-protection */ - "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", "get", "zzzax">; + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", "get">; /** * @see https://docs.github.com/rest/reference/repos#get-status-checks-protection */ @@ -1322,22 +1499,66 @@ export interface Endpoints { */ "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs": Operation<"/repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", "get">; /** - * @see https://docs.github.com/v3/code-scanning/#list-code-scanning-alerts-for-a-repository + * @see https://docs.github.com/rest/reference/code-scanning#list-code-scanning-alerts-for-a-repository */ "GET /repos/{owner}/{repo}/code-scanning/alerts": Operation<"/repos/{owner}/{repo}/code-scanning/alerts", "get">; /** - * @see https://docs.github.com/v3/code-scanning/#get-a-code-scanning-alert + * @see https://docs.github.com/rest/reference/code-scanning#get-a-code-scanning-alert * @deprecated "alert_id" is now "alert_number" */ "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_id}": Operation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", "get">; /** - * @see https://docs.github.com/v3/code-scanning/#get-a-code-scanning-alert + * @see https://docs.github.com/rest/reference/code-scanning#get-a-code-scanning-alert */ "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", "get">; /** - * @see https://docs.github.com/v3/code-scanning/#list-recent-analyses + * @see https://docs.github.com/rest/reference/code-scanning#list-instances-of-a-code-scanning-alert + */ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances": Operation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", "get">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#list-code-scanning-analyses-for-a-repository */ "GET /repos/{owner}/{repo}/code-scanning/analyses": Operation<"/repos/{owner}/{repo}/code-scanning/analyses", "get">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#get-a-code-scanning-analysis-for-a-repository + */ + "GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}": Operation<"/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#list-recent-code-scanning-analyses-for-a-repository + */ + "GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}": Operation<"/repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-codeowners-errors + */ + "GET /repos/{owner}/{repo}/codeowners/errors": Operation<"/repos/{owner}/{repo}/codeowners/errors", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-codespaces-in-a-repository-for-the-authenticated-user + */ + "GET /repos/{owner}/{repo}/codespaces": Operation<"/repos/{owner}/{repo}/codespaces", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-devcontainers-in-a-repository-for-the-authenticated-user + */ + "GET /repos/{owner}/{repo}/codespaces/devcontainers": Operation<"/repos/{owner}/{repo}/codespaces/devcontainers", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-available-machine-types-for-a-repository + */ + "GET /repos/{owner}/{repo}/codespaces/machines": Operation<"/repos/{owner}/{repo}/codespaces/machines", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#preview-attributes-for-a-new-codespace + */ + "GET /repos/{owner}/{repo}/codespaces/new": Operation<"/repos/{owner}/{repo}/codespaces/new", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-repository-secrets + */ + "GET /repos/{owner}/{repo}/codespaces/secrets": Operation<"/repos/{owner}/{repo}/codespaces/secrets", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#get-a-repository-public-key + */ + "GET /repos/{owner}/{repo}/codespaces/secrets/public-key": Operation<"/repos/{owner}/{repo}/codespaces/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#get-a-repository-secret + */ + "GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/codespaces/secrets/{secret_name}", "get">; /** * @see https://docs.github.com/rest/reference/repos#list-repository-collaborators */ @@ -1359,9 +1580,9 @@ export interface Endpoints { */ "GET /repos/{owner}/{repo}/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/comments/{comment_id}", "get">; /** - * @see https://docs.github.com/v3/reactions/#list-reactions-for-a-commit-comment + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-a-commit-comment */ - "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/comments/{comment_id}/reactions", "get", "squirrel-girl">; + "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/comments/{comment_id}/reactions", "get">; /** * @see https://docs.github.com/rest/reference/repos#list-commits */ @@ -1369,7 +1590,7 @@ export interface Endpoints { /** * @see https://docs.github.com/rest/reference/repos#list-branches-for-head-commit */ - "GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head": Operation<"/repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head", "get", "groot">; + "GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head": Operation<"/repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head", "get">; /** * @see https://docs.github.com/rest/reference/repos#list-commit-comments */ @@ -1377,7 +1598,7 @@ export interface Endpoints { /** * @see https://docs.github.com/rest/reference/repos#list-pull-requests-associated-with-a-commit */ - "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls": Operation<"/repos/{owner}/{repo}/commits/{commit_sha}/pulls", "get", "groot">; + "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls": Operation<"/repos/{owner}/{repo}/commits/{commit_sha}/pulls", "get">; /** * @see https://docs.github.com/rest/reference/repos#get-a-commit */ @@ -1398,14 +1619,14 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/repos#list-commit-statuses-for-a-reference */ "GET /repos/{owner}/{repo}/commits/{ref}/statuses": Operation<"/repos/{owner}/{repo}/commits/{ref}/statuses", "get">; - /** - * @see https://docs.github.com/v3/codes_of_conduct/#get-the-code-of-conduct-for-a-repository - */ - "GET /repos/{owner}/{repo}/community/code_of_conduct": Operation<"/repos/{owner}/{repo}/community/code_of_conduct", "get", "scarlet-witch">; /** * @see https://docs.github.com/rest/reference/repos#get-community-profile-metrics */ "GET /repos/{owner}/{repo}/community/profile": Operation<"/repos/{owner}/{repo}/community/profile", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#compare-two-commits + */ + "GET /repos/{owner}/{repo}/compare/{basehead}": Operation<"/repos/{owner}/{repo}/compare/{basehead}", "get">; /** * @see https://docs.github.com/rest/reference/repos#compare-two-commits */ @@ -1415,9 +1636,25 @@ export interface Endpoints { */ "GET /repos/{owner}/{repo}/contents/{path}": Operation<"/repos/{owner}/{repo}/contents/{path}", "get">; /** - * @see https://docs.github.com/v3/repos/#list-repository-contributors + * @see https://docs.github.com/rest/reference/repos#list-repository-contributors */ "GET /repos/{owner}/{repo}/contributors": Operation<"/repos/{owner}/{repo}/contributors", "get">; + /** + * @see https://docs.github.com/rest/reference/dependabot#list-repository-secrets + */ + "GET /repos/{owner}/{repo}/dependabot/secrets": Operation<"/repos/{owner}/{repo}/dependabot/secrets", "get">; + /** + * @see https://docs.github.com/rest/reference/dependabot#get-a-repository-public-key + */ + "GET /repos/{owner}/{repo}/dependabot/secrets/public-key": Operation<"/repos/{owner}/{repo}/dependabot/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/reference/dependabot#get-a-repository-secret + */ + "GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/dependabot/secrets/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/reference/dependency-graph#get-a-diff-of-the-dependencies-between-commits + */ + "GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}": Operation<"/repos/{owner}/{repo}/dependency-graph/compare/{basehead}", "get">; /** * @see https://docs.github.com/rest/reference/repos#list-deployments */ @@ -1434,6 +1671,14 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/repos#get-a-deployment-status */ "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}": Operation<"/repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-all-environments + */ + "GET /repos/{owner}/{repo}/environments": Operation<"/repos/{owner}/{repo}/environments", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-an-environment + */ + "GET /repos/{owner}/{repo}/environments/{environment_name}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}", "get">; /** * @see https://docs.github.com/rest/reference/activity#list-repository-events */ @@ -1475,9 +1720,17 @@ export interface Endpoints { */ "GET /repos/{owner}/{repo}/hooks/{hook_id}": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}", "get">; /** - * @see https://docs.github.com/v3/repos#get-a-webhook-configuration-for-a-repository + * @see https://docs.github.com/rest/reference/repos#get-a-webhook-configuration-for-a-repository */ "GET /repos/{owner}/{repo}/hooks/{hook_id}/config": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/config", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-deliveries-for-a-repository-webhook + */ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/deliveries", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-delivery-for-a-repository-webhook + */ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}", "get">; /** * @see https://docs.github.com/rest/reference/migrations#get-an-import-status */ @@ -1491,7 +1744,7 @@ export interface Endpoints { */ "GET /repos/{owner}/{repo}/import/large_files": Operation<"/repos/{owner}/{repo}/import/large_files", "get">; /** - * @see https://docs.github.com/v3/apps/#get-a-repository-installation-for-the-authenticated-app + * @see https://docs.github.com/rest/reference/apps#get-a-repository-installation-for-the-authenticated-app */ "GET /repos/{owner}/{repo}/installation": Operation<"/repos/{owner}/{repo}/installation", "get">; /** @@ -1503,7 +1756,7 @@ export interface Endpoints { */ "GET /repos/{owner}/{repo}/invitations": Operation<"/repos/{owner}/{repo}/invitations", "get">; /** - * @see https://docs.github.com/v3/issues/#list-repository-issues + * @see https://docs.github.com/rest/reference/issues#list-repository-issues */ "GET /repos/{owner}/{repo}/issues": Operation<"/repos/{owner}/{repo}/issues", "get">; /** @@ -1515,9 +1768,9 @@ export interface Endpoints { */ "GET /repos/{owner}/{repo}/issues/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}", "get">; /** - * @see https://docs.github.com/v3/reactions/#list-reactions-for-an-issue-comment + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-an-issue-comment */ - "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", "get", "squirrel-girl">; + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", "get">; /** * @see https://docs.github.com/rest/reference/issues#list-issue-events-for-a-repository */ @@ -1527,7 +1780,7 @@ export interface Endpoints { */ "GET /repos/{owner}/{repo}/issues/events/{event_id}": Operation<"/repos/{owner}/{repo}/issues/events/{event_id}", "get">; /** - * @see https://docs.github.com/v3/issues/#get-an-issue + * @see https://docs.github.com/rest/reference/issues#get-an-issue */ "GET /repos/{owner}/{repo}/issues/{issue_number}": Operation<"/repos/{owner}/{repo}/issues/{issue_number}", "get">; /** @@ -1543,13 +1796,13 @@ export interface Endpoints { */ "GET /repos/{owner}/{repo}/issues/{issue_number}/labels": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/labels", "get">; /** - * @see https://docs.github.com/v3/reactions/#list-reactions-for-an-issue + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-an-issue */ - "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/reactions", "get", "squirrel-girl">; + "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/reactions", "get">; /** * @see https://docs.github.com/rest/reference/issues#list-timeline-events-for-an-issue */ - "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/timeline", "get", "mockingbird">; + "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/timeline", "get">; /** * @see https://docs.github.com/rest/reference/repos#list-deploy-keys */ @@ -1567,11 +1820,11 @@ export interface Endpoints { */ "GET /repos/{owner}/{repo}/labels/{name}": Operation<"/repos/{owner}/{repo}/labels/{name}", "get">; /** - * @see https://docs.github.com/v3/repos/#list-repository-languages + * @see https://docs.github.com/rest/reference/repos#list-repository-languages */ "GET /repos/{owner}/{repo}/languages": Operation<"/repos/{owner}/{repo}/languages", "get">; /** - * @see https://docs.github.com/v3/licenses/#get-the-license-for-a-repository + * @see https://docs.github.com/rest/reference/licenses/#get-the-license-for-a-repository */ "GET /repos/{owner}/{repo}/license": Operation<"/repos/{owner}/{repo}/license", "get">; /** @@ -1607,11 +1860,15 @@ export interface Endpoints { */ "GET /repos/{owner}/{repo}/pages/builds/{build_id}": Operation<"/repos/{owner}/{repo}/pages/builds/{build_id}", "get">; /** - * @see https://docs.github.com/v3/projects/#list-repository-projects + * @see https://docs.github.com/rest/reference/repos#get-a-dns-health-check-for-github-pages */ - "GET /repos/{owner}/{repo}/projects": Operation<"/repos/{owner}/{repo}/projects", "get", "inertia">; + "GET /repos/{owner}/{repo}/pages/health": Operation<"/repos/{owner}/{repo}/pages/health", "get">; /** - * @see https://docs.github.com/v3/pulls/#list-pull-requests + * @see https://docs.github.com/rest/reference/projects#list-repository-projects + */ + "GET /repos/{owner}/{repo}/projects": Operation<"/repos/{owner}/{repo}/projects", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#list-pull-requests */ "GET /repos/{owner}/{repo}/pulls": Operation<"/repos/{owner}/{repo}/pulls", "get">; /** @@ -1623,11 +1880,11 @@ export interface Endpoints { */ "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}", "get">; /** - * @see https://docs.github.com/v3/reactions/#list-reactions-for-a-pull-request-review-comment + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-a-pull-request-review-comment */ - "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", "get", "squirrel-girl">; + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", "get">; /** - * @see https://docs.github.com/v3/pulls/#get-a-pull-request + * @see https://docs.github.com/rest/reference/pulls#get-a-pull-request */ "GET /repos/{owner}/{repo}/pulls/{pull_number}": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}", "get">; /** @@ -1635,15 +1892,15 @@ export interface Endpoints { */ "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/comments", "get">; /** - * @see https://docs.github.com/v3/pulls/#list-commits-on-a-pull-request + * @see https://docs.github.com/rest/reference/pulls#list-commits-on-a-pull-request */ "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/commits", "get">; /** - * @see https://docs.github.com/v3/pulls/#list-pull-requests-files + * @see https://docs.github.com/rest/reference/pulls#list-pull-requests-files */ "GET /repos/{owner}/{repo}/pulls/{pull_number}/files": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/files", "get">; /** - * @see https://docs.github.com/v3/pulls/#check-if-a-pull-request-has-been-merged + * @see https://docs.github.com/rest/reference/pulls#check-if-a-pull-request-has-been-merged */ "GET /repos/{owner}/{repo}/pulls/{pull_number}/merge": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/merge", "get">; /** @@ -1666,6 +1923,10 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/repos#get-a-repository-readme */ "GET /repos/{owner}/{repo}/readme": Operation<"/repos/{owner}/{repo}/readme", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-repository-directory-readme + */ + "GET /repos/{owner}/{repo}/readme/{dir}": Operation<"/repos/{owner}/{repo}/readme/{dir}", "get">; /** * @see https://docs.github.com/rest/reference/repos#list-releases */ @@ -1690,6 +1951,10 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/repos#list-release-assets */ "GET /repos/{owner}/{repo}/releases/{release_id}/assets": Operation<"/repos/{owner}/{repo}/releases/{release_id}/assets", "get">; + /** + * @see https://docs.github.com/rest/reference/reactions/#list-reactions-for-a-release + */ + "GET /repos/{owner}/{repo}/releases/{release_id}/reactions": Operation<"/repos/{owner}/{repo}/releases/{release_id}/reactions", "get">; /** * @see https://docs.github.com/rest/reference/secret-scanning#list-secret-scanning-alerts-for-a-repository */ @@ -1698,6 +1963,10 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/secret-scanning#get-a-secret-scanning-alert */ "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/secret-scanning#list-locations-for-a-secret-scanning-alert + */ + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations": Operation<"/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations", "get">; /** * @see https://docs.github.com/rest/reference/activity#list-stargazers */ @@ -1731,21 +2000,25 @@ export interface Endpoints { */ "GET /repos/{owner}/{repo}/subscription": Operation<"/repos/{owner}/{repo}/subscription", "get">; /** - * @see https://docs.github.com/v3/repos/#list-repository-tags + * @see https://docs.github.com/rest/reference/repos#list-repository-tags */ "GET /repos/{owner}/{repo}/tags": Operation<"/repos/{owner}/{repo}/tags", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-tag-protection-state-of-a-repository + */ + "GET /repos/{owner}/{repo}/tags/protection": Operation<"/repos/{owner}/{repo}/tags/protection", "get">; /** * @see https://docs.github.com/rest/reference/repos#download-a-repository-archive */ "GET /repos/{owner}/{repo}/tarball/{ref}": Operation<"/repos/{owner}/{repo}/tarball/{ref}", "get">; /** - * @see https://docs.github.com/v3/repos/#list-repository-teams + * @see https://docs.github.com/rest/reference/repos#list-repository-teams */ "GET /repos/{owner}/{repo}/teams": Operation<"/repos/{owner}/{repo}/teams", "get">; /** - * @see https://docs.github.com/v3/repos/#get-all-repository-topics + * @see https://docs.github.com/rest/reference/repos#get-all-repository-topics */ - "GET /repos/{owner}/{repo}/topics": Operation<"/repos/{owner}/{repo}/topics", "get", "mercy">; + "GET /repos/{owner}/{repo}/topics": Operation<"/repos/{owner}/{repo}/topics", "get">; /** * @see https://docs.github.com/rest/reference/repos#get-repository-clones */ @@ -1763,17 +2036,29 @@ export interface Endpoints { */ "GET /repos/{owner}/{repo}/traffic/views": Operation<"/repos/{owner}/{repo}/traffic/views", "get">; /** - * @see https://docs.github.com/v3/repos/#check-if-vulnerability-alerts-are-enabled-for-a-repository + * @see https://docs.github.com/rest/reference/repos#check-if-vulnerability-alerts-are-enabled-for-a-repository */ - "GET /repos/{owner}/{repo}/vulnerability-alerts": Operation<"/repos/{owner}/{repo}/vulnerability-alerts", "get", "dorian">; + "GET /repos/{owner}/{repo}/vulnerability-alerts": Operation<"/repos/{owner}/{repo}/vulnerability-alerts", "get">; /** * @see https://docs.github.com/rest/reference/repos#download-a-repository-archive */ "GET /repos/{owner}/{repo}/zipball/{ref}": Operation<"/repos/{owner}/{repo}/zipball/{ref}", "get">; /** - * @see https://docs.github.com/v3/repos/#list-public-repositories + * @see https://docs.github.com/rest/reference/repos#list-public-repositories */ "GET /repositories": Operation<"/repositories", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-environment-secrets + */ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets": Operation<"/repositories/{repository_id}/environments/{environment_name}/secrets", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-an-environment-public-key + */ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key": Operation<"/repositories/{repository_id}/environments/{environment_name}/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-an-environment-secret + */ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}": Operation<"/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", "get">; /** * @see https://docs.github.com/rest/reference/enterprise-admin#list-provisioned-scim-groups-for-an-enterprise */ @@ -1791,43 +2076,43 @@ export interface Endpoints { */ "GET /scim/v2/enterprises/{enterprise}/Users/{scim_user_id}": Operation<"/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}", "get">; /** - * @see https://docs.github.com/v3/scim/#list-scim-provisioned-identities + * @see https://docs.github.com/rest/reference/scim#list-scim-provisioned-identities */ "GET /scim/v2/organizations/{org}/Users": Operation<"/scim/v2/organizations/{org}/Users", "get">; /** - * @see https://docs.github.com/v3/scim/#get-scim-provisioning-information-for-a-user + * @see https://docs.github.com/rest/reference/scim#get-scim-provisioning-information-for-a-user */ "GET /scim/v2/organizations/{org}/Users/{scim_user_id}": Operation<"/scim/v2/organizations/{org}/Users/{scim_user_id}", "get">; /** - * @see https://docs.github.com/v3/search/#search-code + * @see https://docs.github.com/rest/reference/search#search-code */ "GET /search/code": Operation<"/search/code", "get">; /** - * @see https://docs.github.com/v3/search/#search-commits + * @see https://docs.github.com/rest/reference/search#search-commits */ - "GET /search/commits": Operation<"/search/commits", "get", "cloak">; + "GET /search/commits": Operation<"/search/commits", "get">; /** - * @see https://docs.github.com/v3/search/#search-issues-and-pull-requests + * @see https://docs.github.com/rest/reference/search#search-issues-and-pull-requests */ "GET /search/issues": Operation<"/search/issues", "get">; /** - * @see https://docs.github.com/v3/search/#search-labels + * @see https://docs.github.com/rest/reference/search#search-labels */ "GET /search/labels": Operation<"/search/labels", "get">; /** - * @see https://docs.github.com/v3/search/#search-repositories + * @see https://docs.github.com/rest/reference/search#search-repositories */ "GET /search/repositories": Operation<"/search/repositories", "get">; /** - * @see https://docs.github.com/v3/search/#search-topics + * @see https://docs.github.com/rest/reference/search#search-topics */ - "GET /search/topics": Operation<"/search/topics", "get", "mercy">; + "GET /search/topics": Operation<"/search/topics", "get">; /** - * @see https://docs.github.com/v3/search/#search-users + * @see https://docs.github.com/rest/reference/search#search-users */ "GET /search/users": Operation<"/search/users", "get">; /** - * @see https://docs.github.com/v3/teams/#get-a-team-legacy + * @see https://docs.github.com/rest/reference/teams/#get-a-team-legacy */ "GET /teams/{team_id}": Operation<"/teams/{team_id}", "get">; /** @@ -1847,13 +2132,13 @@ export interface Endpoints { */ "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}", "get">; /** - * @see https://docs.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment-legacy + * @see https://docs.github.com/rest/reference/reactions/#list-reactions-for-a-team-discussion-comment-legacy */ - "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", "get", "squirrel-girl">; + "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", "get">; /** - * @see https://docs.github.com/v3/reactions/#list-reactions-for-a-team-discussion-legacy + * @see https://docs.github.com/rest/reference/reactions/#list-reactions-for-a-team-discussion-legacy */ - "GET /teams/{team_id}/discussions/{discussion_number}/reactions": Operation<"/teams/{team_id}/discussions/{discussion_number}/reactions", "get", "squirrel-girl">; + "GET /teams/{team_id}/discussions/{discussion_number}/reactions": Operation<"/teams/{team_id}/discussions/{discussion_number}/reactions", "get">; /** * @see https://docs.github.com/rest/reference/teams#list-pending-team-invitations-legacy */ @@ -1871,19 +2156,19 @@ export interface Endpoints { */ "GET /teams/{team_id}/memberships/{username}": Operation<"/teams/{team_id}/memberships/{username}", "get">; /** - * @see https://docs.github.com/v3/teams/#list-team-projects-legacy + * @see https://docs.github.com/rest/reference/teams/#list-team-projects-legacy */ - "GET /teams/{team_id}/projects": Operation<"/teams/{team_id}/projects", "get", "inertia">; + "GET /teams/{team_id}/projects": Operation<"/teams/{team_id}/projects", "get">; /** - * @see https://docs.github.com/v3/teams/#check-team-permissions-for-a-project-legacy + * @see https://docs.github.com/rest/reference/teams/#check-team-permissions-for-a-project-legacy */ - "GET /teams/{team_id}/projects/{project_id}": Operation<"/teams/{team_id}/projects/{project_id}", "get", "inertia">; + "GET /teams/{team_id}/projects/{project_id}": Operation<"/teams/{team_id}/projects/{project_id}", "get">; /** - * @see https://docs.github.com/v3/teams/#list-team-repositories-legacy + * @see https://docs.github.com/rest/reference/teams/#list-team-repositories-legacy */ "GET /teams/{team_id}/repos": Operation<"/teams/{team_id}/repos", "get">; /** - * @see https://docs.github.com/v3/teams/#check-team-permissions-for-a-repository-legacy + * @see https://docs.github.com/rest/reference/teams/#check-team-permissions-for-a-repository-legacy */ "GET /teams/{team_id}/repos/{owner}/{repo}": Operation<"/teams/{team_id}/repos/{owner}/{repo}", "get">; /** @@ -1891,11 +2176,11 @@ export interface Endpoints { */ "GET /teams/{team_id}/team-sync/group-mappings": Operation<"/teams/{team_id}/team-sync/group-mappings", "get">; /** - * @see https://docs.github.com/v3/teams/#list-child-teams-legacy + * @see https://docs.github.com/rest/reference/teams/#list-child-teams-legacy */ "GET /teams/{team_id}/teams": Operation<"/teams/{team_id}/teams", "get">; /** - * @see https://docs.github.com/v3/users/#get-the-authenticated-user + * @see https://docs.github.com/rest/reference/users#get-the-authenticated-user */ "GET /user": Operation<"/user", "get">; /** @@ -1906,6 +2191,38 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/users#check-if-a-user-is-blocked-by-the-authenticated-user */ "GET /user/blocks/{username}": Operation<"/user/blocks/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-codespaces-for-the-authenticated-user + */ + "GET /user/codespaces": Operation<"/user/codespaces", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-secrets-for-the-authenticated-user + */ + "GET /user/codespaces/secrets": Operation<"/user/codespaces/secrets", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#get-public-key-for-the-authenticated-user + */ + "GET /user/codespaces/secrets/public-key": Operation<"/user/codespaces/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#get-a-secret-for-the-authenticated-user + */ + "GET /user/codespaces/secrets/{secret_name}": Operation<"/user/codespaces/secrets/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-selected-repositories-for-a-user-secret + */ + "GET /user/codespaces/secrets/{secret_name}/repositories": Operation<"/user/codespaces/secrets/{secret_name}/repositories", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#get-a-codespace-for-the-authenticated-user + */ + "GET /user/codespaces/{codespace_name}": Operation<"/user/codespaces/{codespace_name}", "get">; + /** + * @see + */ + "GET /user/codespaces/{codespace_name}/exports/{export_id}": Operation<"/user/codespaces/{codespace_name}/exports/{export_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-machine-types-for-a-codespace + */ + "GET /user/codespaces/{codespace_name}/machines": Operation<"/user/codespaces/{codespace_name}/machines", "get">; /** * @see https://docs.github.com/rest/reference/users#list-email-addresses-for-the-authenticated-user */ @@ -1943,7 +2260,7 @@ export interface Endpoints { */ "GET /user/interaction-limits": Operation<"/user/interaction-limits", "get">; /** - * @see https://docs.github.com/v3/issues/#list-user-account-issues-assigned-to-the-authenticated-user + * @see https://docs.github.com/rest/reference/issues#list-user-account-issues-assigned-to-the-authenticated-user */ "GET /user/issues": Operation<"/user/issues", "get">; /** @@ -1973,29 +2290,45 @@ export interface Endpoints { /** * @see https://docs.github.com/rest/reference/migrations#list-user-migrations */ - "GET /user/migrations": Operation<"/user/migrations", "get", "wyandotte">; + "GET /user/migrations": Operation<"/user/migrations", "get">; /** * @see https://docs.github.com/rest/reference/migrations#get-a-user-migration-status */ - "GET /user/migrations/{migration_id}": Operation<"/user/migrations/{migration_id}", "get", "wyandotte">; + "GET /user/migrations/{migration_id}": Operation<"/user/migrations/{migration_id}", "get">; /** * @see https://docs.github.com/rest/reference/migrations#download-a-user-migration-archive */ - "GET /user/migrations/{migration_id}/archive": Operation<"/user/migrations/{migration_id}/archive", "get", "wyandotte">; + "GET /user/migrations/{migration_id}/archive": Operation<"/user/migrations/{migration_id}/archive", "get">; /** * @see https://docs.github.com/rest/reference/migrations#list-repositories-for-a-user-migration */ - "GET /user/migrations/{migration_id}/repositories": Operation<"/user/migrations/{migration_id}/repositories", "get", "wyandotte">; + "GET /user/migrations/{migration_id}/repositories": Operation<"/user/migrations/{migration_id}/repositories", "get">; /** - * @see https://docs.github.com/v3/orgs/#list-organizations-for-the-authenticated-user + * @see https://docs.github.com/rest/reference/orgs#list-organizations-for-the-authenticated-user */ "GET /user/orgs": Operation<"/user/orgs", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#list-packages-for-the-authenticated-user + */ + "GET /user/packages": Operation<"/user/packages", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#get-a-package-for-the-authenticated-user + */ + "GET /user/packages/{package_type}/{package_name}": Operation<"/user/packages/{package_type}/{package_name}", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#get-all-package-versions-for-a-package-owned-by-the-authenticated-user + */ + "GET /user/packages/{package_type}/{package_name}/versions": Operation<"/user/packages/{package_type}/{package_name}/versions", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#get-a-package-version-for-the-authenticated-user + */ + "GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/user/packages/{package_type}/{package_name}/versions/{package_version_id}", "get">; /** * @see https://docs.github.com/rest/reference/users#list-public-email-addresses-for-the-authenticated-user */ "GET /user/public_emails": Operation<"/user/public_emails", "get">; /** - * @see https://docs.github.com/v3/repos/#list-repositories-for-the-authenticated-user + * @see https://docs.github.com/rest/reference/repos#list-repositories-for-the-authenticated-user */ "GET /user/repos": Operation<"/user/repos", "get">; /** @@ -2015,15 +2348,15 @@ export interface Endpoints { */ "GET /user/subscriptions": Operation<"/user/subscriptions", "get">; /** - * @see https://docs.github.com/v3/teams/#list-teams-for-the-authenticated-user + * @see https://docs.github.com/rest/reference/teams#list-teams-for-the-authenticated-user */ "GET /user/teams": Operation<"/user/teams", "get">; /** - * @see https://docs.github.com/v3/users/#list-users + * @see https://docs.github.com/rest/reference/users#list-users */ "GET /users": Operation<"/users", "get">; /** - * @see https://docs.github.com/v3/users/#get-a-user + * @see https://docs.github.com/rest/reference/users#get-a-user */ "GET /users/{username}": Operation<"/users/{username}", "get">; /** @@ -2051,7 +2384,7 @@ export interface Endpoints { */ "GET /users/{username}/following/{target_user}": Operation<"/users/{username}/following/{target_user}", "get">; /** - * @see https://docs.github.com/v3/gists/#list-gists-for-a-user + * @see https://docs.github.com/rest/reference/gists#list-gists-for-a-user */ "GET /users/{username}/gists": Operation<"/users/{username}/gists", "get">; /** @@ -2059,11 +2392,11 @@ export interface Endpoints { */ "GET /users/{username}/gpg_keys": Operation<"/users/{username}/gpg_keys", "get">; /** - * @see https://docs.github.com/v3/users/#get-contextual-information-for-a-user + * @see https://docs.github.com/rest/reference/users#get-contextual-information-for-a-user */ "GET /users/{username}/hovercard": Operation<"/users/{username}/hovercard", "get">; /** - * @see https://docs.github.com/v3/apps/#get-a-user-installation-for-the-authenticated-app + * @see https://docs.github.com/rest/reference/apps#get-a-user-installation-for-the-authenticated-app */ "GET /users/{username}/installation": Operation<"/users/{username}/installation", "get">; /** @@ -2071,13 +2404,29 @@ export interface Endpoints { */ "GET /users/{username}/keys": Operation<"/users/{username}/keys", "get">; /** - * @see https://docs.github.com/v3/orgs/#list-organizations-for-a-user + * @see https://docs.github.com/rest/reference/orgs#list-organizations-for-a-user */ "GET /users/{username}/orgs": Operation<"/users/{username}/orgs", "get">; /** - * @see https://docs.github.com/v3/projects/#list-user-projects + * @see https://docs.github.com/rest/reference/packages#list-packages-for-user + */ + "GET /users/{username}/packages": Operation<"/users/{username}/packages", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#get-a-package-for-a-user + */ + "GET /users/{username}/packages/{package_type}/{package_name}": Operation<"/users/{username}/packages/{package_type}/{package_name}", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#get-all-package-versions-for-a-package-owned-by-a-user + */ + "GET /users/{username}/packages/{package_type}/{package_name}/versions": Operation<"/users/{username}/packages/{package_type}/{package_name}/versions", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#get-a-package-version-for-a-user + */ + "GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/projects#list-user-projects */ - "GET /users/{username}/projects": Operation<"/users/{username}/projects", "get", "inertia">; + "GET /users/{username}/projects": Operation<"/users/{username}/projects", "get">; /** * @see https://docs.github.com/rest/reference/activity#list-events-received-by-the-authenticated-user */ @@ -2087,19 +2436,19 @@ export interface Endpoints { */ "GET /users/{username}/received_events/public": Operation<"/users/{username}/received_events/public", "get">; /** - * @see https://docs.github.com/v3/repos/#list-repositories-for-a-user + * @see https://docs.github.com/rest/reference/repos#list-repositories-for-a-user */ "GET /users/{username}/repos": Operation<"/users/{username}/repos", "get">; /** - * @see https://docs.github.com/v3/billing/#get-github-actions-billing-for-a-user + * @see https://docs.github.com/rest/reference/billing#get-github-actions-billing-for-a-user */ "GET /users/{username}/settings/billing/actions": Operation<"/users/{username}/settings/billing/actions", "get">; /** - * @see https://docs.github.com/v3/billing/#get-github-packages-billing-for-a-user + * @see https://docs.github.com/rest/reference/billing#get-github-packages-billing-for-a-user */ "GET /users/{username}/settings/billing/packages": Operation<"/users/{username}/settings/billing/packages", "get">; /** - * @see https://docs.github.com/v3/billing/#get-shared-storage-billing-for-a-user + * @see https://docs.github.com/rest/reference/billing#get-shared-storage-billing-for-a-user */ "GET /users/{username}/settings/billing/shared-storage": Operation<"/users/{username}/settings/billing/shared-storage", "get">; /** @@ -2115,7 +2464,7 @@ export interface Endpoints { */ "GET /zen": Operation<"/zen", "get">; /** - * @see https://docs.github.com/v3/apps#update-a-webhook-configuration-for-an-app + * @see https://docs.github.com/rest/reference/apps#update-a-webhook-configuration-for-an-app */ "PATCH /app/hook/config": Operation<"/app/hook/config", "patch">; /** @@ -2127,11 +2476,11 @@ export interface Endpoints { */ "PATCH /authorizations/{authorization_id}": Operation<"/authorizations/{authorization_id}", "patch">; /** - * @see https://docs.github.com/rest/reference/enterprise-admin#update-a-self-hosted-runner-group-for-an-enterprise + * @see https://docs.github.com/rest/reference/actions#update-a-self-hosted-runner-group-for-an-enterprise */ "PATCH /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}", "patch">; /** - * @see https://docs.github.com/v3/gists/#update-a-gist + * @see https://docs.github.com/rest/reference/gists/#update-a-gist */ "PATCH /gists/{gist_id}": Operation<"/gists/{gist_id}", "patch">; /** @@ -2143,7 +2492,7 @@ export interface Endpoints { */ "PATCH /notifications/threads/{thread_id}": Operation<"/notifications/threads/{thread_id}", "patch">; /** - * @see https://docs.github.com/v3/orgs/#update-an-organization + * @see https://docs.github.com/rest/reference/orgs/#update-an-organization */ "PATCH /orgs/{org}": Operation<"/orgs/{org}", "patch">; /** @@ -2155,11 +2504,11 @@ export interface Endpoints { */ "PATCH /orgs/{org}/hooks/{hook_id}": Operation<"/orgs/{org}/hooks/{hook_id}", "patch">; /** - * @see https://docs.github.com/v3/orgs#update-a-webhook-configuration-for-an-organization + * @see https://docs.github.com/rest/reference/orgs#update-a-webhook-configuration-for-an-organization */ "PATCH /orgs/{org}/hooks/{hook_id}/config": Operation<"/orgs/{org}/hooks/{hook_id}/config", "patch">; /** - * @see https://docs.github.com/v3/teams/#update-a-team + * @see https://docs.github.com/rest/reference/teams#update-a-team */ "PATCH /orgs/{org}/teams/{team_slug}": Operation<"/orgs/{org}/teams/{team_slug}", "patch">; /** @@ -2170,6 +2519,10 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/teams#update-a-discussion-comment */ "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", "patch">; + /** + * @see https://docs.github.com/rest/reference/teams#link-external-idp-group-team-connection + */ + "PATCH /orgs/{org}/teams/{team_slug}/external-groups": Operation<"/orgs/{org}/teams/{team_slug}/external-groups", "patch">; /** * @see https://docs.github.com/rest/reference/teams#create-or-update-idp-group-connections */ @@ -2177,17 +2530,17 @@ export interface Endpoints { /** * @see https://docs.github.com/rest/reference/projects#update-a-project-card */ - "PATCH /projects/columns/cards/{card_id}": Operation<"/projects/columns/cards/{card_id}", "patch", "inertia">; + "PATCH /projects/columns/cards/{card_id}": Operation<"/projects/columns/cards/{card_id}", "patch">; /** * @see https://docs.github.com/rest/reference/projects#update-a-project-column */ - "PATCH /projects/columns/{column_id}": Operation<"/projects/columns/{column_id}", "patch", "inertia">; + "PATCH /projects/columns/{column_id}": Operation<"/projects/columns/{column_id}", "patch">; /** - * @see https://docs.github.com/v3/projects/#update-a-project + * @see https://docs.github.com/rest/reference/projects#update-a-project */ - "PATCH /projects/{project_id}": Operation<"/projects/{project_id}", "patch", "inertia">; + "PATCH /projects/{project_id}": Operation<"/projects/{project_id}", "patch">; /** - * @see https://docs.github.com/v3/repos/#update-a-repository + * @see https://docs.github.com/rest/reference/repos/#update-a-repository */ "PATCH /repos/{owner}/{repo}": Operation<"/repos/{owner}/{repo}", "patch">; /** @@ -2195,7 +2548,7 @@ export interface Endpoints { */ "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", "patch">; /** - * @see https://docs.github.com/rest/reference/repos#update-status-check-potection + * @see https://docs.github.com/rest/reference/repos#update-status-check-protection */ "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", "patch">; /** @@ -2207,7 +2560,7 @@ export interface Endpoints { */ "PATCH /repos/{owner}/{repo}/check-suites/preferences": Operation<"/repos/{owner}/{repo}/check-suites/preferences", "patch">; /** - * @see https://docs.github.com/v3/code-scanning/#upload-a-code-scanning-alert + * @see https://docs.github.com/rest/reference/code-scanning#update-a-code-scanning-alert */ "PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", "patch">; /** @@ -2223,7 +2576,7 @@ export interface Endpoints { */ "PATCH /repos/{owner}/{repo}/hooks/{hook_id}": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}", "patch">; /** - * @see https://docs.github.com/v3/repos#update-a-webhook-configuration-for-a-repository + * @see https://docs.github.com/rest/reference/repos#update-a-webhook-configuration-for-a-repository */ "PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/config", "patch">; /** @@ -2247,7 +2600,7 @@ export interface Endpoints { */ "PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}", "patch">; /** - * @see https://docs.github.com/v3/issues/#update-an-issue + * @see https://docs.github.com/rest/reference/issues/#update-an-issue */ "PATCH /repos/{owner}/{repo}/issues/{issue_number}": Operation<"/repos/{owner}/{repo}/issues/{issue_number}", "patch">; /** @@ -2263,7 +2616,7 @@ export interface Endpoints { */ "PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}", "patch">; /** - * @see https://docs.github.com/v3/pulls/#update-a-pull-request + * @see https://docs.github.com/rest/reference/pulls/#update-a-pull-request */ "PATCH /repos/{owner}/{repo}/pulls/{pull_number}": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}", "patch">; /** @@ -2287,11 +2640,11 @@ export interface Endpoints { */ "PATCH /scim/v2/enterprises/{enterprise}/Users/{scim_user_id}": Operation<"/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}", "patch">; /** - * @see https://docs.github.com/v3/scim/#update-an-attribute-for-a-scim-user + * @see https://docs.github.com/rest/reference/scim#update-an-attribute-for-a-scim-user */ "PATCH /scim/v2/organizations/{org}/Users/{scim_user_id}": Operation<"/scim/v2/organizations/{org}/Users/{scim_user_id}", "patch">; /** - * @see https://docs.github.com/v3/teams/#update-a-team-legacy + * @see https://docs.github.com/rest/reference/teams/#update-a-team-legacy */ "PATCH /teams/{team_id}": Operation<"/teams/{team_id}", "patch">; /** @@ -2307,9 +2660,13 @@ export interface Endpoints { */ "PATCH /teams/{team_id}/team-sync/group-mappings": Operation<"/teams/{team_id}/team-sync/group-mappings", "patch">; /** - * @see https://docs.github.com/v3/users/#update-the-authenticated-user + * @see https://docs.github.com/rest/reference/users/#update-the-authenticated-user */ "PATCH /user": Operation<"/user", "patch">; + /** + * @see https://docs.github.com/rest/reference/codespaces#update-a-codespace-for-the-authenticated-user + */ + "PATCH /user/codespaces/{codespace_name}": Operation<"/user/codespaces/{codespace_name}", "patch">; /** * @see https://docs.github.com/rest/reference/users#set-primary-email-visibility-for-the-authenticated-user */ @@ -2323,11 +2680,15 @@ export interface Endpoints { */ "PATCH /user/repository_invitations/{invitation_id}": Operation<"/user/repository_invitations/{invitation_id}", "patch">; /** - * @see https://docs.github.com/v3/apps/#create-a-github-app-from-a-manifest + * @see https://docs.github.com/rest/reference/apps#create-a-github-app-from-a-manifest */ "POST /app-manifests/{code}/conversions": Operation<"/app-manifests/{code}/conversions", "post">; /** - * @see https://docs.github.com/v3/apps/#create-an-installation-access-token-for-an-app + * @see https://docs.github.com/rest/reference/apps#redeliver-a-delivery-for-an-app-webhook + */ + "POST /app/hook/deliveries/{delivery_id}/attempts": Operation<"/app/hook/deliveries/{delivery_id}/attempts", "post">; + /** + * @see https://docs.github.com/rest/reference/apps/#create-an-installation-access-token-for-an-app */ "POST /app/installations/{installation_id}/access_tokens": Operation<"/app/installations/{installation_id}/access_tokens", "post">; /** @@ -2338,32 +2699,28 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/apps#create-a-scoped-access-token */ "POST /applications/{client_id}/token/scoped": Operation<"/applications/{client_id}/token/scoped", "post">; - /** - * @see https://docs.github.com/rest/reference/apps#reset-an-authorization - */ - "POST /applications/{client_id}/tokens/{access_token}": Operation<"/applications/{client_id}/tokens/{access_token}", "post">; /** * @see https://docs.github.com/rest/reference/oauth-authorizations#create-a-new-authorization */ "POST /authorizations": Operation<"/authorizations", "post">; /** - * @see https://docs.github.com/rest/reference/apps#create-a-content-attachment - */ - "POST /content_references/{content_reference_id}/attachments": Operation<"/content_references/{content_reference_id}/attachments", "post", "corsair">; - /** - * @see https://docs.github.com/rest/reference/enterprise-admin#create-self-hosted-runner-group-for-an-enterprise + * @see https://docs.github.com/rest/reference/actions#create-self-hosted-runner-group-for-an-enterprise */ "POST /enterprises/{enterprise}/actions/runner-groups": Operation<"/enterprises/{enterprise}/actions/runner-groups", "post">; /** - * @see https://docs.github.com/rest/reference/enterprise-admin#create-a-registration-token-for-an-enterprise + * @see https://docs.github.com/rest/reference/actions#create-a-registration-token-for-an-enterprise */ "POST /enterprises/{enterprise}/actions/runners/registration-token": Operation<"/enterprises/{enterprise}/actions/runners/registration-token", "post">; /** - * @see https://docs.github.com/rest/reference/enterprise-admin#create-a-remove-token-for-an-enterprise + * @see https://docs.github.com/rest/reference/actions#create-a-remove-token-for-an-enterprise */ "POST /enterprises/{enterprise}/actions/runners/remove-token": Operation<"/enterprises/{enterprise}/actions/runners/remove-token", "post">; /** - * @see https://docs.github.com/v3/gists/#create-a-gist + * @see https://docs.github.com/rest/reference/actions#add-custom-labels-to-a-self-hosted-runner-for-an-enterprise + */ + "POST /enterprises/{enterprise}/actions/runners/{runner_id}/labels": Operation<"/enterprises/{enterprise}/actions/runners/{runner_id}/labels", "post">; + /** + * @see https://docs.github.com/rest/reference/gists#create-a-gist */ "POST /gists": Operation<"/gists", "post">; /** @@ -2371,15 +2728,15 @@ export interface Endpoints { */ "POST /gists/{gist_id}/comments": Operation<"/gists/{gist_id}/comments", "post">; /** - * @see https://docs.github.com/v3/gists/#fork-a-gist + * @see https://docs.github.com/rest/reference/gists#fork-a-gist */ "POST /gists/{gist_id}/forks": Operation<"/gists/{gist_id}/forks", "post">; /** - * @see https://docs.github.com/v3/markdown/#render-a-markdown-document + * @see https://docs.github.com/rest/reference/markdown#render-a-markdown-document */ "POST /markdown": Operation<"/markdown", "post">; /** - * @see https://docs.github.com/v3/markdown/#render-a-markdown-document-in-raw-mode + * @see https://docs.github.com/rest/reference/markdown#render-a-markdown-document-in-raw-mode */ "POST /markdown/raw": Operation<"/markdown/raw", "post">; /** @@ -2394,10 +2751,18 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/actions#create-a-remove-token-for-an-organization */ "POST /orgs/{org}/actions/runners/remove-token": Operation<"/orgs/{org}/actions/runners/remove-token", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#add-custom-labels-to-a-self-hosted-runner-for-an-organization + */ + "POST /orgs/{org}/actions/runners/{runner_id}/labels": Operation<"/orgs/{org}/actions/runners/{runner_id}/labels", "post">; /** * @see https://docs.github.com/rest/reference/orgs#create-an-organization-webhook */ "POST /orgs/{org}/hooks": Operation<"/orgs/{org}/hooks", "post">; + /** + * @see https://docs.github.com/rest/reference/orgs#redeliver-a-delivery-for-an-organization-webhook + */ + "POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": Operation<"/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts", "post">; /** * @see https://docs.github.com/rest/reference/orgs#ping-an-organization-webhook */ @@ -2406,20 +2771,32 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/orgs#create-an-organization-invitation */ "POST /orgs/{org}/invitations": Operation<"/orgs/{org}/invitations", "post">; + /** + * @see https://docs.github.com/rest/reference/codespaces + */ + "POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop": Operation<"/orgs/{org}/members/{username}/codespaces/{codespace_name}/stop", "post">; /** * @see https://docs.github.com/rest/reference/migrations#start-an-organization-migration */ "POST /orgs/{org}/migrations": Operation<"/orgs/{org}/migrations", "post">; /** - * @see https://docs.github.com/v3/projects/#create-an-organization-project + * @see https://docs.github.com/rest/reference/packages#restore-a-package-for-an-organization + */ + "POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}": Operation<"/orgs/{org}/packages/{package_type}/{package_name}/restore", "post">; + /** + * @see https://docs.github.com/rest/reference/packages#restore-a-package-version-for-an-organization */ - "POST /orgs/{org}/projects": Operation<"/orgs/{org}/projects", "post", "inertia">; + "POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": Operation<"/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore", "post">; /** - * @see https://docs.github.com/v3/repos/#create-an-organization-repository + * @see https://docs.github.com/rest/reference/projects#create-an-organization-project + */ + "POST /orgs/{org}/projects": Operation<"/orgs/{org}/projects", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-an-organization-repository */ "POST /orgs/{org}/repos": Operation<"/orgs/{org}/repos", "post">; /** - * @see https://docs.github.com/v3/teams/#create-a-team + * @see https://docs.github.com/rest/reference/teams#create-a-team */ "POST /orgs/{org}/teams": Operation<"/orgs/{org}/teams", "post">; /** @@ -2431,29 +2808,33 @@ export interface Endpoints { */ "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", "post">; /** - * @see https://docs.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment + * @see https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion-comment */ - "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", "post", "squirrel-girl">; + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", "post">; /** - * @see https://docs.github.com/v3/reactions/#create-reaction-for-a-team-discussion + * @see https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion */ - "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", "post", "squirrel-girl">; + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", "post">; /** * @see https://docs.github.com/rest/reference/projects#move-a-project-card */ - "POST /projects/columns/cards/{card_id}/moves": Operation<"/projects/columns/cards/{card_id}/moves", "post", "inertia">; + "POST /projects/columns/cards/{card_id}/moves": Operation<"/projects/columns/cards/{card_id}/moves", "post">; /** * @see https://docs.github.com/rest/reference/projects#create-a-project-card */ - "POST /projects/columns/{column_id}/cards": Operation<"/projects/columns/{column_id}/cards", "post", "inertia">; + "POST /projects/columns/{column_id}/cards": Operation<"/projects/columns/{column_id}/cards", "post">; /** * @see https://docs.github.com/rest/reference/projects#move-a-project-column */ - "POST /projects/columns/{column_id}/moves": Operation<"/projects/columns/{column_id}/moves", "post", "inertia">; + "POST /projects/columns/{column_id}/moves": Operation<"/projects/columns/{column_id}/moves", "post">; /** * @see https://docs.github.com/rest/reference/projects#create-a-project-column */ - "POST /projects/{project_id}/columns": Operation<"/projects/{project_id}/columns", "post", "inertia">; + "POST /projects/{project_id}/columns": Operation<"/projects/{project_id}/columns", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#re-run-job-for-workflow-run + */ + "POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun": Operation<"/repos/{owner}/{repo}/actions/jobs/{job_id}/rerun", "post">; /** * @see https://docs.github.com/rest/reference/actions#create-a-registration-token-for-a-repository */ @@ -2462,18 +2843,38 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/actions#create-a-remove-token-for-a-repository */ "POST /repos/{owner}/{repo}/actions/runners/remove-token": Operation<"/repos/{owner}/{repo}/actions/runners/remove-token", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#add-custom-labels-to-a-self-hosted-runner-for-a-repository + */ + "POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}/labels", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#approve-a-workflow-run-for-a-fork-pull-request + */ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/approve", "post">; /** * @see https://docs.github.com/rest/reference/actions#cancel-a-workflow-run */ "POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/cancel", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#review-pending-deployments-for-a-workflow-run + */ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments", "post">; /** * @see https://docs.github.com/rest/reference/actions#re-run-a-workflow */ "POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/rerun", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#re-run-workflow-failed-jobs + */ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs", "post">; /** * @see https://docs.github.com/rest/reference/actions#create-a-workflow-dispatch-event */ "POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches", "post">; + /** + * @see https://docs.github.com/v3/repos#create-an-autolink + */ + "POST /repos/{owner}/{repo}/autolinks": Operation<"/repos/{owner}/{repo}/autolinks", "post">; /** * @see https://docs.github.com/rest/reference/repos#set-admin-branch-protection */ @@ -2481,7 +2882,7 @@ export interface Endpoints { /** * @see https://docs.github.com/rest/reference/repos#create-commit-signature-protection */ - "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", "post", "zzzax">; + "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", "post">; /** * @see https://docs.github.com/rest/reference/repos#add-status-check-contexts */ @@ -2506,6 +2907,10 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/checks#create-a-check-run */ "POST /repos/{owner}/{repo}/check-runs": Operation<"/repos/{owner}/{repo}/check-runs", "post">; + /** + * @see https://docs.github.com/rest/reference/checks#rerequest-a-check-run + */ + "POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest": Operation<"/repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest", "post">; /** * @see https://docs.github.com/rest/reference/checks#create-a-check-suite */ @@ -2515,17 +2920,25 @@ export interface Endpoints { */ "POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest": Operation<"/repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest", "post">; /** - * @see https://docs.github.com/v3/code-scanning/#upload-a-sarif-analysis + * @see https://docs.github.com/rest/reference/code-scanning#upload-a-sarif-file */ "POST /repos/{owner}/{repo}/code-scanning/sarifs": Operation<"/repos/{owner}/{repo}/code-scanning/sarifs", "post">; /** - * @see https://docs.github.com/v3/reactions/#create-reaction-for-a-commit-comment + * @see https://docs.github.com/rest/reference/codespaces#create-a-codespace-in-a-repository + */ + "POST /repos/{owner}/{repo}/codespaces": Operation<"/repos/{owner}/{repo}/codespaces", "post">; + /** + * @see https://docs.github.com/rest/reference/reactions#create-reaction-for-a-commit-comment */ - "POST /repos/{owner}/{repo}/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/comments/{comment_id}/reactions", "post", "squirrel-girl">; + "POST /repos/{owner}/{repo}/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/comments/{comment_id}/reactions", "post">; /** * @see https://docs.github.com/rest/reference/repos#create-a-commit-comment */ "POST /repos/{owner}/{repo}/commits/{commit_sha}/comments": Operation<"/repos/{owner}/{repo}/commits/{commit_sha}/comments", "post">; + /** + * @see https://docs.github.com/rest/reference/dependency-graph#create-a-snapshot-of-dependencies-for-a-repository + */ + "POST /repos/{owner}/{repo}/dependency-graph/snapshots": Operation<"/repos/{owner}/{repo}/dependency-graph/snapshots", "post">; /** * @see https://docs.github.com/rest/reference/repos#create-a-deployment */ @@ -2535,7 +2948,7 @@ export interface Endpoints { */ "POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses": Operation<"/repos/{owner}/{repo}/deployments/{deployment_id}/statuses", "post">; /** - * @see https://docs.github.com/v3/repos/#create-a-repository-dispatch-event + * @see https://docs.github.com/rest/reference/repos#create-a-repository-dispatch-event */ "POST /repos/{owner}/{repo}/dispatches": Operation<"/repos/{owner}/{repo}/dispatches", "post">; /** @@ -2566,6 +2979,10 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/repos#create-a-repository-webhook */ "POST /repos/{owner}/{repo}/hooks": Operation<"/repos/{owner}/{repo}/hooks", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#redeliver-a-delivery-for-a-repository-webhook + */ + "POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts", "post">; /** * @see https://docs.github.com/rest/reference/repos#ping-a-repository-webhook */ @@ -2575,13 +2992,13 @@ export interface Endpoints { */ "POST /repos/{owner}/{repo}/hooks/{hook_id}/tests": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/tests", "post">; /** - * @see https://docs.github.com/v3/issues/#create-an-issue + * @see https://docs.github.com/rest/reference/issues#create-an-issue */ "POST /repos/{owner}/{repo}/issues": Operation<"/repos/{owner}/{repo}/issues", "post">; /** - * @see https://docs.github.com/v3/reactions/#create-reaction-for-an-issue-comment + * @see https://docs.github.com/rest/reference/reactions#create-reaction-for-an-issue-comment */ - "POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", "post", "squirrel-girl">; + "POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", "post">; /** * @see https://docs.github.com/rest/reference/issues#add-assignees-to-an-issue */ @@ -2595,9 +3012,9 @@ export interface Endpoints { */ "POST /repos/{owner}/{repo}/issues/{issue_number}/labels": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/labels", "post">; /** - * @see https://docs.github.com/v3/reactions/#create-reaction-for-an-issue + * @see https://docs.github.com/rest/reference/reactions#create-reaction-for-an-issue */ - "POST /repos/{owner}/{repo}/issues/{issue_number}/reactions": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/reactions", "post", "squirrel-girl">; + "POST /repos/{owner}/{repo}/issues/{issue_number}/reactions": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/reactions", "post">; /** * @see https://docs.github.com/rest/reference/repos#create-a-deploy-key */ @@ -2606,6 +3023,10 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/issues#create-a-label */ "POST /repos/{owner}/{repo}/labels": Operation<"/repos/{owner}/{repo}/labels", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#sync-a-fork-branch-with-the-upstream-repository + */ + "POST /repos/{owner}/{repo}/merge-upstream": Operation<"/repos/{owner}/{repo}/merge-upstream", "post">; /** * @see https://docs.github.com/rest/reference/repos#merge-a-branch */ @@ -2617,23 +3038,27 @@ export interface Endpoints { /** * @see https://docs.github.com/rest/reference/repos#create-a-github-pages-site */ - "POST /repos/{owner}/{repo}/pages": Operation<"/repos/{owner}/{repo}/pages", "post", "switcheroo">; + "POST /repos/{owner}/{repo}/pages": Operation<"/repos/{owner}/{repo}/pages", "post">; /** * @see https://docs.github.com/rest/reference/repos#request-a-github-pages-build */ "POST /repos/{owner}/{repo}/pages/builds": Operation<"/repos/{owner}/{repo}/pages/builds", "post">; /** - * @see https://docs.github.com/v3/projects/#create-a-repository-project + * @see https://docs.github.com/rest/reference/projects#create-a-repository-project */ - "POST /repos/{owner}/{repo}/projects": Operation<"/repos/{owner}/{repo}/projects", "post", "inertia">; + "POST /repos/{owner}/{repo}/projects": Operation<"/repos/{owner}/{repo}/projects", "post">; /** - * @see https://docs.github.com/v3/pulls/#create-a-pull-request + * @see https://docs.github.com/rest/reference/pulls#create-a-pull-request */ "POST /repos/{owner}/{repo}/pulls": Operation<"/repos/{owner}/{repo}/pulls", "post">; /** - * @see https://docs.github.com/v3/reactions/#create-reaction-for-a-pull-request-review-comment + * @see https://docs.github.com/rest/reference/reactions#create-reaction-for-a-pull-request-review-comment + */ + "POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", "post">; + /** + * @see https://docs.github.com/rest/reference/codespaces#create-a-codespace-from-a-pull-request */ - "POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", "post", "squirrel-girl">; + "POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/codespaces", "post">; /** * @see https://docs.github.com/rest/reference/pulls#create-a-review-comment-for-a-pull-request */ @@ -2658,18 +3083,30 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/repos#create-a-release */ "POST /repos/{owner}/{repo}/releases": Operation<"/repos/{owner}/{repo}/releases", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#generate-release-notes + */ + "POST /repos/{owner}/{repo}/releases/generate-notes": Operation<"/repos/{owner}/{repo}/releases/generate-notes", "post">; + /** + * @see https://docs.github.com/rest/reference/reactions/#create-reaction-for-a-release + */ + "POST /repos/{owner}/{repo}/releases/{release_id}/reactions": Operation<"/repos/{owner}/{repo}/releases/{release_id}/reactions", "post">; /** * @see https://docs.github.com/rest/reference/repos#create-a-commit-status */ "POST /repos/{owner}/{repo}/statuses/{sha}": Operation<"/repos/{owner}/{repo}/statuses/{sha}", "post">; /** - * @see https://docs.github.com/v3/repos/#transfer-a-repository + * @see https://docs.github.com/rest/reference/repos#create-tag-protection-state-for-a-repository + */ + "POST /repos/{owner}/{repo}/tags/protection": Operation<"/repos/{owner}/{repo}/tags/protection", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#transfer-a-repository */ "POST /repos/{owner}/{repo}/transfer": Operation<"/repos/{owner}/{repo}/transfer", "post">; /** - * @see https://docs.github.com/v3/repos/#create-a-repository-using-a-template + * @see https://docs.github.com/rest/reference/repos#create-a-repository-using-a-template */ - "POST /repos/{template_owner}/{template_repo}/generate": Operation<"/repos/{template_owner}/{template_repo}/generate", "post", "baptiste">; + "POST /repos/{template_owner}/{template_repo}/generate": Operation<"/repos/{template_owner}/{template_repo}/generate", "post">; /** * @see https://docs.github.com/rest/reference/enterprise-admin#provision-a-scim-enterprise-group-and-invite-users */ @@ -2679,7 +3116,7 @@ export interface Endpoints { */ "POST /scim/v2/enterprises/{enterprise}/Users": Operation<"/scim/v2/enterprises/{enterprise}/Users", "post">; /** - * @see https://docs.github.com/v3/scim/#provision-and-invite-a-scim-user + * @see https://docs.github.com/rest/reference/scim#provision-and-invite-a-scim-user */ "POST /scim/v2/organizations/{org}/Users": Operation<"/scim/v2/organizations/{org}/Users", "post">; /** @@ -2691,13 +3128,29 @@ export interface Endpoints { */ "POST /teams/{team_id}/discussions/{discussion_number}/comments": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments", "post">; /** - * @see https://docs.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment-legacy + * @see https://docs.github.com/rest/reference/reactions/#create-reaction-for-a-team-discussion-comment-legacy */ - "POST /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", "post", "squirrel-girl">; + "POST /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", "post">; /** - * @see https://docs.github.com/v3/reactions/#create-reaction-for-a-team-discussion-legacy + * @see https://docs.github.com/rest/reference/reactions/#create-reaction-for-a-team-discussion-legacy */ - "POST /teams/{team_id}/discussions/{discussion_number}/reactions": Operation<"/teams/{team_id}/discussions/{discussion_number}/reactions", "post", "squirrel-girl">; + "POST /teams/{team_id}/discussions/{discussion_number}/reactions": Operation<"/teams/{team_id}/discussions/{discussion_number}/reactions", "post">; + /** + * @see https://docs.github.com/rest/reference/codespaces#create-a-codespace-for-the-authenticated-user + */ + "POST /user/codespaces": Operation<"/user/codespaces", "post">; + /** + * @see + */ + "POST /user/codespaces/{codespace_name}/exports": Operation<"/user/codespaces/{codespace_name}/exports", "post">; + /** + * @see https://docs.github.com/rest/reference/codespaces#start-a-codespace-for-the-authenticated-user + */ + "POST /user/codespaces/{codespace_name}/start": Operation<"/user/codespaces/{codespace_name}/start", "post">; + /** + * @see https://docs.github.com/rest/reference/codespaces#stop-a-codespace-for-the-authenticated-user + */ + "POST /user/codespaces/{codespace_name}/stop": Operation<"/user/codespaces/{codespace_name}/stop", "post">; /** * @see https://docs.github.com/rest/reference/users#add-an-email-address-for-the-authenticated-user */ @@ -2715,19 +3168,35 @@ export interface Endpoints { */ "POST /user/migrations": Operation<"/user/migrations", "post">; /** - * @see https://docs.github.com/v3/projects/#create-a-user-project + * @see https://docs.github.com/rest/reference/packages#restore-a-package-for-the-authenticated-user */ - "POST /user/projects": Operation<"/user/projects", "post", "inertia">; + "POST /user/packages/{package_type}/{package_name}/restore{?token}": Operation<"/user/packages/{package_type}/{package_name}/restore", "post">; /** - * @see https://docs.github.com/v3/repos/#create-a-repository-for-the-authenticated-user + * @see https://docs.github.com/rest/reference/packages#restore-a-package-version-for-the-authenticated-user + */ + "POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": Operation<"/user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore", "post">; + /** + * @see https://docs.github.com/rest/reference/projects#create-a-user-project + */ + "POST /user/projects": Operation<"/user/projects", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-repository-for-the-authenticated-user */ "POST /user/repos": Operation<"/user/repos", "post">; + /** + * @see https://docs.github.com/rest/reference/packages#restore-a-package-for-a-user + */ + "POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}": Operation<"/users/{username}/packages/{package_type}/{package_name}/restore", "post">; + /** + * @see https://docs.github.com/rest/reference/packages#restore-a-package-version-for-a-user + */ + "POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": Operation<"/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore", "post">; /** * @see https://docs.github.com/rest/reference/repos#upload-a-release-asset */ "POST {origin}/repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}": Operation<"/repos/{owner}/{repo}/releases/{release_id}/assets", "post">; /** - * @see https://docs.github.com/v3/apps/#suspend-an-app-installation + * @see https://docs.github.com/rest/reference/apps#suspend-an-app-installation */ "PUT /app/installations/{installation_id}/suspended": Operation<"/app/installations/{installation_id}/suspended", "put">; /** @@ -2739,39 +3208,51 @@ export interface Endpoints { */ "PUT /authorizations/clients/{client_id}/{fingerprint}": Operation<"/authorizations/clients/{client_id}/{fingerprint}", "put">; /** - * @see https://docs.github.com/rest/reference/enterprise-admin#set-github-actions-permissions-for-an-enterprise + * @see https://docs.github.com/rest/reference/actions/oidc#set-actions-oidc-custom-issuer-policy-for-enterprise + */ + "PUT /enterprises/{enterprise}/actions/oidc/customization/issuer": Operation<"/enterprises/{enterprise}/actions/oidc/customization/issuer", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-github-actions-permissions-for-an-enterprise */ "PUT /enterprises/{enterprise}/actions/permissions": Operation<"/enterprises/{enterprise}/actions/permissions", "put">; /** - * @see https://docs.github.com/rest/reference/enterprise-admin#set-selected-organizations-enabled-for-github-actions-in-an-enterprise + * @see https://docs.github.com/rest/reference/actions#set-selected-organizations-enabled-for-github-actions-in-an-enterprise */ "PUT /enterprises/{enterprise}/actions/permissions/organizations": Operation<"/enterprises/{enterprise}/actions/permissions/organizations", "put">; /** - * @see https://docs.github.com/rest/reference/enterprise-admin#enable-a-selected-organization-for-github-actions-in-an-enterprise + * @see https://docs.github.com/rest/reference/actions#enable-a-selected-organization-for-github-actions-in-an-enterprise */ "PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}": Operation<"/enterprises/{enterprise}/actions/permissions/organizations/{org_id}", "put">; /** - * @see https://docs.github.com/rest/reference/enterprise-admin#set-allowed-actions-for-an-enterprise + * @see https://docs.github.com/rest/reference/actions#set-allowed-actions-for-an-enterprise */ "PUT /enterprises/{enterprise}/actions/permissions/selected-actions": Operation<"/enterprises/{enterprise}/actions/permissions/selected-actions", "put">; /** - * @see https://docs.github.com/rest/reference/enterprise-admin#set-organization-access-to-a-self-hosted-runner-group-in-an-enterprise + * @see https://docs.github.com/rest/reference/actions#set-default-workflow-permissions-for-an-enterprise + */ + "PUT /enterprises/{enterprise}/actions/permissions/workflow": Operation<"/enterprises/{enterprise}/actions/permissions/workflow", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-organization-access-to-a-self-hosted-runner-group-in-an-enterprise */ "PUT /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations", "put">; /** - * @see https://docs.github.com/rest/reference/enterprise-admin#add-organization-access-to-a-self-hosted-runner-group-in-an-enterprise + * @see https://docs.github.com/rest/reference/actions#add-organization-access-to-a-self-hosted-runner-group-in-an-enterprise */ "PUT /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations/{org_id}": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations/{org_id}", "put">; /** - * @see https://docs.github.com/rest/reference/enterprise-admin#set-self-hosted-runners-in-a-group-for-an-enterprise + * @see https://docs.github.com/rest/reference/actions#set-self-hosted-runners-in-a-group-for-an-enterprise */ "PUT /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners", "put">; /** - * @see https://docs.github.com/rest/reference/enterprise-admin#add-a-self-hosted-runner-to-a-group-for-an-enterprise + * @see https://docs.github.com/rest/reference/actions#add-a-self-hosted-runner-to-a-group-for-an-enterprise */ "PUT /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}", "put">; /** - * @see https://docs.github.com/v3/gists/#star-a-gist + * @see https://docs.github.com/rest/reference/actions#set-custom-labels-for-a-self-hosted-runner-for-an-enterprise + */ + "PUT /enterprises/{enterprise}/actions/runners/{runner_id}/labels": Operation<"/enterprises/{enterprise}/actions/runners/{runner_id}/labels", "put">; + /** + * @see https://docs.github.com/rest/reference/gists#star-a-gist */ "PUT /gists/{gist_id}/star": Operation<"/gists/{gist_id}/star", "put">; /** @@ -2782,6 +3263,10 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/activity#set-a-thread-subscription */ "PUT /notifications/threads/{thread_id}/subscription": Operation<"/notifications/threads/{thread_id}/subscription", "put">; + /** + * @see https://docs.github.com/rest/actions/oidc#set-the-customization-template-for-an-oidc-subject-claim-for-an-organization + */ + "PUT /orgs/{org}/actions/oidc/customization/sub": Operation<"/orgs/{org}/actions/oidc/customization/sub", "put">; /** * @see https://docs.github.com/rest/reference/actions#set-github-actions-permissions-for-an-organization */ @@ -2798,6 +3283,10 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/actions#set-allowed-actions-for-an-organization */ "PUT /orgs/{org}/actions/permissions/selected-actions": Operation<"/orgs/{org}/actions/permissions/selected-actions", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-default-workflow-permissions + */ + "PUT /orgs/{org}/actions/permissions/workflow": Operation<"/orgs/{org}/actions/permissions/workflow", "put">; /** * @see https://docs.github.com/rest/reference/actions#set-repository-access-to-a-self-hosted-runner-group-in-an-organization */ @@ -2814,6 +3303,10 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/actions#add-a-self-hosted-runner-to-a-group-for-an-organization */ "PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-custom-labels-for-a-self-hosted-runner-for-an-organization + */ + "PUT /orgs/{org}/actions/runners/{runner_id}/labels": Operation<"/orgs/{org}/actions/runners/{runner_id}/labels", "put">; /** * @see https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret */ @@ -2830,6 +3323,18 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/orgs#block-a-user-from-an-organization */ "PUT /orgs/{org}/blocks/{username}": Operation<"/orgs/{org}/blocks/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/dependabot#create-or-update-an-organization-secret + */ + "PUT /orgs/{org}/dependabot/secrets/{secret_name}": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}", "put">; + /** + * @see https://docs.github.com/rest/reference/dependabot#set-selected-repositories-for-an-organization-secret + */ + "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}/repositories", "put">; + /** + * @see https://docs.github.com/rest/reference/dependabot#add-selected-repository-to-an-organization-secret + */ + "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}", "put">; /** * @see https://docs.github.com/rest/reference/interactions#set-interaction-restrictions-for-an-organization */ @@ -2851,25 +3356,41 @@ export interface Endpoints { */ "PUT /orgs/{org}/teams/{team_slug}/memberships/{username}": Operation<"/orgs/{org}/teams/{team_slug}/memberships/{username}", "put">; /** - * @see https://docs.github.com/v3/teams/#add-or-update-team-project-permissions + * @see https://docs.github.com/rest/reference/teams#add-or-update-team-project-permissions */ - "PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}": Operation<"/orgs/{org}/teams/{team_slug}/projects/{project_id}", "put", "inertia">; + "PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}": Operation<"/orgs/{org}/teams/{team_slug}/projects/{project_id}", "put">; /** - * @see https://docs.github.com/v3/teams/#add-or-update-team-repository-permissions + * @see https://docs.github.com/rest/reference/teams/#add-or-update-team-repository-permissions */ "PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": Operation<"/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", "put">; /** * @see https://docs.github.com/rest/reference/projects#add-project-collaborator */ - "PUT /projects/{project_id}/collaborators/{username}": Operation<"/projects/{project_id}/collaborators/{username}", "put", "inertia">; + "PUT /projects/{project_id}/collaborators/{username}": Operation<"/projects/{project_id}/collaborators/{username}", "put">; + /** + * @see https://docs.github.com/rest/actions/oidc#set-the-opt-out-flag-of-an-oidc-subject-claim-customization-for-a-repository + */ + "PUT /repos/{owner}/{repo}/actions/oidc/customization/sub": Operation<"/repos/{owner}/{repo}/actions/oidc/customization/sub", "put">; /** * @see https://docs.github.com/rest/reference/actions#set-github-actions-permissions-for-a-repository */ "PUT /repos/{owner}/{repo}/actions/permissions": Operation<"/repos/{owner}/{repo}/actions/permissions", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-workflow-access-to-a-repository + */ + "PUT /repos/{owner}/{repo}/actions/permissions/access": Operation<"/repos/{owner}/{repo}/actions/permissions/access", "put">; /** * @see https://docs.github.com/rest/reference/actions#set-allowed-actions-for-a-repository */ "PUT /repos/{owner}/{repo}/actions/permissions/selected-actions": Operation<"/repos/{owner}/{repo}/actions/permissions/selected-actions", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-default-workflow-permissions-for-a-repository + */ + "PUT /repos/{owner}/{repo}/actions/permissions/workflow": Operation<"/repos/{owner}/{repo}/actions/permissions/workflow", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-custom-labels-for-a-self-hosted-runner-for-a-repository + */ + "PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}/labels", "put">; /** * @see https://docs.github.com/rest/reference/actions#create-or-update-a-repository-secret */ @@ -2883,9 +3404,9 @@ export interface Endpoints { */ "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable", "put">; /** - * @see https://docs.github.com/v3/repos/#enable-automated-security-fixes + * @see https://docs.github.com/rest/reference/repos#enable-automated-security-fixes */ - "PUT /repos/{owner}/{repo}/automated-security-fixes": Operation<"/repos/{owner}/{repo}/automated-security-fixes", "put", "london">; + "PUT /repos/{owner}/{repo}/automated-security-fixes": Operation<"/repos/{owner}/{repo}/automated-security-fixes", "put">; /** * @see https://docs.github.com/rest/reference/repos#update-branch-protection */ @@ -2906,6 +3427,10 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/repos#set-user-access-restrictions */ "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", "put">; + /** + * @see https://docs.github.com/rest/reference/codespaces#create-or-update-a-repository-secret + */ + "PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/codespaces/secrets/{secret_name}", "put">; /** * @see https://docs.github.com/rest/reference/repos#add-a-repository-collaborator */ @@ -2914,6 +3439,14 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/repos#create-or-update-file-contents */ "PUT /repos/{owner}/{repo}/contents/{path}": Operation<"/repos/{owner}/{repo}/contents/{path}", "put">; + /** + * @see https://docs.github.com/rest/reference/dependabot#create-or-update-a-repository-secret + */ + "PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/dependabot/secrets/{secret_name}", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#create-or-update-an-environment + */ + "PUT /repos/{owner}/{repo}/environments/{environment_name}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}", "put">; /** * @see https://docs.github.com/rest/reference/migrations#start-an-import */ @@ -2927,9 +3460,13 @@ export interface Endpoints { */ "PUT /repos/{owner}/{repo}/issues/{issue_number}/labels": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/labels", "put">; /** - * @see https://docs.github.com/v3/issues/#lock-an-issue + * @see https://docs.github.com/rest/reference/issues#lock-an-issue */ "PUT /repos/{owner}/{repo}/issues/{issue_number}/lock": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/lock", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#enable-git-lfs-for-a-repository + */ + "PUT /repos/{owner}/{repo}/lfs": Operation<"/repos/{owner}/{repo}/lfs", "put">; /** * @see https://docs.github.com/rest/reference/activity#mark-repository-notifications-as-read */ @@ -2939,7 +3476,7 @@ export interface Endpoints { */ "PUT /repos/{owner}/{repo}/pages": Operation<"/repos/{owner}/{repo}/pages", "put">; /** - * @see https://docs.github.com/v3/pulls/#merge-a-pull-request + * @see https://docs.github.com/rest/reference/pulls#merge-a-pull-request */ "PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/merge", "put">; /** @@ -2951,21 +3488,25 @@ export interface Endpoints { */ "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals", "put">; /** - * @see https://docs.github.com/v3/pulls/#update-a-pull-request-branch + * @see https://docs.github.com/rest/reference/pulls#update-a-pull-request-branch */ - "PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/update-branch", "put", "lydian">; + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/update-branch", "put">; /** * @see https://docs.github.com/rest/reference/activity#set-a-repository-subscription */ "PUT /repos/{owner}/{repo}/subscription": Operation<"/repos/{owner}/{repo}/subscription", "put">; /** - * @see https://docs.github.com/v3/repos/#replace-all-repository-topics + * @see https://docs.github.com/rest/reference/repos#replace-all-repository-topics */ - "PUT /repos/{owner}/{repo}/topics": Operation<"/repos/{owner}/{repo}/topics", "put", "mercy">; + "PUT /repos/{owner}/{repo}/topics": Operation<"/repos/{owner}/{repo}/topics", "put">; /** - * @see https://docs.github.com/v3/repos/#enable-vulnerability-alerts + * @see https://docs.github.com/rest/reference/repos#enable-vulnerability-alerts */ - "PUT /repos/{owner}/{repo}/vulnerability-alerts": Operation<"/repos/{owner}/{repo}/vulnerability-alerts", "put", "dorian">; + "PUT /repos/{owner}/{repo}/vulnerability-alerts": Operation<"/repos/{owner}/{repo}/vulnerability-alerts", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#create-or-update-an-environment-secret + */ + "PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}": Operation<"/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", "put">; /** * @see https://docs.github.com/rest/reference/enterprise-admin#set-scim-information-for-a-provisioned-enterprise-group */ @@ -2975,7 +3516,7 @@ export interface Endpoints { */ "PUT /scim/v2/enterprises/{enterprise}/Users/{scim_user_id}": Operation<"/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}", "put">; /** - * @see https://docs.github.com/v3/scim/#set-scim-information-for-a-provisioned-user + * @see https://docs.github.com/rest/reference/scim#set-scim-information-for-a-provisioned-user */ "PUT /scim/v2/organizations/{org}/Users/{scim_user_id}": Operation<"/scim/v2/organizations/{org}/Users/{scim_user_id}", "put">; /** @@ -2987,17 +3528,29 @@ export interface Endpoints { */ "PUT /teams/{team_id}/memberships/{username}": Operation<"/teams/{team_id}/memberships/{username}", "put">; /** - * @see https://docs.github.com/v3/teams/#add-or-update-team-project-permissions-legacy + * @see https://docs.github.com/rest/reference/teams/#add-or-update-team-project-permissions-legacy */ - "PUT /teams/{team_id}/projects/{project_id}": Operation<"/teams/{team_id}/projects/{project_id}", "put", "inertia">; + "PUT /teams/{team_id}/projects/{project_id}": Operation<"/teams/{team_id}/projects/{project_id}", "put">; /** - * @see https://docs.github.com/v3/teams/#add-or-update-team-repository-permissions-legacy + * @see https://docs.github.com/rest/reference/teams/#add-or-update-team-repository-permissions-legacy */ "PUT /teams/{team_id}/repos/{owner}/{repo}": Operation<"/teams/{team_id}/repos/{owner}/{repo}", "put">; /** * @see https://docs.github.com/rest/reference/users#block-a-user */ "PUT /user/blocks/{username}": Operation<"/user/blocks/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/codespaces#create-or-update-a-secret-for-the-authenticated-user + */ + "PUT /user/codespaces/secrets/{secret_name}": Operation<"/user/codespaces/secrets/{secret_name}", "put">; + /** + * @see https://docs.github.com/rest/reference/codespaces#set-selected-repositories-for-a-user-secret + */ + "PUT /user/codespaces/secrets/{secret_name}/repositories": Operation<"/user/codespaces/secrets/{secret_name}/repositories", "put">; + /** + * @see https://docs.github.com/rest/reference/codespaces#add-a-selected-repository-to-a-user-secret + */ + "PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}": Operation<"/user/codespaces/secrets/{secret_name}/repositories/{repository_id}", "put">; /** * @see https://docs.github.com/rest/reference/users#follow-a-user */ diff --git a/node_modules/@octokit/types/dist-web/index.js b/node_modules/@octokit/types/dist-web/index.js index 59351fc..b1b47d5 100644 --- a/node_modules/@octokit/types/dist-web/index.js +++ b/node_modules/@octokit/types/dist-web/index.js @@ -1,4 +1,4 @@ -const VERSION = "6.8.2"; +const VERSION = "6.41.0"; export { VERSION }; //# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/types/package.json b/node_modules/@octokit/types/package.json index b0aa19d..960747f 100644 --- a/node_modules/@octokit/types/package.json +++ b/node_modules/@octokit/types/package.json @@ -1,12 +1,19 @@ { "name": "@octokit/types", "description": "Shared TypeScript definitions for Octokit projects", - "version": "6.8.2", + "version": "6.41.0", "license": "MIT", "files": [ "dist-*/", "bin/" ], + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "octokit": { + "openapi-version": "6.8.0" + }, + "main": "dist-node/index.js", + "module": "dist-web/index.js", "pika": true, "sideEffects": false, "keywords": [ @@ -16,39 +23,32 @@ "toolkit", "typescript" ], - "repository": "https://github.com/octokit/types.ts", + "repository": "github:octokit/types.ts", "dependencies": { - "@octokit/openapi-types": "^4.0.0", - "@types/node": ">= 8" + "@octokit/openapi-types": "^12.11.0" }, "devDependencies": { - "@octokit/graphql": "^4.2.2", - "@pika/pack": "^0.5.0", + "@pika/pack": "^0.3.7", "@pika/plugin-build-node": "^0.9.0", "@pika/plugin-build-web": "^0.9.0", "@pika/plugin-ts-standard-pkg": "^0.9.0", + "@types/node": ">= 8", + "github-openapi-graphql-query": "^2.0.0", "handlebars": "^4.7.6", - "json-schema-to-typescript": "^10.0.0", + "json-schema-to-typescript": "^11.0.0", "lodash.set": "^4.3.2", "npm-run-all": "^4.1.5", "pascal-case": "^3.1.1", "pika-plugin-merge-properties": "^1.0.6", "prettier": "^2.0.0", - "semantic-release": "^17.0.0", + "semantic-release": "^19.0.3", "semantic-release-plugin-update-version-in-files": "^1.0.0", - "sort-keys": "^4.0.0", + "sort-keys": "^4.2.0", "string-to-jsdoc-comment": "^1.0.0", - "typedoc": "^0.20.0", + "typedoc": "^0.23.0", "typescript": "^4.0.2" }, "publishConfig": { "access": "public" - }, - "source": "dist-src/index.js", - "types": "dist-types/index.d.ts", - "octokit": { - "openapi-version": "2.9.0" - }, - "main": "dist-node/index.js", - "module": "dist-web/index.js" + } } diff --git a/node_modules/@types/node/LICENSE b/node_modules/@types/node/LICENSE deleted file mode 100644 index 9e841e7..0000000 --- a/node_modules/@types/node/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ - MIT License - - Copyright (c) Microsoft Corporation. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE diff --git a/node_modules/@types/node/README.md b/node_modules/@types/node/README.md deleted file mode 100644 index 16eb9e7..0000000 --- a/node_modules/@types/node/README.md +++ /dev/null @@ -1,16 +0,0 @@ -# Installation -> `npm install --save @types/node` - -# Summary -This package contains type definitions for Node.js (http://nodejs.org/). - -# Details -Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node. - -### Additional Details - * Last updated: Thu, 04 Feb 2021 08:30:17 GMT - * Dependencies: none - * Global values: `Buffer`, `__dirname`, `__filename`, `clearImmediate`, `clearInterval`, `clearTimeout`, `console`, `exports`, `global`, `module`, `process`, `queueMicrotask`, `require`, `setImmediate`, `setInterval`, `setTimeout` - -# Credits -These definitions were written by [Microsoft TypeScript](https://github.com/Microsoft), [DefinitelyTyped](https://github.com/DefinitelyTyped), [Alberto Schiabel](https://github.com/jkomyno), [Alexander T.](https://github.com/a-tarasyuk), [Alvis HT Tang](https://github.com/alvis), [Andrew Makarov](https://github.com/r3nya), [Benjamin Toueg](https://github.com/btoueg), [Bruno Scheufler](https://github.com/brunoscheufler), [Chigozirim C.](https://github.com/smac89), [David Junger](https://github.com/touffy), [Deividas Bakanas](https://github.com/DeividasBakanas), [Eugene Y. Q. Shen](https://github.com/eyqs), [Flarna](https://github.com/Flarna), [Hannes Magnusson](https://github.com/Hannes-Magnusson-CK), [Hoàng Văn Khải](https://github.com/KSXGitHub), [Huw](https://github.com/hoo29), [Kelvin Jin](https://github.com/kjin), [Klaus Meinhardt](https://github.com/ajafff), [Lishude](https://github.com/islishude), [Mariusz Wiktorczyk](https://github.com/mwiktorczyk), [Mohsen Azimi](https://github.com/mohsen1), [Nicolas Even](https://github.com/n-e), [Nikita Galkin](https://github.com/galkin), [Parambir Singh](https://github.com/parambirs), [Sebastian Silbermann](https://github.com/eps1lon), [Simon Schick](https://github.com/SimonSchick), [Thomas den Hollander](https://github.com/ThomasdenH), [Wilco Bakker](https://github.com/WilcoBakker), [wwwy3y3](https://github.com/wwwy3y3), [Samuel Ainsworth](https://github.com/samuela), [Kyle Uehlein](https://github.com/kuehlein), [Jordi Oliveras Rovira](https://github.com/j-oliveras), [Thanik Bhongbhibhat](https://github.com/bhongy), [Marcin Kopacz](https://github.com/chyzwar), [Trivikram Kamat](https://github.com/trivikr), [Minh Son Nguyen](https://github.com/nguymin4), [Junxiao Shi](https://github.com/yoursunny), [Ilia Baryshnikov](https://github.com/qwelias), [ExE Boss](https://github.com/ExE-Boss), [Surasak Chaisurin](https://github.com/Ryan-Willpower), [Piotr Błażejewicz](https://github.com/peterblazejewicz), [Anna Henningsen](https://github.com/addaleax), [Jason Kwok](https://github.com/JasonHK), [Victor Perin](https://github.com/victorperin), and [Yongsheng Zhang](https://github.com/ZYSzys). diff --git a/node_modules/@types/node/assert.d.ts b/node_modules/@types/node/assert.d.ts deleted file mode 100644 index e9e3585..0000000 --- a/node_modules/@types/node/assert.d.ts +++ /dev/null @@ -1,124 +0,0 @@ -declare module 'assert' { - /** An alias of `assert.ok()`. */ - function assert(value: any, message?: string | Error): asserts value; - namespace assert { - class AssertionError extends Error { - actual: any; - expected: any; - operator: string; - generatedMessage: boolean; - code: 'ERR_ASSERTION'; - - constructor(options?: { - /** If provided, the error message is set to this value. */ - message?: string; - /** The `actual` property on the error instance. */ - actual?: any; - /** The `expected` property on the error instance. */ - expected?: any; - /** The `operator` property on the error instance. */ - operator?: string; - /** If provided, the generated stack trace omits frames before this function. */ - // tslint:disable-next-line:ban-types - stackStartFn?: Function; - }); - } - - class CallTracker { - calls(exact?: number): () => void; - calls any>(fn?: Func, exact?: number): Func; - report(): CallTrackerReportInformation[]; - verify(): void; - } - interface CallTrackerReportInformation { - message: string; - /** The actual number of times the function was called. */ - actual: number; - /** The number of times the function was expected to be called. */ - expected: number; - /** The name of the function that is wrapped. */ - operator: string; - /** A stack trace of the function. */ - stack: object; - } - - type AssertPredicate = RegExp | (new () => object) | ((thrown: any) => boolean) | object | Error; - - function fail(message?: string | Error): never; - /** @deprecated since v10.0.0 - use fail([message]) or other assert functions instead. */ - function fail( - actual: any, - expected: any, - message?: string | Error, - operator?: string, - // tslint:disable-next-line:ban-types - stackStartFn?: Function, - ): never; - function ok(value: any, message?: string | Error): asserts value; - /** @deprecated since v9.9.0 - use strictEqual() instead. */ - function equal(actual: any, expected: any, message?: string | Error): void; - /** @deprecated since v9.9.0 - use notStrictEqual() instead. */ - function notEqual(actual: any, expected: any, message?: string | Error): void; - /** @deprecated since v9.9.0 - use deepStrictEqual() instead. */ - function deepEqual(actual: any, expected: any, message?: string | Error): void; - /** @deprecated since v9.9.0 - use notDeepStrictEqual() instead. */ - function notDeepEqual(actual: any, expected: any, message?: string | Error): void; - function strictEqual(actual: any, expected: T, message?: string | Error): asserts actual is T; - function notStrictEqual(actual: any, expected: any, message?: string | Error): void; - function deepStrictEqual(actual: any, expected: T, message?: string | Error): asserts actual is T; - function notDeepStrictEqual(actual: any, expected: any, message?: string | Error): void; - - function throws(block: () => any, message?: string | Error): void; - function throws(block: () => any, error: AssertPredicate, message?: string | Error): void; - function doesNotThrow(block: () => any, message?: string | Error): void; - function doesNotThrow(block: () => any, error: AssertPredicate, message?: string | Error): void; - - function ifError(value: any): asserts value is null | undefined; - - function rejects(block: (() => Promise) | Promise, message?: string | Error): Promise; - function rejects( - block: (() => Promise) | Promise, - error: AssertPredicate, - message?: string | Error, - ): Promise; - function doesNotReject(block: (() => Promise) | Promise, message?: string | Error): Promise; - function doesNotReject( - block: (() => Promise) | Promise, - error: AssertPredicate, - message?: string | Error, - ): Promise; - - function match(value: string, regExp: RegExp, message?: string | Error): void; - function doesNotMatch(value: string, regExp: RegExp, message?: string | Error): void; - - const strict: Omit< - typeof assert, - | 'equal' - | 'notEqual' - | 'deepEqual' - | 'notDeepEqual' - | 'ok' - | 'strictEqual' - | 'deepStrictEqual' - | 'ifError' - | 'strict' - > & { - (value: any, message?: string | Error): asserts value; - equal: typeof strictEqual; - notEqual: typeof notStrictEqual; - deepEqual: typeof deepStrictEqual; - notDeepEqual: typeof notDeepStrictEqual; - - // Mapped types and assertion functions are incompatible? - // TS2775: Assertions require every name in the call target - // to be declared with an explicit type annotation. - ok: typeof ok; - strictEqual: typeof strictEqual; - deepStrictEqual: typeof deepStrictEqual; - ifError: typeof ifError; - strict: typeof strict; - }; - } - - export = assert; -} diff --git a/node_modules/@types/node/async_hooks.d.ts b/node_modules/@types/node/async_hooks.d.ts deleted file mode 100644 index ab35e5d..0000000 --- a/node_modules/@types/node/async_hooks.d.ts +++ /dev/null @@ -1,226 +0,0 @@ -/** - * Async Hooks module: https://nodejs.org/api/async_hooks.html - */ -declare module "async_hooks" { - /** - * Returns the asyncId of the current execution context. - */ - function executionAsyncId(): number; - - /** - * The resource representing the current execution. - * Useful to store data within the resource. - * - * Resource objects returned by `executionAsyncResource()` are most often internal - * Node.js handle objects with undocumented APIs. Using any functions or properties - * on the object is likely to crash your application and should be avoided. - * - * Using `executionAsyncResource()` in the top-level execution context will - * return an empty object as there is no handle or request object to use, - * but having an object representing the top-level can be helpful. - */ - function executionAsyncResource(): object; - - /** - * Returns the ID of the resource responsible for calling the callback that is currently being executed. - */ - function triggerAsyncId(): number; - - interface HookCallbacks { - /** - * Called when a class is constructed that has the possibility to emit an asynchronous event. - * @param asyncId a unique ID for the async resource - * @param type the type of the async resource - * @param triggerAsyncId the unique ID of the async resource in whose execution context this async resource was created - * @param resource reference to the resource representing the async operation, needs to be released during destroy - */ - init?(asyncId: number, type: string, triggerAsyncId: number, resource: object): void; - - /** - * When an asynchronous operation is initiated or completes a callback is called to notify the user. - * The before callback is called just before said callback is executed. - * @param asyncId the unique identifier assigned to the resource about to execute the callback. - */ - before?(asyncId: number): void; - - /** - * Called immediately after the callback specified in before is completed. - * @param asyncId the unique identifier assigned to the resource which has executed the callback. - */ - after?(asyncId: number): void; - - /** - * Called when a promise has resolve() called. This may not be in the same execution id - * as the promise itself. - * @param asyncId the unique id for the promise that was resolve()d. - */ - promiseResolve?(asyncId: number): void; - - /** - * Called after the resource corresponding to asyncId is destroyed - * @param asyncId a unique ID for the async resource - */ - destroy?(asyncId: number): void; - } - - interface AsyncHook { - /** - * Enable the callbacks for a given AsyncHook instance. If no callbacks are provided enabling is a noop. - */ - enable(): this; - - /** - * Disable the callbacks for a given AsyncHook instance from the global pool of AsyncHook callbacks to be executed. Once a hook has been disabled it will not be called again until enabled. - */ - disable(): this; - } - - /** - * Registers functions to be called for different lifetime events of each async operation. - * @param options the callbacks to register - * @return an AsyncHooks instance used for disabling and enabling hooks - */ - function createHook(options: HookCallbacks): AsyncHook; - - interface AsyncResourceOptions { - /** - * The ID of the execution context that created this async event. - * Default: `executionAsyncId()` - */ - triggerAsyncId?: number; - - /** - * Disables automatic `emitDestroy` when the object is garbage collected. - * This usually does not need to be set (even if `emitDestroy` is called - * manually), unless the resource's `asyncId` is retrieved and the - * sensitive API's `emitDestroy` is called with it. - * Default: `false` - */ - requireManualDestroy?: boolean; - } - - /** - * The class AsyncResource was designed to be extended by the embedder's async resources. - * Using this users can easily trigger the lifetime events of their own resources. - */ - class AsyncResource { - /** - * AsyncResource() is meant to be extended. Instantiating a - * new AsyncResource() also triggers init. If triggerAsyncId is omitted then - * async_hook.executionAsyncId() is used. - * @param type The type of async event. - * @param triggerAsyncId The ID of the execution context that created - * this async event (default: `executionAsyncId()`), or an - * AsyncResourceOptions object (since 9.3) - */ - constructor(type: string, triggerAsyncId?: number|AsyncResourceOptions); - - /** - * Binds the given function to the current execution context. - * @param fn The function to bind to the current execution context. - * @param type An optional name to associate with the underlying `AsyncResource`. - */ - static bind any>(fn: Func, type?: string): Func & { asyncResource: AsyncResource }; - - /** - * Binds the given function to execute to this `AsyncResource`'s scope. - * @param fn The function to bind to the current `AsyncResource`. - */ - bind any>(fn: Func): Func & { asyncResource: AsyncResource }; - - /** - * Call the provided function with the provided arguments in the - * execution context of the async resource. This will establish the - * context, trigger the AsyncHooks before callbacks, call the function, - * trigger the AsyncHooks after callbacks, and then restore the original - * execution context. - * @param fn The function to call in the execution context of this - * async resource. - * @param thisArg The receiver to be used for the function call. - * @param args Optional arguments to pass to the function. - */ - runInAsyncScope(fn: (this: This, ...args: any[]) => Result, thisArg?: This, ...args: any[]): Result; - - /** - * Call AsyncHooks destroy callbacks. - */ - emitDestroy(): void; - - /** - * @return the unique ID assigned to this AsyncResource instance. - */ - asyncId(): number; - - /** - * @return the trigger ID for this AsyncResource instance. - */ - triggerAsyncId(): number; - } - - /** - * When having multiple instances of `AsyncLocalStorage`, they are independent - * from each other. It is safe to instantiate this class multiple times. - */ - class AsyncLocalStorage { - /** - * This method disables the instance of `AsyncLocalStorage`. All subsequent calls - * to `asyncLocalStorage.getStore()` will return `undefined` until - * `asyncLocalStorage.run()` is called again. - * - * When calling `asyncLocalStorage.disable()`, all current contexts linked to the - * instance will be exited. - * - * Calling `asyncLocalStorage.disable()` is required before the - * `asyncLocalStorage` can be garbage collected. This does not apply to stores - * provided by the `asyncLocalStorage`, as those objects are garbage collected - * along with the corresponding async resources. - * - * This method is to be used when the `asyncLocalStorage` is not in use anymore - * in the current process. - */ - disable(): void; - - /** - * This method returns the current store. If this method is called outside of an - * asynchronous context initialized by calling `asyncLocalStorage.run`, it will - * return `undefined`. - */ - getStore(): T | undefined; - - /** - * This methods runs a function synchronously within a context and return its - * return value. The store is not accessible outside of the callback function or - * the asynchronous operations created within the callback. - * - * Optionally, arguments can be passed to the function. They will be passed to the - * callback function. - * - * I the callback function throws an error, it will be thrown by `run` too. The - * stacktrace will not be impacted by this call and the context will be exited. - */ - // TODO: Apply generic vararg once available - run(store: T, callback: (...args: any[]) => R, ...args: any[]): R; - - /** - * This methods runs a function synchronously outside of a context and return its - * return value. The store is not accessible within the callback function or the - * asynchronous operations created within the callback. - * - * Optionally, arguments can be passed to the function. They will be passed to the - * callback function. - * - * If the callback function throws an error, it will be thrown by `exit` too. The - * stacktrace will not be impacted by this call and the context will be - * re-entered. - */ - // TODO: Apply generic vararg once available - exit(callback: (...args: any[]) => R, ...args: any[]): R; - - /** - * Calling `asyncLocalStorage.enterWith(store)` will transition into the context - * for the remainder of the current synchronous execution and will persist - * through any following asynchronous calls. - */ - enterWith(store: T): void; - } -} diff --git a/node_modules/@types/node/base.d.ts b/node_modules/@types/node/base.d.ts deleted file mode 100644 index fa67179..0000000 --- a/node_modules/@types/node/base.d.ts +++ /dev/null @@ -1,19 +0,0 @@ -// NOTE: These definitions support NodeJS and TypeScript 3.7. - -// NOTE: TypeScript version-specific augmentations can be found in the following paths: -// - ~/base.d.ts - Shared definitions common to all TypeScript versions -// - ~/index.d.ts - Definitions specific to TypeScript 2.1 -// - ~/ts3.7/base.d.ts - Definitions specific to TypeScript 3.7 -// - ~/ts3.7/index.d.ts - Definitions specific to TypeScript 3.7 with assert pulled in - -// Reference required types from the default lib: -/// -/// -/// -/// - -// Base definitions for all NodeJS modules that are not specific to any version of TypeScript: -/// - -// TypeScript 3.7-specific augmentations: -/// diff --git a/node_modules/@types/node/buffer.d.ts b/node_modules/@types/node/buffer.d.ts deleted file mode 100644 index 76c92cf..0000000 --- a/node_modules/@types/node/buffer.d.ts +++ /dev/null @@ -1,22 +0,0 @@ -declare module "buffer" { - export const INSPECT_MAX_BYTES: number; - export const kMaxLength: number; - export const kStringMaxLength: number; - export const constants: { - MAX_LENGTH: number; - MAX_STRING_LENGTH: number; - }; - const BuffType: typeof Buffer; - - export type TranscodeEncoding = "ascii" | "utf8" | "utf16le" | "ucs2" | "latin1" | "binary"; - - export function transcode(source: Uint8Array, fromEnc: TranscodeEncoding, toEnc: TranscodeEncoding): Buffer; - - export const SlowBuffer: { - /** @deprecated since v6.0.0, use `Buffer.allocUnsafeSlow()` */ - new(size: number): Buffer; - prototype: Buffer; - }; - - export { BuffType as Buffer }; -} diff --git a/node_modules/@types/node/child_process.d.ts b/node_modules/@types/node/child_process.d.ts deleted file mode 100644 index 9b6e094..0000000 --- a/node_modules/@types/node/child_process.d.ts +++ /dev/null @@ -1,509 +0,0 @@ -declare module "child_process" { - import { BaseEncodingOptions } from 'fs'; - import * as events from "events"; - import * as net from "net"; - import { Writable, Readable, Stream, Pipe } from "stream"; - - type Serializable = string | object | number | boolean; - type SendHandle = net.Socket | net.Server; - - interface ChildProcess extends events.EventEmitter { - stdin: Writable | null; - stdout: Readable | null; - stderr: Readable | null; - readonly channel?: Pipe | null; - readonly stdio: [ - Writable | null, // stdin - Readable | null, // stdout - Readable | null, // stderr - Readable | Writable | null | undefined, // extra - Readable | Writable | null | undefined // extra - ]; - readonly killed: boolean; - readonly pid: number; - readonly connected: boolean; - readonly exitCode: number | null; - readonly signalCode: NodeJS.Signals | null; - readonly spawnargs: string[]; - readonly spawnfile: string; - kill(signal?: NodeJS.Signals | number): boolean; - send(message: Serializable, callback?: (error: Error | null) => void): boolean; - send(message: Serializable, sendHandle?: SendHandle, callback?: (error: Error | null) => void): boolean; - send(message: Serializable, sendHandle?: SendHandle, options?: MessageOptions, callback?: (error: Error | null) => void): boolean; - disconnect(): void; - unref(): void; - ref(): void; - - /** - * events.EventEmitter - * 1. close - * 2. disconnect - * 3. error - * 4. exit - * 5. message - */ - - addListener(event: string, listener: (...args: any[]) => void): this; - addListener(event: "close", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this; - addListener(event: "disconnect", listener: () => void): this; - addListener(event: "error", listener: (err: Error) => void): this; - addListener(event: "exit", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this; - addListener(event: "message", listener: (message: Serializable, sendHandle: SendHandle) => void): this; - - emit(event: string | symbol, ...args: any[]): boolean; - emit(event: "close", code: number | null, signal: NodeJS.Signals | null): boolean; - emit(event: "disconnect"): boolean; - emit(event: "error", err: Error): boolean; - emit(event: "exit", code: number | null, signal: NodeJS.Signals | null): boolean; - emit(event: "message", message: Serializable, sendHandle: SendHandle): boolean; - - on(event: string, listener: (...args: any[]) => void): this; - on(event: "close", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this; - on(event: "disconnect", listener: () => void): this; - on(event: "error", listener: (err: Error) => void): this; - on(event: "exit", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this; - on(event: "message", listener: (message: Serializable, sendHandle: SendHandle) => void): this; - - once(event: string, listener: (...args: any[]) => void): this; - once(event: "close", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this; - once(event: "disconnect", listener: () => void): this; - once(event: "error", listener: (err: Error) => void): this; - once(event: "exit", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this; - once(event: "message", listener: (message: Serializable, sendHandle: SendHandle) => void): this; - - prependListener(event: string, listener: (...args: any[]) => void): this; - prependListener(event: "close", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this; - prependListener(event: "disconnect", listener: () => void): this; - prependListener(event: "error", listener: (err: Error) => void): this; - prependListener(event: "exit", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this; - prependListener(event: "message", listener: (message: Serializable, sendHandle: SendHandle) => void): this; - - prependOnceListener(event: string, listener: (...args: any[]) => void): this; - prependOnceListener(event: "close", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this; - prependOnceListener(event: "disconnect", listener: () => void): this; - prependOnceListener(event: "error", listener: (err: Error) => void): this; - prependOnceListener(event: "exit", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this; - prependOnceListener(event: "message", listener: (message: Serializable, sendHandle: SendHandle) => void): this; - } - - // return this object when stdio option is undefined or not specified - interface ChildProcessWithoutNullStreams extends ChildProcess { - stdin: Writable; - stdout: Readable; - stderr: Readable; - readonly stdio: [ - Writable, // stdin - Readable, // stdout - Readable, // stderr - Readable | Writable | null | undefined, // extra, no modification - Readable | Writable | null | undefined // extra, no modification - ]; - } - - // return this object when stdio option is a tuple of 3 - interface ChildProcessByStdio< - I extends null | Writable, - O extends null | Readable, - E extends null | Readable, - > extends ChildProcess { - stdin: I; - stdout: O; - stderr: E; - readonly stdio: [ - I, - O, - E, - Readable | Writable | null | undefined, // extra, no modification - Readable | Writable | null | undefined // extra, no modification - ]; - } - - interface MessageOptions { - keepOpen?: boolean; - } - - type StdioOptions = "pipe" | "ignore" | "inherit" | Array<("pipe" | "ipc" | "ignore" | "inherit" | Stream | number | null | undefined)>; - - type SerializationType = 'json' | 'advanced'; - - interface MessagingOptions { - /** - * Specify the kind of serialization used for sending messages between processes. - * @default 'json' - */ - serialization?: SerializationType; - } - - interface ProcessEnvOptions { - uid?: number; - gid?: number; - cwd?: string; - env?: NodeJS.ProcessEnv; - } - - interface CommonOptions extends ProcessEnvOptions { - /** - * @default true - */ - windowsHide?: boolean; - /** - * @default 0 - */ - timeout?: number; - } - - interface CommonSpawnOptions extends CommonOptions, MessagingOptions { - argv0?: string; - stdio?: StdioOptions; - shell?: boolean | string; - windowsVerbatimArguments?: boolean; - } - - interface SpawnOptions extends CommonSpawnOptions { - detached?: boolean; - } - - interface SpawnOptionsWithoutStdio extends SpawnOptions { - stdio?: 'pipe' | Array; - } - - type StdioNull = 'inherit' | 'ignore' | Stream; - type StdioPipe = undefined | null | 'pipe'; - - interface SpawnOptionsWithStdioTuple< - Stdin extends StdioNull | StdioPipe, - Stdout extends StdioNull | StdioPipe, - Stderr extends StdioNull | StdioPipe, - > extends SpawnOptions { - stdio: [Stdin, Stdout, Stderr]; - } - - // overloads of spawn without 'args' - function spawn(command: string, options?: SpawnOptionsWithoutStdio): ChildProcessWithoutNullStreams; - - function spawn( - command: string, - options: SpawnOptionsWithStdioTuple, - ): ChildProcessByStdio; - function spawn( - command: string, - options: SpawnOptionsWithStdioTuple, - ): ChildProcessByStdio; - function spawn( - command: string, - options: SpawnOptionsWithStdioTuple, - ): ChildProcessByStdio; - function spawn( - command: string, - options: SpawnOptionsWithStdioTuple, - ): ChildProcessByStdio; - function spawn( - command: string, - options: SpawnOptionsWithStdioTuple, - ): ChildProcessByStdio; - function spawn( - command: string, - options: SpawnOptionsWithStdioTuple, - ): ChildProcessByStdio; - function spawn( - command: string, - options: SpawnOptionsWithStdioTuple, - ): ChildProcessByStdio; - function spawn( - command: string, - options: SpawnOptionsWithStdioTuple, - ): ChildProcessByStdio; - - function spawn(command: string, options: SpawnOptions): ChildProcess; - - // overloads of spawn with 'args' - function spawn(command: string, args?: ReadonlyArray, options?: SpawnOptionsWithoutStdio): ChildProcessWithoutNullStreams; - - function spawn( - command: string, - args: ReadonlyArray, - options: SpawnOptionsWithStdioTuple, - ): ChildProcessByStdio; - function spawn( - command: string, - args: ReadonlyArray, - options: SpawnOptionsWithStdioTuple, - ): ChildProcessByStdio; - function spawn( - command: string, - args: ReadonlyArray, - options: SpawnOptionsWithStdioTuple, - ): ChildProcessByStdio; - function spawn( - command: string, - args: ReadonlyArray, - options: SpawnOptionsWithStdioTuple, - ): ChildProcessByStdio; - function spawn( - command: string, - args: ReadonlyArray, - options: SpawnOptionsWithStdioTuple, - ): ChildProcessByStdio; - function spawn( - command: string, - args: ReadonlyArray, - options: SpawnOptionsWithStdioTuple, - ): ChildProcessByStdio; - function spawn( - command: string, - args: ReadonlyArray, - options: SpawnOptionsWithStdioTuple, - ): ChildProcessByStdio; - function spawn( - command: string, - args: ReadonlyArray, - options: SpawnOptionsWithStdioTuple, - ): ChildProcessByStdio; - - function spawn(command: string, args: ReadonlyArray, options: SpawnOptions): ChildProcess; - - interface ExecOptions extends CommonOptions { - shell?: string; - maxBuffer?: number; - killSignal?: NodeJS.Signals | number; - } - - interface ExecOptionsWithStringEncoding extends ExecOptions { - encoding: BufferEncoding; - } - - interface ExecOptionsWithBufferEncoding extends ExecOptions { - encoding: BufferEncoding | null; // specify `null`. - } - - interface ExecException extends Error { - cmd?: string; - killed?: boolean; - code?: number; - signal?: NodeJS.Signals; - } - - // no `options` definitely means stdout/stderr are `string`. - function exec(command: string, callback?: (error: ExecException | null, stdout: string, stderr: string) => void): ChildProcess; - - // `options` with `"buffer"` or `null` for `encoding` means stdout/stderr are definitely `Buffer`. - function exec(command: string, options: { encoding: "buffer" | null } & ExecOptions, callback?: (error: ExecException | null, stdout: Buffer, stderr: Buffer) => void): ChildProcess; - - // `options` with well known `encoding` means stdout/stderr are definitely `string`. - function exec(command: string, options: { encoding: BufferEncoding } & ExecOptions, callback?: (error: ExecException | null, stdout: string, stderr: string) => void): ChildProcess; - - // `options` with an `encoding` whose type is `string` means stdout/stderr could either be `Buffer` or `string`. - // There is no guarantee the `encoding` is unknown as `string` is a superset of `BufferEncoding`. - function exec( - command: string, - options: { encoding: BufferEncoding } & ExecOptions, - callback?: (error: ExecException | null, stdout: string | Buffer, stderr: string | Buffer) => void, - ): ChildProcess; - - // `options` without an `encoding` means stdout/stderr are definitely `string`. - function exec(command: string, options: ExecOptions, callback?: (error: ExecException | null, stdout: string, stderr: string) => void): ChildProcess; - - // fallback if nothing else matches. Worst case is always `string | Buffer`. - function exec( - command: string, - options: (BaseEncodingOptions & ExecOptions) | undefined | null, - callback?: (error: ExecException | null, stdout: string | Buffer, stderr: string | Buffer) => void, - ): ChildProcess; - - interface PromiseWithChild extends Promise { - child: ChildProcess; - } - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - namespace exec { - function __promisify__(command: string): PromiseWithChild<{ stdout: string, stderr: string }>; - function __promisify__(command: string, options: { encoding: "buffer" | null } & ExecOptions): PromiseWithChild<{ stdout: Buffer, stderr: Buffer }>; - function __promisify__(command: string, options: { encoding: BufferEncoding } & ExecOptions): PromiseWithChild<{ stdout: string, stderr: string }>; - function __promisify__(command: string, options: ExecOptions): PromiseWithChild<{ stdout: string, stderr: string }>; - function __promisify__(command: string, options?: (BaseEncodingOptions & ExecOptions) | null): PromiseWithChild<{ stdout: string | Buffer, stderr: string | Buffer }>; - } - - interface ExecFileOptions extends CommonOptions { - maxBuffer?: number; - killSignal?: NodeJS.Signals | number; - windowsVerbatimArguments?: boolean; - shell?: boolean | string; - } - interface ExecFileOptionsWithStringEncoding extends ExecFileOptions { - encoding: BufferEncoding; - } - interface ExecFileOptionsWithBufferEncoding extends ExecFileOptions { - encoding: 'buffer' | null; - } - interface ExecFileOptionsWithOtherEncoding extends ExecFileOptions { - encoding: BufferEncoding; - } - - function execFile(file: string): ChildProcess; - function execFile(file: string, options: (BaseEncodingOptions & ExecFileOptions) | undefined | null): ChildProcess; - function execFile(file: string, args?: ReadonlyArray | null): ChildProcess; - function execFile(file: string, args: ReadonlyArray | undefined | null, options: (BaseEncodingOptions & ExecFileOptions) | undefined | null): ChildProcess; - - // no `options` definitely means stdout/stderr are `string`. - function execFile(file: string, callback: (error: ExecException | null, stdout: string, stderr: string) => void): ChildProcess; - function execFile(file: string, args: ReadonlyArray | undefined | null, callback: (error: ExecException | null, stdout: string, stderr: string) => void): ChildProcess; - - // `options` with `"buffer"` or `null` for `encoding` means stdout/stderr are definitely `Buffer`. - function execFile(file: string, options: ExecFileOptionsWithBufferEncoding, callback: (error: ExecException | null, stdout: Buffer, stderr: Buffer) => void): ChildProcess; - function execFile( - file: string, - args: ReadonlyArray | undefined | null, - options: ExecFileOptionsWithBufferEncoding, - callback: (error: ExecException | null, stdout: Buffer, stderr: Buffer) => void, - ): ChildProcess; - - // `options` with well known `encoding` means stdout/stderr are definitely `string`. - function execFile(file: string, options: ExecFileOptionsWithStringEncoding, callback: (error: ExecException | null, stdout: string, stderr: string) => void): ChildProcess; - function execFile( - file: string, - args: ReadonlyArray | undefined | null, - options: ExecFileOptionsWithStringEncoding, - callback: (error: ExecException | null, stdout: string, stderr: string) => void, - ): ChildProcess; - - // `options` with an `encoding` whose type is `string` means stdout/stderr could either be `Buffer` or `string`. - // There is no guarantee the `encoding` is unknown as `string` is a superset of `BufferEncoding`. - function execFile( - file: string, - options: ExecFileOptionsWithOtherEncoding, - callback: (error: ExecException | null, stdout: string | Buffer, stderr: string | Buffer) => void, - ): ChildProcess; - function execFile( - file: string, - args: ReadonlyArray | undefined | null, - options: ExecFileOptionsWithOtherEncoding, - callback: (error: ExecException | null, stdout: string | Buffer, stderr: string | Buffer) => void, - ): ChildProcess; - - // `options` without an `encoding` means stdout/stderr are definitely `string`. - function execFile(file: string, options: ExecFileOptions, callback: (error: ExecException | null, stdout: string, stderr: string) => void): ChildProcess; - function execFile( - file: string, - args: ReadonlyArray | undefined | null, - options: ExecFileOptions, - callback: (error: ExecException | null, stdout: string, stderr: string) => void - ): ChildProcess; - - // fallback if nothing else matches. Worst case is always `string | Buffer`. - function execFile( - file: string, - options: (BaseEncodingOptions & ExecFileOptions) | undefined | null, - callback: ((error: ExecException | null, stdout: string | Buffer, stderr: string | Buffer) => void) | undefined | null, - ): ChildProcess; - function execFile( - file: string, - args: ReadonlyArray | undefined | null, - options: (BaseEncodingOptions & ExecFileOptions) | undefined | null, - callback: ((error: ExecException | null, stdout: string | Buffer, stderr: string | Buffer) => void) | undefined | null, - ): ChildProcess; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - namespace execFile { - function __promisify__(file: string): PromiseWithChild<{ stdout: string, stderr: string }>; - function __promisify__(file: string, args: ReadonlyArray | undefined | null): PromiseWithChild<{ stdout: string, stderr: string }>; - function __promisify__(file: string, options: ExecFileOptionsWithBufferEncoding): PromiseWithChild<{ stdout: Buffer, stderr: Buffer }>; - function __promisify__(file: string, args: ReadonlyArray | undefined | null, options: ExecFileOptionsWithBufferEncoding): PromiseWithChild<{ stdout: Buffer, stderr: Buffer }>; - function __promisify__(file: string, options: ExecFileOptionsWithStringEncoding): PromiseWithChild<{ stdout: string, stderr: string }>; - function __promisify__(file: string, args: ReadonlyArray | undefined | null, options: ExecFileOptionsWithStringEncoding): PromiseWithChild<{ stdout: string, stderr: string }>; - function __promisify__(file: string, options: ExecFileOptionsWithOtherEncoding): PromiseWithChild<{ stdout: string | Buffer, stderr: string | Buffer }>; - function __promisify__( - file: string, - args: ReadonlyArray | undefined | null, - options: ExecFileOptionsWithOtherEncoding, - ): PromiseWithChild<{ stdout: string | Buffer, stderr: string | Buffer }>; - function __promisify__(file: string, options: ExecFileOptions): PromiseWithChild<{ stdout: string, stderr: string }>; - function __promisify__(file: string, args: ReadonlyArray | undefined | null, options: ExecFileOptions): PromiseWithChild<{ stdout: string, stderr: string }>; - function __promisify__(file: string, options: (BaseEncodingOptions & ExecFileOptions) | undefined | null): PromiseWithChild<{ stdout: string | Buffer, stderr: string | Buffer }>; - function __promisify__( - file: string, - args: ReadonlyArray | undefined | null, - options: (BaseEncodingOptions & ExecFileOptions) | undefined | null, - ): PromiseWithChild<{ stdout: string | Buffer, stderr: string | Buffer }>; - } - - interface ForkOptions extends ProcessEnvOptions, MessagingOptions { - execPath?: string; - execArgv?: string[]; - silent?: boolean; - stdio?: StdioOptions; - detached?: boolean; - windowsVerbatimArguments?: boolean; - } - function fork(modulePath: string, options?: ForkOptions): ChildProcess; - function fork(modulePath: string, args?: ReadonlyArray, options?: ForkOptions): ChildProcess; - - interface SpawnSyncOptions extends CommonSpawnOptions { - input?: string | NodeJS.ArrayBufferView; - killSignal?: NodeJS.Signals | number; - maxBuffer?: number; - encoding?: BufferEncoding | 'buffer' | null; - } - interface SpawnSyncOptionsWithStringEncoding extends SpawnSyncOptions { - encoding: BufferEncoding; - } - interface SpawnSyncOptionsWithBufferEncoding extends SpawnSyncOptions { - encoding?: 'buffer' | null; - } - interface SpawnSyncReturns { - pid: number; - output: string[]; - stdout: T; - stderr: T; - status: number | null; - signal: NodeJS.Signals | null; - error?: Error; - } - function spawnSync(command: string): SpawnSyncReturns; - function spawnSync(command: string, options?: SpawnSyncOptionsWithStringEncoding): SpawnSyncReturns; - function spawnSync(command: string, options?: SpawnSyncOptionsWithBufferEncoding): SpawnSyncReturns; - function spawnSync(command: string, options?: SpawnSyncOptions): SpawnSyncReturns; - function spawnSync(command: string, args?: ReadonlyArray, options?: SpawnSyncOptionsWithStringEncoding): SpawnSyncReturns; - function spawnSync(command: string, args?: ReadonlyArray, options?: SpawnSyncOptionsWithBufferEncoding): SpawnSyncReturns; - function spawnSync(command: string, args?: ReadonlyArray, options?: SpawnSyncOptions): SpawnSyncReturns; - - interface ExecSyncOptions extends CommonOptions { - input?: string | Uint8Array; - stdio?: StdioOptions; - shell?: string; - killSignal?: NodeJS.Signals | number; - maxBuffer?: number; - encoding?: BufferEncoding | 'buffer' | null; - } - interface ExecSyncOptionsWithStringEncoding extends ExecSyncOptions { - encoding: BufferEncoding; - } - interface ExecSyncOptionsWithBufferEncoding extends ExecSyncOptions { - encoding?: 'buffer' | null; - } - function execSync(command: string): Buffer; - function execSync(command: string, options?: ExecSyncOptionsWithStringEncoding): string; - function execSync(command: string, options?: ExecSyncOptionsWithBufferEncoding): Buffer; - function execSync(command: string, options?: ExecSyncOptions): Buffer; - - interface ExecFileSyncOptions extends CommonOptions { - input?: string | NodeJS.ArrayBufferView; - stdio?: StdioOptions; - killSignal?: NodeJS.Signals | number; - maxBuffer?: number; - encoding?: BufferEncoding; - shell?: boolean | string; - } - interface ExecFileSyncOptionsWithStringEncoding extends ExecFileSyncOptions { - encoding: BufferEncoding; - } - interface ExecFileSyncOptionsWithBufferEncoding extends ExecFileSyncOptions { - encoding: BufferEncoding; // specify `null`. - } - function execFileSync(command: string): Buffer; - function execFileSync(command: string, options?: ExecFileSyncOptionsWithStringEncoding): string; - function execFileSync(command: string, options?: ExecFileSyncOptionsWithBufferEncoding): Buffer; - function execFileSync(command: string, options?: ExecFileSyncOptions): Buffer; - function execFileSync(command: string, args?: ReadonlyArray, options?: ExecFileSyncOptionsWithStringEncoding): string; - function execFileSync(command: string, args?: ReadonlyArray, options?: ExecFileSyncOptionsWithBufferEncoding): Buffer; - function execFileSync(command: string, args?: ReadonlyArray, options?: ExecFileSyncOptions): Buffer; -} diff --git a/node_modules/@types/node/cluster.d.ts b/node_modules/@types/node/cluster.d.ts deleted file mode 100644 index 0ef6c2a..0000000 --- a/node_modules/@types/node/cluster.d.ts +++ /dev/null @@ -1,262 +0,0 @@ -declare module "cluster" { - import * as child from "child_process"; - import * as events from "events"; - import * as net from "net"; - - // interfaces - interface ClusterSettings { - execArgv?: string[]; // default: process.execArgv - exec?: string; - args?: string[]; - silent?: boolean; - stdio?: any[]; - uid?: number; - gid?: number; - inspectPort?: number | (() => number); - } - - interface Address { - address: string; - port: number; - addressType: number | "udp4" | "udp6"; // 4, 6, -1, "udp4", "udp6" - } - - class Worker extends events.EventEmitter { - id: number; - process: child.ChildProcess; - send(message: child.Serializable, sendHandle?: child.SendHandle, callback?: (error: Error | null) => void): boolean; - kill(signal?: string): void; - destroy(signal?: string): void; - disconnect(): void; - isConnected(): boolean; - isDead(): boolean; - exitedAfterDisconnect: boolean; - - /** - * events.EventEmitter - * 1. disconnect - * 2. error - * 3. exit - * 4. listening - * 5. message - * 6. online - */ - addListener(event: string, listener: (...args: any[]) => void): this; - addListener(event: "disconnect", listener: () => void): this; - addListener(event: "error", listener: (error: Error) => void): this; - addListener(event: "exit", listener: (code: number, signal: string) => void): this; - addListener(event: "listening", listener: (address: Address) => void): this; - addListener(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. - addListener(event: "online", listener: () => void): this; - - emit(event: string | symbol, ...args: any[]): boolean; - emit(event: "disconnect"): boolean; - emit(event: "error", error: Error): boolean; - emit(event: "exit", code: number, signal: string): boolean; - emit(event: "listening", address: Address): boolean; - emit(event: "message", message: any, handle: net.Socket | net.Server): boolean; - emit(event: "online"): boolean; - - on(event: string, listener: (...args: any[]) => void): this; - on(event: "disconnect", listener: () => void): this; - on(event: "error", listener: (error: Error) => void): this; - on(event: "exit", listener: (code: number, signal: string) => void): this; - on(event: "listening", listener: (address: Address) => void): this; - on(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. - on(event: "online", listener: () => void): this; - - once(event: string, listener: (...args: any[]) => void): this; - once(event: "disconnect", listener: () => void): this; - once(event: "error", listener: (error: Error) => void): this; - once(event: "exit", listener: (code: number, signal: string) => void): this; - once(event: "listening", listener: (address: Address) => void): this; - once(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. - once(event: "online", listener: () => void): this; - - prependListener(event: string, listener: (...args: any[]) => void): this; - prependListener(event: "disconnect", listener: () => void): this; - prependListener(event: "error", listener: (error: Error) => void): this; - prependListener(event: "exit", listener: (code: number, signal: string) => void): this; - prependListener(event: "listening", listener: (address: Address) => void): this; - prependListener(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. - prependListener(event: "online", listener: () => void): this; - - prependOnceListener(event: string, listener: (...args: any[]) => void): this; - prependOnceListener(event: "disconnect", listener: () => void): this; - prependOnceListener(event: "error", listener: (error: Error) => void): this; - prependOnceListener(event: "exit", listener: (code: number, signal: string) => void): this; - prependOnceListener(event: "listening", listener: (address: Address) => void): this; - prependOnceListener(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. - prependOnceListener(event: "online", listener: () => void): this; - } - - interface Cluster extends events.EventEmitter { - Worker: Worker; - disconnect(callback?: () => void): void; - fork(env?: any): Worker; - isMaster: boolean; - isWorker: boolean; - schedulingPolicy: number; - settings: ClusterSettings; - setupMaster(settings?: ClusterSettings): void; - worker?: Worker; - workers?: NodeJS.Dict; - - readonly SCHED_NONE: number; - readonly SCHED_RR: number; - - /** - * events.EventEmitter - * 1. disconnect - * 2. exit - * 3. fork - * 4. listening - * 5. message - * 6. online - * 7. setup - */ - addListener(event: string, listener: (...args: any[]) => void): this; - addListener(event: "disconnect", listener: (worker: Worker) => void): this; - addListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this; - addListener(event: "fork", listener: (worker: Worker) => void): this; - addListener(event: "listening", listener: (worker: Worker, address: Address) => void): this; - addListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. - addListener(event: "online", listener: (worker: Worker) => void): this; - addListener(event: "setup", listener: (settings: ClusterSettings) => void): this; - - emit(event: string | symbol, ...args: any[]): boolean; - emit(event: "disconnect", worker: Worker): boolean; - emit(event: "exit", worker: Worker, code: number, signal: string): boolean; - emit(event: "fork", worker: Worker): boolean; - emit(event: "listening", worker: Worker, address: Address): boolean; - emit(event: "message", worker: Worker, message: any, handle: net.Socket | net.Server): boolean; - emit(event: "online", worker: Worker): boolean; - emit(event: "setup", settings: ClusterSettings): boolean; - - on(event: string, listener: (...args: any[]) => void): this; - on(event: "disconnect", listener: (worker: Worker) => void): this; - on(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this; - on(event: "fork", listener: (worker: Worker) => void): this; - on(event: "listening", listener: (worker: Worker, address: Address) => void): this; - on(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. - on(event: "online", listener: (worker: Worker) => void): this; - on(event: "setup", listener: (settings: ClusterSettings) => void): this; - - once(event: string, listener: (...args: any[]) => void): this; - once(event: "disconnect", listener: (worker: Worker) => void): this; - once(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this; - once(event: "fork", listener: (worker: Worker) => void): this; - once(event: "listening", listener: (worker: Worker, address: Address) => void): this; - once(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. - once(event: "online", listener: (worker: Worker) => void): this; - once(event: "setup", listener: (settings: ClusterSettings) => void): this; - - prependListener(event: string, listener: (...args: any[]) => void): this; - prependListener(event: "disconnect", listener: (worker: Worker) => void): this; - prependListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this; - prependListener(event: "fork", listener: (worker: Worker) => void): this; - prependListener(event: "listening", listener: (worker: Worker, address: Address) => void): this; - prependListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. - prependListener(event: "online", listener: (worker: Worker) => void): this; - prependListener(event: "setup", listener: (settings: ClusterSettings) => void): this; - - prependOnceListener(event: string, listener: (...args: any[]) => void): this; - prependOnceListener(event: "disconnect", listener: (worker: Worker) => void): this; - prependOnceListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this; - prependOnceListener(event: "fork", listener: (worker: Worker) => void): this; - prependOnceListener(event: "listening", listener: (worker: Worker, address: Address) => void): this; - // the handle is a net.Socket or net.Server object, or undefined. - prependOnceListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; - prependOnceListener(event: "online", listener: (worker: Worker) => void): this; - prependOnceListener(event: "setup", listener: (settings: ClusterSettings) => void): this; - } - - const SCHED_NONE: number; - const SCHED_RR: number; - - function disconnect(callback?: () => void): void; - function fork(env?: any): Worker; - const isMaster: boolean; - const isWorker: boolean; - let schedulingPolicy: number; - const settings: ClusterSettings; - function setupMaster(settings?: ClusterSettings): void; - const worker: Worker; - const workers: NodeJS.Dict; - - /** - * events.EventEmitter - * 1. disconnect - * 2. exit - * 3. fork - * 4. listening - * 5. message - * 6. online - * 7. setup - */ - function addListener(event: string, listener: (...args: any[]) => void): Cluster; - function addListener(event: "disconnect", listener: (worker: Worker) => void): Cluster; - function addListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster; - function addListener(event: "fork", listener: (worker: Worker) => void): Cluster; - function addListener(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster; - // the handle is a net.Socket or net.Server object, or undefined. - function addListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster; - function addListener(event: "online", listener: (worker: Worker) => void): Cluster; - function addListener(event: "setup", listener: (settings: ClusterSettings) => void): Cluster; - - function emit(event: string | symbol, ...args: any[]): boolean; - function emit(event: "disconnect", worker: Worker): boolean; - function emit(event: "exit", worker: Worker, code: number, signal: string): boolean; - function emit(event: "fork", worker: Worker): boolean; - function emit(event: "listening", worker: Worker, address: Address): boolean; - function emit(event: "message", worker: Worker, message: any, handle: net.Socket | net.Server): boolean; - function emit(event: "online", worker: Worker): boolean; - function emit(event: "setup", settings: ClusterSettings): boolean; - - function on(event: string, listener: (...args: any[]) => void): Cluster; - function on(event: "disconnect", listener: (worker: Worker) => void): Cluster; - function on(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster; - function on(event: "fork", listener: (worker: Worker) => void): Cluster; - function on(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster; - function on(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster; // the handle is a net.Socket or net.Server object, or undefined. - function on(event: "online", listener: (worker: Worker) => void): Cluster; - function on(event: "setup", listener: (settings: ClusterSettings) => void): Cluster; - - function once(event: string, listener: (...args: any[]) => void): Cluster; - function once(event: "disconnect", listener: (worker: Worker) => void): Cluster; - function once(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster; - function once(event: "fork", listener: (worker: Worker) => void): Cluster; - function once(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster; - function once(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster; // the handle is a net.Socket or net.Server object, or undefined. - function once(event: "online", listener: (worker: Worker) => void): Cluster; - function once(event: "setup", listener: (settings: ClusterSettings) => void): Cluster; - - function removeListener(event: string, listener: (...args: any[]) => void): Cluster; - function removeAllListeners(event?: string): Cluster; - function setMaxListeners(n: number): Cluster; - function getMaxListeners(): number; - function listeners(event: string): Function[]; - function listenerCount(type: string): number; - - function prependListener(event: string, listener: (...args: any[]) => void): Cluster; - function prependListener(event: "disconnect", listener: (worker: Worker) => void): Cluster; - function prependListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster; - function prependListener(event: "fork", listener: (worker: Worker) => void): Cluster; - function prependListener(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster; - // the handle is a net.Socket or net.Server object, or undefined. - function prependListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster; - function prependListener(event: "online", listener: (worker: Worker) => void): Cluster; - function prependListener(event: "setup", listener: (settings: ClusterSettings) => void): Cluster; - - function prependOnceListener(event: string, listener: (...args: any[]) => void): Cluster; - function prependOnceListener(event: "disconnect", listener: (worker: Worker) => void): Cluster; - function prependOnceListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster; - function prependOnceListener(event: "fork", listener: (worker: Worker) => void): Cluster; - function prependOnceListener(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster; - // the handle is a net.Socket or net.Server object, or undefined. - function prependOnceListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster; - function prependOnceListener(event: "online", listener: (worker: Worker) => void): Cluster; - function prependOnceListener(event: "setup", listener: (settings: ClusterSettings) => void): Cluster; - - function eventNames(): string[]; -} diff --git a/node_modules/@types/node/console.d.ts b/node_modules/@types/node/console.d.ts deleted file mode 100644 index 178beb4..0000000 --- a/node_modules/@types/node/console.d.ts +++ /dev/null @@ -1,133 +0,0 @@ -declare module "console" { - import { InspectOptions } from 'util'; - - global { - // This needs to be global to avoid TS2403 in case lib.dom.d.ts is present in the same build - interface Console { - Console: NodeJS.ConsoleConstructor; - /** - * A simple assertion test that verifies whether `value` is truthy. - * If it is not, an `AssertionError` is thrown. - * If provided, the error `message` is formatted using `util.format()` and used as the error message. - */ - assert(value: any, message?: string, ...optionalParams: any[]): void; - /** - * When `stdout` is a TTY, calling `console.clear()` will attempt to clear the TTY. - * When `stdout` is not a TTY, this method does nothing. - */ - clear(): void; - /** - * Maintains an internal counter specific to `label` and outputs to `stdout` the number of times `console.count()` has been called with the given `label`. - */ - count(label?: string): void; - /** - * Resets the internal counter specific to `label`. - */ - countReset(label?: string): void; - /** - * The `console.debug()` function is an alias for {@link console.log()}. - */ - debug(message?: any, ...optionalParams: any[]): void; - /** - * Uses {@link util.inspect()} on `obj` and prints the resulting string to `stdout`. - * This function bypasses any custom `inspect()` function defined on `obj`. - */ - dir(obj: any, options?: InspectOptions): void; - /** - * This method calls {@link console.log()} passing it the arguments received. Please note that this method does not produce any XML formatting - */ - dirxml(...data: any[]): void; - /** - * Prints to `stderr` with newline. - */ - error(message?: any, ...optionalParams: any[]): void; - /** - * Increases indentation of subsequent lines by two spaces. - * If one or more `label`s are provided, those are printed first without the additional indentation. - */ - group(...label: any[]): void; - /** - * The `console.groupCollapsed()` function is an alias for {@link console.group()}. - */ - groupCollapsed(...label: any[]): void; - /** - * Decreases indentation of subsequent lines by two spaces. - */ - groupEnd(): void; - /** - * The {@link console.info()} function is an alias for {@link console.log()}. - */ - info(message?: any, ...optionalParams: any[]): void; - /** - * Prints to `stdout` with newline. - */ - log(message?: any, ...optionalParams: any[]): void; - /** - * This method does not display anything unless used in the inspector. - * Prints to `stdout` the array `array` formatted as a table. - */ - table(tabularData: any, properties?: ReadonlyArray): void; - /** - * Starts a timer that can be used to compute the duration of an operation. Timers are identified by a unique `label`. - */ - time(label?: string): void; - /** - * Stops a timer that was previously started by calling {@link console.time()} and prints the result to `stdout`. - */ - timeEnd(label?: string): void; - /** - * For a timer that was previously started by calling {@link console.time()}, prints the elapsed time and other `data` arguments to `stdout`. - */ - timeLog(label?: string, ...data: any[]): void; - /** - * Prints to `stderr` the string 'Trace :', followed by the {@link util.format()} formatted message and stack trace to the current position in the code. - */ - trace(message?: any, ...optionalParams: any[]): void; - /** - * The {@link console.warn()} function is an alias for {@link console.error()}. - */ - warn(message?: any, ...optionalParams: any[]): void; - - // --- Inspector mode only --- - /** - * This method does not display anything unless used in the inspector. - * Starts a JavaScript CPU profile with an optional label. - */ - profile(label?: string): void; - /** - * This method does not display anything unless used in the inspector. - * Stops the current JavaScript CPU profiling session if one has been started and prints the report to the Profiles panel of the inspector. - */ - profileEnd(label?: string): void; - /** - * This method does not display anything unless used in the inspector. - * Adds an event with the label `label` to the Timeline panel of the inspector. - */ - timeStamp(label?: string): void; - } - - var console: Console; - - namespace NodeJS { - interface ConsoleConstructorOptions { - stdout: WritableStream; - stderr?: WritableStream; - ignoreErrors?: boolean; - colorMode?: boolean | 'auto'; - inspectOptions?: InspectOptions; - } - - interface ConsoleConstructor { - prototype: Console; - new(stdout: WritableStream, stderr?: WritableStream, ignoreErrors?: boolean): Console; - new(options: ConsoleConstructorOptions): Console; - } - - interface Global { - console: typeof console; - } - } - } - - export = console; -} diff --git a/node_modules/@types/node/constants.d.ts b/node_modules/@types/node/constants.d.ts deleted file mode 100644 index d124ae6..0000000 --- a/node_modules/@types/node/constants.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -/** @deprecated since v6.3.0 - use constants property exposed by the relevant module instead. */ -declare module "constants" { - import { constants as osConstants, SignalConstants } from 'os'; - import { constants as cryptoConstants } from 'crypto'; - import { constants as fsConstants } from 'fs'; - const exp: typeof osConstants.errno & typeof osConstants.priority & SignalConstants & typeof cryptoConstants & typeof fsConstants; - export = exp; -} diff --git a/node_modules/@types/node/crypto.d.ts b/node_modules/@types/node/crypto.d.ts deleted file mode 100644 index bf3c237..0000000 --- a/node_modules/@types/node/crypto.d.ts +++ /dev/null @@ -1,1172 +0,0 @@ -declare module 'crypto' { - import * as stream from 'stream'; - - interface Certificate { - /** - * @param spkac - * @returns The challenge component of the `spkac` data structure, - * which includes a public key and a challenge. - */ - exportChallenge(spkac: BinaryLike): Buffer; - /** - * @param spkac - * @param encoding The encoding of the spkac string. - * @returns The public key component of the `spkac` data structure, - * which includes a public key and a challenge. - */ - exportPublicKey(spkac: BinaryLike, encoding?: string): Buffer; - /** - * @param spkac - * @returns `true` if the given `spkac` data structure is valid, - * `false` otherwise. - */ - verifySpkac(spkac: NodeJS.ArrayBufferView): boolean; - } - const Certificate: Certificate & { - /** @deprecated since v14.9.0 - Use static methods of `crypto.Certificate` instead. */ - new (): Certificate; - /** @deprecated since v14.9.0 - Use static methods of `crypto.Certificate` instead. */ - (): Certificate; - }; - - namespace constants { - // https://nodejs.org/dist/latest-v10.x/docs/api/crypto.html#crypto_crypto_constants - const OPENSSL_VERSION_NUMBER: number; - - /** Applies multiple bug workarounds within OpenSSL. See https://www.openssl.org/docs/man1.0.2/ssl/SSL_CTX_set_options.html for detail. */ - const SSL_OP_ALL: number; - /** Allows legacy insecure renegotiation between OpenSSL and unpatched clients or servers. See https://www.openssl.org/docs/man1.0.2/ssl/SSL_CTX_set_options.html. */ - const SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION: number; - /** Attempts to use the server's preferences instead of the client's when selecting a cipher. See https://www.openssl.org/docs/man1.0.2/ssl/SSL_CTX_set_options.html. */ - const SSL_OP_CIPHER_SERVER_PREFERENCE: number; - /** Instructs OpenSSL to use Cisco's "speshul" version of DTLS_BAD_VER. */ - const SSL_OP_CISCO_ANYCONNECT: number; - /** Instructs OpenSSL to turn on cookie exchange. */ - const SSL_OP_COOKIE_EXCHANGE: number; - /** Instructs OpenSSL to add server-hello extension from an early version of the cryptopro draft. */ - const SSL_OP_CRYPTOPRO_TLSEXT_BUG: number; - /** Instructs OpenSSL to disable a SSL 3.0/TLS 1.0 vulnerability workaround added in OpenSSL 0.9.6d. */ - const SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS: number; - /** Instructs OpenSSL to always use the tmp_rsa key when performing RSA operations. */ - const SSL_OP_EPHEMERAL_RSA: number; - /** Allows initial connection to servers that do not support RI. */ - const SSL_OP_LEGACY_SERVER_CONNECT: number; - const SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER: number; - const SSL_OP_MICROSOFT_SESS_ID_BUG: number; - /** Instructs OpenSSL to disable the workaround for a man-in-the-middle protocol-version vulnerability in the SSL 2.0 server implementation. */ - const SSL_OP_MSIE_SSLV2_RSA_PADDING: number; - const SSL_OP_NETSCAPE_CA_DN_BUG: number; - const SSL_OP_NETSCAPE_CHALLENGE_BUG: number; - const SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG: number; - const SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG: number; - /** Instructs OpenSSL to disable support for SSL/TLS compression. */ - const SSL_OP_NO_COMPRESSION: number; - const SSL_OP_NO_QUERY_MTU: number; - /** Instructs OpenSSL to always start a new session when performing renegotiation. */ - const SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION: number; - const SSL_OP_NO_SSLv2: number; - const SSL_OP_NO_SSLv3: number; - const SSL_OP_NO_TICKET: number; - const SSL_OP_NO_TLSv1: number; - const SSL_OP_NO_TLSv1_1: number; - const SSL_OP_NO_TLSv1_2: number; - const SSL_OP_PKCS1_CHECK_1: number; - const SSL_OP_PKCS1_CHECK_2: number; - /** Instructs OpenSSL to always create a new key when using temporary/ephemeral DH parameters. */ - const SSL_OP_SINGLE_DH_USE: number; - /** Instructs OpenSSL to always create a new key when using temporary/ephemeral ECDH parameters. */ - const SSL_OP_SINGLE_ECDH_USE: number; - const SSL_OP_SSLEAY_080_CLIENT_DH_BUG: number; - const SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG: number; - const SSL_OP_TLS_BLOCK_PADDING_BUG: number; - const SSL_OP_TLS_D5_BUG: number; - /** Instructs OpenSSL to disable version rollback attack detection. */ - const SSL_OP_TLS_ROLLBACK_BUG: number; - - const ENGINE_METHOD_RSA: number; - const ENGINE_METHOD_DSA: number; - const ENGINE_METHOD_DH: number; - const ENGINE_METHOD_RAND: number; - const ENGINE_METHOD_EC: number; - const ENGINE_METHOD_CIPHERS: number; - const ENGINE_METHOD_DIGESTS: number; - const ENGINE_METHOD_PKEY_METHS: number; - const ENGINE_METHOD_PKEY_ASN1_METHS: number; - const ENGINE_METHOD_ALL: number; - const ENGINE_METHOD_NONE: number; - - const DH_CHECK_P_NOT_SAFE_PRIME: number; - const DH_CHECK_P_NOT_PRIME: number; - const DH_UNABLE_TO_CHECK_GENERATOR: number; - const DH_NOT_SUITABLE_GENERATOR: number; - - const ALPN_ENABLED: number; - - const RSA_PKCS1_PADDING: number; - const RSA_SSLV23_PADDING: number; - const RSA_NO_PADDING: number; - const RSA_PKCS1_OAEP_PADDING: number; - const RSA_X931_PADDING: number; - const RSA_PKCS1_PSS_PADDING: number; - /** Sets the salt length for RSA_PKCS1_PSS_PADDING to the digest size when signing or verifying. */ - const RSA_PSS_SALTLEN_DIGEST: number; - /** Sets the salt length for RSA_PKCS1_PSS_PADDING to the maximum permissible value when signing data. */ - const RSA_PSS_SALTLEN_MAX_SIGN: number; - /** Causes the salt length for RSA_PKCS1_PSS_PADDING to be determined automatically when verifying a signature. */ - const RSA_PSS_SALTLEN_AUTO: number; - - const POINT_CONVERSION_COMPRESSED: number; - const POINT_CONVERSION_UNCOMPRESSED: number; - const POINT_CONVERSION_HYBRID: number; - - /** Specifies the built-in default cipher list used by Node.js (colon-separated values). */ - const defaultCoreCipherList: string; - /** Specifies the active default cipher list used by the current Node.js process (colon-separated values). */ - const defaultCipherList: string; - } - - interface HashOptions extends stream.TransformOptions { - /** - * For XOF hash functions such as `shake256`, the - * outputLength option can be used to specify the desired output length in bytes. - */ - outputLength?: number; - } - - /** @deprecated since v10.0.0 */ - const fips: boolean; - - function createHash(algorithm: string, options?: HashOptions): Hash; - function createHmac(algorithm: string, key: BinaryLike | KeyObject, options?: stream.TransformOptions): Hmac; - - // https://nodejs.org/api/buffer.html#buffer_buffers_and_character_encodings - type BinaryToTextEncoding = 'base64' | 'hex'; - type CharacterEncoding = 'utf8' | 'utf-8' | 'utf16le' | 'latin1'; - type LegacyCharacterEncoding = 'ascii' | 'binary' | 'ucs2' | 'ucs-2'; - - type Encoding = BinaryToTextEncoding | CharacterEncoding | LegacyCharacterEncoding; - - type ECDHKeyFormat = 'compressed' | 'uncompressed' | 'hybrid'; - - class Hash extends stream.Transform { - private constructor(); - copy(): Hash; - update(data: BinaryLike): Hash; - update(data: string, input_encoding: Encoding): Hash; - digest(): Buffer; - digest(encoding: BinaryToTextEncoding): string; - } - class Hmac extends stream.Transform { - private constructor(); - update(data: BinaryLike): Hmac; - update(data: string, input_encoding: Encoding): Hmac; - digest(): Buffer; - digest(encoding: BinaryToTextEncoding): string; - } - - type KeyObjectType = 'secret' | 'public' | 'private'; - - interface KeyExportOptions { - type: 'pkcs1' | 'spki' | 'pkcs8' | 'sec1'; - format: T; - cipher?: string; - passphrase?: string | Buffer; - } - - class KeyObject { - private constructor(); - asymmetricKeyType?: KeyType; - /** - * For asymmetric keys, this property represents the size of the embedded key in - * bytes. This property is `undefined` for symmetric keys. - */ - asymmetricKeySize?: number; - export(options: KeyExportOptions<'pem'>): string | Buffer; - export(options?: KeyExportOptions<'der'>): Buffer; - symmetricKeySize?: number; - type: KeyObjectType; - } - - type CipherCCMTypes = 'aes-128-ccm' | 'aes-192-ccm' | 'aes-256-ccm' | 'chacha20-poly1305'; - type CipherGCMTypes = 'aes-128-gcm' | 'aes-192-gcm' | 'aes-256-gcm'; - - type BinaryLike = string | NodeJS.ArrayBufferView; - - type CipherKey = BinaryLike | KeyObject; - - interface CipherCCMOptions extends stream.TransformOptions { - authTagLength: number; - } - interface CipherGCMOptions extends stream.TransformOptions { - authTagLength?: number; - } - /** @deprecated since v10.0.0 use `createCipheriv()` */ - function createCipher(algorithm: CipherCCMTypes, password: BinaryLike, options: CipherCCMOptions): CipherCCM; - /** @deprecated since v10.0.0 use `createCipheriv()` */ - function createCipher(algorithm: CipherGCMTypes, password: BinaryLike, options?: CipherGCMOptions): CipherGCM; - /** @deprecated since v10.0.0 use `createCipheriv()` */ - function createCipher(algorithm: string, password: BinaryLike, options?: stream.TransformOptions): Cipher; - - function createCipheriv( - algorithm: CipherCCMTypes, - key: CipherKey, - iv: BinaryLike | null, - options: CipherCCMOptions, - ): CipherCCM; - function createCipheriv( - algorithm: CipherGCMTypes, - key: CipherKey, - iv: BinaryLike | null, - options?: CipherGCMOptions, - ): CipherGCM; - function createCipheriv( - algorithm: string, - key: CipherKey, - iv: BinaryLike | null, - options?: stream.TransformOptions, - ): Cipher; - - class Cipher extends stream.Transform { - private constructor(); - update(data: BinaryLike): Buffer; - update(data: string, input_encoding: Encoding): Buffer; - update(data: NodeJS.ArrayBufferView, input_encoding: undefined, output_encoding: BinaryToTextEncoding): string; - update(data: string, input_encoding: Encoding | undefined, output_encoding: BinaryToTextEncoding): string; - final(): Buffer; - final(output_encoding: BufferEncoding): string; - setAutoPadding(auto_padding?: boolean): this; - // getAuthTag(): Buffer; - // setAAD(buffer: NodeJS.ArrayBufferView): this; - } - interface CipherCCM extends Cipher { - setAAD(buffer: NodeJS.ArrayBufferView, options: { plaintextLength: number }): this; - getAuthTag(): Buffer; - } - interface CipherGCM extends Cipher { - setAAD(buffer: NodeJS.ArrayBufferView, options?: { plaintextLength: number }): this; - getAuthTag(): Buffer; - } - /** @deprecated since v10.0.0 use `createDecipheriv()` */ - function createDecipher(algorithm: CipherCCMTypes, password: BinaryLike, options: CipherCCMOptions): DecipherCCM; - /** @deprecated since v10.0.0 use `createDecipheriv()` */ - function createDecipher(algorithm: CipherGCMTypes, password: BinaryLike, options?: CipherGCMOptions): DecipherGCM; - /** @deprecated since v10.0.0 use `createDecipheriv()` */ - function createDecipher(algorithm: string, password: BinaryLike, options?: stream.TransformOptions): Decipher; - - function createDecipheriv( - algorithm: CipherCCMTypes, - key: CipherKey, - iv: BinaryLike | null, - options: CipherCCMOptions, - ): DecipherCCM; - function createDecipheriv( - algorithm: CipherGCMTypes, - key: CipherKey, - iv: BinaryLike | null, - options?: CipherGCMOptions, - ): DecipherGCM; - function createDecipheriv( - algorithm: string, - key: CipherKey, - iv: BinaryLike | null, - options?: stream.TransformOptions, - ): Decipher; - - class Decipher extends stream.Transform { - private constructor(); - update(data: NodeJS.ArrayBufferView): Buffer; - update(data: string, input_encoding: BinaryToTextEncoding): Buffer; - update(data: NodeJS.ArrayBufferView, input_encoding: undefined, output_encoding: Encoding): string; - update(data: string, input_encoding: BinaryToTextEncoding | undefined, output_encoding: Encoding): string; - final(): Buffer; - final(output_encoding: BufferEncoding): string; - setAutoPadding(auto_padding?: boolean): this; - // setAuthTag(tag: NodeJS.ArrayBufferView): this; - // setAAD(buffer: NodeJS.ArrayBufferView): this; - } - interface DecipherCCM extends Decipher { - setAuthTag(buffer: NodeJS.ArrayBufferView): this; - setAAD(buffer: NodeJS.ArrayBufferView, options: { plaintextLength: number }): this; - } - interface DecipherGCM extends Decipher { - setAuthTag(buffer: NodeJS.ArrayBufferView): this; - setAAD(buffer: NodeJS.ArrayBufferView, options?: { plaintextLength: number }): this; - } - - interface PrivateKeyInput { - key: string | Buffer; - format?: KeyFormat; - type?: 'pkcs1' | 'pkcs8' | 'sec1'; - passphrase?: string | Buffer; - } - - interface PublicKeyInput { - key: string | Buffer; - format?: KeyFormat; - type?: 'pkcs1' | 'spki'; - } - - function createPrivateKey(key: PrivateKeyInput | string | Buffer): KeyObject; - function createPublicKey(key: PublicKeyInput | string | Buffer | KeyObject): KeyObject; - function createSecretKey(key: NodeJS.ArrayBufferView): KeyObject; - - function createSign(algorithm: string, options?: stream.WritableOptions): Signer; - - type DSAEncoding = 'der' | 'ieee-p1363'; - - interface SigningOptions { - /** - * @See crypto.constants.RSA_PKCS1_PADDING - */ - padding?: number; - saltLength?: number; - dsaEncoding?: DSAEncoding; - } - - interface SignPrivateKeyInput extends PrivateKeyInput, SigningOptions {} - interface SignKeyObjectInput extends SigningOptions { - key: KeyObject; - } - interface VerifyPublicKeyInput extends PublicKeyInput, SigningOptions {} - interface VerifyKeyObjectInput extends SigningOptions { - key: KeyObject; - } - - type KeyLike = string | Buffer | KeyObject; - - class Signer extends stream.Writable { - private constructor(); - - update(data: BinaryLike): Signer; - update(data: string, input_encoding: Encoding): Signer; - sign(private_key: KeyLike | SignKeyObjectInput | SignPrivateKeyInput): Buffer; - sign( - private_key: KeyLike | SignKeyObjectInput | SignPrivateKeyInput, - output_format: BinaryToTextEncoding, - ): string; - } - - function createVerify(algorithm: string, options?: stream.WritableOptions): Verify; - class Verify extends stream.Writable { - private constructor(); - - update(data: BinaryLike): Verify; - update(data: string, input_encoding: Encoding): Verify; - verify( - object: KeyLike | VerifyKeyObjectInput | VerifyPublicKeyInput, - signature: NodeJS.ArrayBufferView, - ): boolean; - verify( - object: KeyLike | VerifyKeyObjectInput | VerifyPublicKeyInput, - signature: string, - signature_format?: BinaryToTextEncoding, - ): boolean; - // https://nodejs.org/api/crypto.html#crypto_verifier_verify_object_signature_signature_format - // The signature field accepts a TypedArray type, but it is only available starting ES2017 - } - function createDiffieHellman(prime_length: number, generator?: number | NodeJS.ArrayBufferView): DiffieHellman; - function createDiffieHellman(prime: NodeJS.ArrayBufferView): DiffieHellman; - function createDiffieHellman(prime: string, prime_encoding: BinaryToTextEncoding): DiffieHellman; - function createDiffieHellman( - prime: string, - prime_encoding: BinaryToTextEncoding, - generator: number | NodeJS.ArrayBufferView, - ): DiffieHellman; - function createDiffieHellman( - prime: string, - prime_encoding: BinaryToTextEncoding, - generator: string, - generator_encoding: BinaryToTextEncoding, - ): DiffieHellman; - class DiffieHellman { - private constructor(); - generateKeys(): Buffer; - generateKeys(encoding: BinaryToTextEncoding): string; - computeSecret(other_public_key: NodeJS.ArrayBufferView): Buffer; - computeSecret(other_public_key: string, input_encoding: BinaryToTextEncoding): Buffer; - computeSecret(other_public_key: NodeJS.ArrayBufferView, output_encoding: BinaryToTextEncoding): string; - computeSecret( - other_public_key: string, - input_encoding: BinaryToTextEncoding, - output_encoding: BinaryToTextEncoding, - ): string; - getPrime(): Buffer; - getPrime(encoding: BinaryToTextEncoding): string; - getGenerator(): Buffer; - getGenerator(encoding: BinaryToTextEncoding): string; - getPublicKey(): Buffer; - getPublicKey(encoding: BinaryToTextEncoding): string; - getPrivateKey(): Buffer; - getPrivateKey(encoding: BinaryToTextEncoding): string; - setPublicKey(public_key: NodeJS.ArrayBufferView): void; - setPublicKey(public_key: string, encoding: BufferEncoding): void; - setPrivateKey(private_key: NodeJS.ArrayBufferView): void; - setPrivateKey(private_key: string, encoding: BufferEncoding): void; - verifyError: number; - } - function getDiffieHellman(group_name: string): DiffieHellman; - function pbkdf2( - password: BinaryLike, - salt: BinaryLike, - iterations: number, - keylen: number, - digest: string, - callback: (err: Error | null, derivedKey: Buffer) => any, - ): void; - function pbkdf2Sync( - password: BinaryLike, - salt: BinaryLike, - iterations: number, - keylen: number, - digest: string, - ): Buffer; - - function randomBytes(size: number): Buffer; - function randomBytes(size: number, callback: (err: Error | null, buf: Buffer) => void): void; - function pseudoRandomBytes(size: number): Buffer; - function pseudoRandomBytes(size: number, callback: (err: Error | null, buf: Buffer) => void): void; - - function randomInt(max: number): number; - function randomInt(min: number, max: number): number; - function randomInt(max: number, callback: (err: Error | null, value: number) => void): void; - function randomInt(min: number, max: number, callback: (err: Error | null, value: number) => void): void; - - function randomFillSync(buffer: T, offset?: number, size?: number): T; - function randomFill( - buffer: T, - callback: (err: Error | null, buf: T) => void, - ): void; - function randomFill( - buffer: T, - offset: number, - callback: (err: Error | null, buf: T) => void, - ): void; - function randomFill( - buffer: T, - offset: number, - size: number, - callback: (err: Error | null, buf: T) => void, - ): void; - - interface ScryptOptions { - cost?: number; - blockSize?: number; - parallelization?: number; - N?: number; - r?: number; - p?: number; - maxmem?: number; - } - function scrypt( - password: BinaryLike, - salt: BinaryLike, - keylen: number, - callback: (err: Error | null, derivedKey: Buffer) => void, - ): void; - function scrypt( - password: BinaryLike, - salt: BinaryLike, - keylen: number, - options: ScryptOptions, - callback: (err: Error | null, derivedKey: Buffer) => void, - ): void; - function scryptSync(password: BinaryLike, salt: BinaryLike, keylen: number, options?: ScryptOptions): Buffer; - - interface RsaPublicKey { - key: KeyLike; - padding?: number; - } - interface RsaPrivateKey { - key: KeyLike; - passphrase?: string; - /** - * @default 'sha1' - */ - oaepHash?: string; - oaepLabel?: NodeJS.TypedArray; - padding?: number; - } - function publicEncrypt(key: RsaPublicKey | RsaPrivateKey | KeyLike, buffer: NodeJS.ArrayBufferView): Buffer; - function publicDecrypt(key: RsaPublicKey | RsaPrivateKey | KeyLike, buffer: NodeJS.ArrayBufferView): Buffer; - function privateDecrypt(private_key: RsaPrivateKey | KeyLike, buffer: NodeJS.ArrayBufferView): Buffer; - function privateEncrypt(private_key: RsaPrivateKey | KeyLike, buffer: NodeJS.ArrayBufferView): Buffer; - function getCiphers(): string[]; - function getCurves(): string[]; - function getFips(): 1 | 0; - function getHashes(): string[]; - class ECDH { - private constructor(); - static convertKey( - key: BinaryLike, - curve: string, - inputEncoding?: BinaryToTextEncoding, - outputEncoding?: 'latin1' | 'hex' | 'base64', - format?: 'uncompressed' | 'compressed' | 'hybrid', - ): Buffer | string; - generateKeys(): Buffer; - generateKeys(encoding: BinaryToTextEncoding, format?: ECDHKeyFormat): string; - computeSecret(other_public_key: NodeJS.ArrayBufferView): Buffer; - computeSecret(other_public_key: string, input_encoding: BinaryToTextEncoding): Buffer; - computeSecret(other_public_key: NodeJS.ArrayBufferView, output_encoding: BinaryToTextEncoding): string; - computeSecret( - other_public_key: string, - input_encoding: BinaryToTextEncoding, - output_encoding: BinaryToTextEncoding, - ): string; - getPrivateKey(): Buffer; - getPrivateKey(encoding: BinaryToTextEncoding): string; - getPublicKey(): Buffer; - getPublicKey(encoding: BinaryToTextEncoding, format?: ECDHKeyFormat): string; - setPrivateKey(private_key: NodeJS.ArrayBufferView): void; - setPrivateKey(private_key: string, encoding: BinaryToTextEncoding): void; - } - function createECDH(curve_name: string): ECDH; - function timingSafeEqual(a: NodeJS.ArrayBufferView, b: NodeJS.ArrayBufferView): boolean; - /** @deprecated since v10.0.0 */ - const DEFAULT_ENCODING: BufferEncoding; - - type KeyType = 'rsa' | 'dsa' | 'ec' | 'ed25519' | 'ed448' | 'x25519' | 'x448'; - type KeyFormat = 'pem' | 'der'; - - interface BasePrivateKeyEncodingOptions { - format: T; - cipher?: string; - passphrase?: string; - } - - interface KeyPairKeyObjectResult { - publicKey: KeyObject; - privateKey: KeyObject; - } - - interface ED25519KeyPairKeyObjectOptions { - /** - * No options. - */ - } - - interface ED448KeyPairKeyObjectOptions { - /** - * No options. - */ - } - - interface X25519KeyPairKeyObjectOptions { - /** - * No options. - */ - } - - interface X448KeyPairKeyObjectOptions { - /** - * No options. - */ - } - - interface ECKeyPairKeyObjectOptions { - /** - * Name of the curve to use. - */ - namedCurve: string; - } - - interface RSAKeyPairKeyObjectOptions { - /** - * Key size in bits - */ - modulusLength: number; - - /** - * @default 0x10001 - */ - publicExponent?: number; - } - - interface DSAKeyPairKeyObjectOptions { - /** - * Key size in bits - */ - modulusLength: number; - - /** - * Size of q in bits - */ - divisorLength: number; - } - - interface RSAKeyPairOptions { - /** - * Key size in bits - */ - modulusLength: number; - /** - * @default 0x10001 - */ - publicExponent?: number; - - publicKeyEncoding: { - type: 'pkcs1' | 'spki'; - format: PubF; - }; - privateKeyEncoding: BasePrivateKeyEncodingOptions & { - type: 'pkcs1' | 'pkcs8'; - }; - } - - interface DSAKeyPairOptions { - /** - * Key size in bits - */ - modulusLength: number; - /** - * Size of q in bits - */ - divisorLength: number; - - publicKeyEncoding: { - type: 'spki'; - format: PubF; - }; - privateKeyEncoding: BasePrivateKeyEncodingOptions & { - type: 'pkcs8'; - }; - } - - interface ECKeyPairOptions { - /** - * Name of the curve to use. - */ - namedCurve: string; - - publicKeyEncoding: { - type: 'pkcs1' | 'spki'; - format: PubF; - }; - privateKeyEncoding: BasePrivateKeyEncodingOptions & { - type: 'sec1' | 'pkcs8'; - }; - } - - interface ED25519KeyPairOptions { - publicKeyEncoding: { - type: 'spki'; - format: PubF; - }; - privateKeyEncoding: BasePrivateKeyEncodingOptions & { - type: 'pkcs8'; - }; - } - - interface ED448KeyPairOptions { - publicKeyEncoding: { - type: 'spki'; - format: PubF; - }; - privateKeyEncoding: BasePrivateKeyEncodingOptions & { - type: 'pkcs8'; - }; - } - - interface X25519KeyPairOptions { - publicKeyEncoding: { - type: 'spki'; - format: PubF; - }; - privateKeyEncoding: BasePrivateKeyEncodingOptions & { - type: 'pkcs8'; - }; - } - - interface X448KeyPairOptions { - publicKeyEncoding: { - type: 'spki'; - format: PubF; - }; - privateKeyEncoding: BasePrivateKeyEncodingOptions & { - type: 'pkcs8'; - }; - } - - interface KeyPairSyncResult { - publicKey: T1; - privateKey: T2; - } - - function generateKeyPairSync( - type: 'rsa', - options: RSAKeyPairOptions<'pem', 'pem'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'rsa', - options: RSAKeyPairOptions<'pem', 'der'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'rsa', - options: RSAKeyPairOptions<'der', 'pem'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'rsa', - options: RSAKeyPairOptions<'der', 'der'>, - ): KeyPairSyncResult; - function generateKeyPairSync(type: 'rsa', options: RSAKeyPairKeyObjectOptions): KeyPairKeyObjectResult; - - function generateKeyPairSync( - type: 'dsa', - options: DSAKeyPairOptions<'pem', 'pem'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'dsa', - options: DSAKeyPairOptions<'pem', 'der'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'dsa', - options: DSAKeyPairOptions<'der', 'pem'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'dsa', - options: DSAKeyPairOptions<'der', 'der'>, - ): KeyPairSyncResult; - function generateKeyPairSync(type: 'dsa', options: DSAKeyPairKeyObjectOptions): KeyPairKeyObjectResult; - - function generateKeyPairSync( - type: 'ec', - options: ECKeyPairOptions<'pem', 'pem'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'ec', - options: ECKeyPairOptions<'pem', 'der'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'ec', - options: ECKeyPairOptions<'der', 'pem'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'ec', - options: ECKeyPairOptions<'der', 'der'>, - ): KeyPairSyncResult; - function generateKeyPairSync(type: 'ec', options: ECKeyPairKeyObjectOptions): KeyPairKeyObjectResult; - - function generateKeyPairSync( - type: 'ed25519', - options: ED25519KeyPairOptions<'pem', 'pem'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'ed25519', - options: ED25519KeyPairOptions<'pem', 'der'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'ed25519', - options: ED25519KeyPairOptions<'der', 'pem'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'ed25519', - options: ED25519KeyPairOptions<'der', 'der'>, - ): KeyPairSyncResult; - function generateKeyPairSync(type: 'ed25519', options?: ED25519KeyPairKeyObjectOptions): KeyPairKeyObjectResult; - - function generateKeyPairSync( - type: 'ed448', - options: ED448KeyPairOptions<'pem', 'pem'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'ed448', - options: ED448KeyPairOptions<'pem', 'der'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'ed448', - options: ED448KeyPairOptions<'der', 'pem'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'ed448', - options: ED448KeyPairOptions<'der', 'der'>, - ): KeyPairSyncResult; - function generateKeyPairSync(type: 'ed448', options?: ED448KeyPairKeyObjectOptions): KeyPairKeyObjectResult; - - function generateKeyPairSync( - type: 'x25519', - options: X25519KeyPairOptions<'pem', 'pem'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'x25519', - options: X25519KeyPairOptions<'pem', 'der'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'x25519', - options: X25519KeyPairOptions<'der', 'pem'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'x25519', - options: X25519KeyPairOptions<'der', 'der'>, - ): KeyPairSyncResult; - function generateKeyPairSync(type: 'x25519', options?: X25519KeyPairKeyObjectOptions): KeyPairKeyObjectResult; - - function generateKeyPairSync( - type: 'x448', - options: X448KeyPairOptions<'pem', 'pem'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'x448', - options: X448KeyPairOptions<'pem', 'der'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'x448', - options: X448KeyPairOptions<'der', 'pem'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'x448', - options: X448KeyPairOptions<'der', 'der'>, - ): KeyPairSyncResult; - function generateKeyPairSync(type: 'x448', options?: X448KeyPairKeyObjectOptions): KeyPairKeyObjectResult; - - function generateKeyPair( - type: 'rsa', - options: RSAKeyPairOptions<'pem', 'pem'>, - callback: (err: Error | null, publicKey: string, privateKey: string) => void, - ): void; - function generateKeyPair( - type: 'rsa', - options: RSAKeyPairOptions<'pem', 'der'>, - callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void, - ): void; - function generateKeyPair( - type: 'rsa', - options: RSAKeyPairOptions<'der', 'pem'>, - callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void, - ): void; - function generateKeyPair( - type: 'rsa', - options: RSAKeyPairOptions<'der', 'der'>, - callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void, - ): void; - function generateKeyPair( - type: 'rsa', - options: RSAKeyPairKeyObjectOptions, - callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void, - ): void; - - function generateKeyPair( - type: 'dsa', - options: DSAKeyPairOptions<'pem', 'pem'>, - callback: (err: Error | null, publicKey: string, privateKey: string) => void, - ): void; - function generateKeyPair( - type: 'dsa', - options: DSAKeyPairOptions<'pem', 'der'>, - callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void, - ): void; - function generateKeyPair( - type: 'dsa', - options: DSAKeyPairOptions<'der', 'pem'>, - callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void, - ): void; - function generateKeyPair( - type: 'dsa', - options: DSAKeyPairOptions<'der', 'der'>, - callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void, - ): void; - function generateKeyPair( - type: 'dsa', - options: DSAKeyPairKeyObjectOptions, - callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void, - ): void; - - function generateKeyPair( - type: 'ec', - options: ECKeyPairOptions<'pem', 'pem'>, - callback: (err: Error | null, publicKey: string, privateKey: string) => void, - ): void; - function generateKeyPair( - type: 'ec', - options: ECKeyPairOptions<'pem', 'der'>, - callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void, - ): void; - function generateKeyPair( - type: 'ec', - options: ECKeyPairOptions<'der', 'pem'>, - callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void, - ): void; - function generateKeyPair( - type: 'ec', - options: ECKeyPairOptions<'der', 'der'>, - callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void, - ): void; - function generateKeyPair( - type: 'ec', - options: ECKeyPairKeyObjectOptions, - callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void, - ): void; - - function generateKeyPair( - type: 'ed25519', - options: ED25519KeyPairOptions<'pem', 'pem'>, - callback: (err: Error | null, publicKey: string, privateKey: string) => void, - ): void; - function generateKeyPair( - type: 'ed25519', - options: ED25519KeyPairOptions<'pem', 'der'>, - callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void, - ): void; - function generateKeyPair( - type: 'ed25519', - options: ED25519KeyPairOptions<'der', 'pem'>, - callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void, - ): void; - function generateKeyPair( - type: 'ed25519', - options: ED25519KeyPairOptions<'der', 'der'>, - callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void, - ): void; - function generateKeyPair( - type: 'ed25519', - options: ED25519KeyPairKeyObjectOptions | undefined, - callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void, - ): void; - - function generateKeyPair( - type: 'ed448', - options: ED448KeyPairOptions<'pem', 'pem'>, - callback: (err: Error | null, publicKey: string, privateKey: string) => void, - ): void; - function generateKeyPair( - type: 'ed448', - options: ED448KeyPairOptions<'pem', 'der'>, - callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void, - ): void; - function generateKeyPair( - type: 'ed448', - options: ED448KeyPairOptions<'der', 'pem'>, - callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void, - ): void; - function generateKeyPair( - type: 'ed448', - options: ED448KeyPairOptions<'der', 'der'>, - callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void, - ): void; - function generateKeyPair( - type: 'ed448', - options: ED448KeyPairKeyObjectOptions | undefined, - callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void, - ): void; - - function generateKeyPair( - type: 'x25519', - options: X25519KeyPairOptions<'pem', 'pem'>, - callback: (err: Error | null, publicKey: string, privateKey: string) => void, - ): void; - function generateKeyPair( - type: 'x25519', - options: X25519KeyPairOptions<'pem', 'der'>, - callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void, - ): void; - function generateKeyPair( - type: 'x25519', - options: X25519KeyPairOptions<'der', 'pem'>, - callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void, - ): void; - function generateKeyPair( - type: 'x25519', - options: X25519KeyPairOptions<'der', 'der'>, - callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void, - ): void; - function generateKeyPair( - type: 'x25519', - options: X25519KeyPairKeyObjectOptions | undefined, - callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void, - ): void; - - function generateKeyPair( - type: 'x448', - options: X448KeyPairOptions<'pem', 'pem'>, - callback: (err: Error | null, publicKey: string, privateKey: string) => void, - ): void; - function generateKeyPair( - type: 'x448', - options: X448KeyPairOptions<'pem', 'der'>, - callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void, - ): void; - function generateKeyPair( - type: 'x448', - options: X448KeyPairOptions<'der', 'pem'>, - callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void, - ): void; - function generateKeyPair( - type: 'x448', - options: X448KeyPairOptions<'der', 'der'>, - callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void, - ): void; - function generateKeyPair( - type: 'x448', - options: X448KeyPairKeyObjectOptions | undefined, - callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void, - ): void; - - namespace generateKeyPair { - function __promisify__( - type: 'rsa', - options: RSAKeyPairOptions<'pem', 'pem'>, - ): Promise<{ publicKey: string; privateKey: string }>; - function __promisify__( - type: 'rsa', - options: RSAKeyPairOptions<'pem', 'der'>, - ): Promise<{ publicKey: string; privateKey: Buffer }>; - function __promisify__( - type: 'rsa', - options: RSAKeyPairOptions<'der', 'pem'>, - ): Promise<{ publicKey: Buffer; privateKey: string }>; - function __promisify__( - type: 'rsa', - options: RSAKeyPairOptions<'der', 'der'>, - ): Promise<{ publicKey: Buffer; privateKey: Buffer }>; - function __promisify__(type: 'rsa', options: RSAKeyPairKeyObjectOptions): Promise; - - function __promisify__( - type: 'dsa', - options: DSAKeyPairOptions<'pem', 'pem'>, - ): Promise<{ publicKey: string; privateKey: string }>; - function __promisify__( - type: 'dsa', - options: DSAKeyPairOptions<'pem', 'der'>, - ): Promise<{ publicKey: string; privateKey: Buffer }>; - function __promisify__( - type: 'dsa', - options: DSAKeyPairOptions<'der', 'pem'>, - ): Promise<{ publicKey: Buffer; privateKey: string }>; - function __promisify__( - type: 'dsa', - options: DSAKeyPairOptions<'der', 'der'>, - ): Promise<{ publicKey: Buffer; privateKey: Buffer }>; - function __promisify__(type: 'dsa', options: DSAKeyPairKeyObjectOptions): Promise; - - function __promisify__( - type: 'ec', - options: ECKeyPairOptions<'pem', 'pem'>, - ): Promise<{ publicKey: string; privateKey: string }>; - function __promisify__( - type: 'ec', - options: ECKeyPairOptions<'pem', 'der'>, - ): Promise<{ publicKey: string; privateKey: Buffer }>; - function __promisify__( - type: 'ec', - options: ECKeyPairOptions<'der', 'pem'>, - ): Promise<{ publicKey: Buffer; privateKey: string }>; - function __promisify__( - type: 'ec', - options: ECKeyPairOptions<'der', 'der'>, - ): Promise<{ publicKey: Buffer; privateKey: Buffer }>; - function __promisify__(type: 'ec', options: ECKeyPairKeyObjectOptions): Promise; - - function __promisify__( - type: 'ed25519', - options: ED25519KeyPairOptions<'pem', 'pem'>, - ): Promise<{ publicKey: string; privateKey: string }>; - function __promisify__( - type: 'ed25519', - options: ED25519KeyPairOptions<'pem', 'der'>, - ): Promise<{ publicKey: string; privateKey: Buffer }>; - function __promisify__( - type: 'ed25519', - options: ED25519KeyPairOptions<'der', 'pem'>, - ): Promise<{ publicKey: Buffer; privateKey: string }>; - function __promisify__( - type: 'ed25519', - options: ED25519KeyPairOptions<'der', 'der'>, - ): Promise<{ publicKey: Buffer; privateKey: Buffer }>; - function __promisify__( - type: 'ed25519', - options?: ED25519KeyPairKeyObjectOptions, - ): Promise; - - function __promisify__( - type: 'ed448', - options: ED448KeyPairOptions<'pem', 'pem'>, - ): Promise<{ publicKey: string; privateKey: string }>; - function __promisify__( - type: 'ed448', - options: ED448KeyPairOptions<'pem', 'der'>, - ): Promise<{ publicKey: string; privateKey: Buffer }>; - function __promisify__( - type: 'ed448', - options: ED448KeyPairOptions<'der', 'pem'>, - ): Promise<{ publicKey: Buffer; privateKey: string }>; - function __promisify__( - type: 'ed448', - options: ED448KeyPairOptions<'der', 'der'>, - ): Promise<{ publicKey: Buffer; privateKey: Buffer }>; - function __promisify__(type: 'ed448', options?: ED448KeyPairKeyObjectOptions): Promise; - - function __promisify__( - type: 'x25519', - options: X25519KeyPairOptions<'pem', 'pem'>, - ): Promise<{ publicKey: string; privateKey: string }>; - function __promisify__( - type: 'x25519', - options: X25519KeyPairOptions<'pem', 'der'>, - ): Promise<{ publicKey: string; privateKey: Buffer }>; - function __promisify__( - type: 'x25519', - options: X25519KeyPairOptions<'der', 'pem'>, - ): Promise<{ publicKey: Buffer; privateKey: string }>; - function __promisify__( - type: 'x25519', - options: X25519KeyPairOptions<'der', 'der'>, - ): Promise<{ publicKey: Buffer; privateKey: Buffer }>; - function __promisify__( - type: 'x25519', - options?: X25519KeyPairKeyObjectOptions, - ): Promise; - - function __promisify__( - type: 'x448', - options: X448KeyPairOptions<'pem', 'pem'>, - ): Promise<{ publicKey: string; privateKey: string }>; - function __promisify__( - type: 'x448', - options: X448KeyPairOptions<'pem', 'der'>, - ): Promise<{ publicKey: string; privateKey: Buffer }>; - function __promisify__( - type: 'x448', - options: X448KeyPairOptions<'der', 'pem'>, - ): Promise<{ publicKey: Buffer; privateKey: string }>; - function __promisify__( - type: 'x448', - options: X448KeyPairOptions<'der', 'der'>, - ): Promise<{ publicKey: Buffer; privateKey: Buffer }>; - function __promisify__(type: 'x448', options?: X448KeyPairKeyObjectOptions): Promise; - } - - /** - * Calculates and returns the signature for `data` using the given private key and - * algorithm. If `algorithm` is `null` or `undefined`, then the algorithm is - * dependent upon the key type (especially Ed25519 and Ed448). - * - * If `key` is not a [`KeyObject`][], this function behaves as if `key` had been - * passed to [`crypto.createPrivateKey()`][]. - */ - function sign( - algorithm: string | null | undefined, - data: NodeJS.ArrayBufferView, - key: KeyLike | SignKeyObjectInput | SignPrivateKeyInput, - ): Buffer; - - /** - * Calculates and returns the signature for `data` using the given private key and - * algorithm. If `algorithm` is `null` or `undefined`, then the algorithm is - * dependent upon the key type (especially Ed25519 and Ed448). - * - * If `key` is not a [`KeyObject`][], this function behaves as if `key` had been - * passed to [`crypto.createPublicKey()`][]. - */ - function verify( - algorithm: string | null | undefined, - data: NodeJS.ArrayBufferView, - key: KeyLike | VerifyKeyObjectInput | VerifyPublicKeyInput, - signature: NodeJS.ArrayBufferView, - ): boolean; - - /** - * Computes the Diffie-Hellman secret based on a privateKey and a publicKey. - * Both keys must have the same asymmetricKeyType, which must be one of - * 'dh' (for Diffie-Hellman), 'ec' (for ECDH), 'x448', or 'x25519' (for ECDH-ES). - */ - function diffieHellman(options: { privateKey: KeyObject; publicKey: KeyObject }): Buffer; -} diff --git a/node_modules/@types/node/dgram.d.ts b/node_modules/@types/node/dgram.d.ts deleted file mode 100644 index 73f2aa7..0000000 --- a/node_modules/@types/node/dgram.d.ts +++ /dev/null @@ -1,141 +0,0 @@ -declare module "dgram" { - import { AddressInfo } from "net"; - import * as dns from "dns"; - import * as events from "events"; - - interface RemoteInfo { - address: string; - family: 'IPv4' | 'IPv6'; - port: number; - size: number; - } - - interface BindOptions { - port?: number; - address?: string; - exclusive?: boolean; - fd?: number; - } - - type SocketType = "udp4" | "udp6"; - - interface SocketOptions { - type: SocketType; - reuseAddr?: boolean; - /** - * @default false - */ - ipv6Only?: boolean; - recvBufferSize?: number; - sendBufferSize?: number; - lookup?: (hostname: string, options: dns.LookupOneOptions, callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void) => void; - } - - function createSocket(type: SocketType, callback?: (msg: Buffer, rinfo: RemoteInfo) => void): Socket; - function createSocket(options: SocketOptions, callback?: (msg: Buffer, rinfo: RemoteInfo) => void): Socket; - - class Socket extends events.EventEmitter { - addMembership(multicastAddress: string, multicastInterface?: string): void; - address(): AddressInfo; - bind(port?: number, address?: string, callback?: () => void): void; - bind(port?: number, callback?: () => void): void; - bind(callback?: () => void): void; - bind(options: BindOptions, callback?: () => void): void; - close(callback?: () => void): void; - connect(port: number, address?: string, callback?: () => void): void; - connect(port: number, callback: () => void): void; - disconnect(): void; - dropMembership(multicastAddress: string, multicastInterface?: string): void; - getRecvBufferSize(): number; - getSendBufferSize(): number; - ref(): this; - remoteAddress(): AddressInfo; - send(msg: string | Uint8Array | ReadonlyArray, port?: number, address?: string, callback?: (error: Error | null, bytes: number) => void): void; - send(msg: string | Uint8Array | ReadonlyArray, port?: number, callback?: (error: Error | null, bytes: number) => void): void; - send(msg: string | Uint8Array | ReadonlyArray, callback?: (error: Error | null, bytes: number) => void): void; - send(msg: string | Uint8Array, offset: number, length: number, port?: number, address?: string, callback?: (error: Error | null, bytes: number) => void): void; - send(msg: string | Uint8Array, offset: number, length: number, port?: number, callback?: (error: Error | null, bytes: number) => void): void; - send(msg: string | Uint8Array, offset: number, length: number, callback?: (error: Error | null, bytes: number) => void): void; - setBroadcast(flag: boolean): void; - setMulticastInterface(multicastInterface: string): void; - setMulticastLoopback(flag: boolean): void; - setMulticastTTL(ttl: number): void; - setRecvBufferSize(size: number): void; - setSendBufferSize(size: number): void; - setTTL(ttl: number): void; - unref(): this; - /** - * Tells the kernel to join a source-specific multicast channel at the given - * `sourceAddress` and `groupAddress`, using the `multicastInterface` with the - * `IP_ADD_SOURCE_MEMBERSHIP` socket option. - * If the `multicastInterface` argument - * is not specified, the operating system will choose one interface and will add - * membership to it. - * To add membership to every available interface, call - * `socket.addSourceSpecificMembership()` multiple times, once per interface. - */ - addSourceSpecificMembership(sourceAddress: string, groupAddress: string, multicastInterface?: string): void; - - /** - * Instructs the kernel to leave a source-specific multicast channel at the given - * `sourceAddress` and `groupAddress` using the `IP_DROP_SOURCE_MEMBERSHIP` - * socket option. This method is automatically called by the kernel when the - * socket is closed or the process terminates, so most apps will never have - * reason to call this. - * - * If `multicastInterface` is not specified, the operating system will attempt to - * drop membership on all valid interfaces. - */ - dropSourceSpecificMembership(sourceAddress: string, groupAddress: string, multicastInterface?: string): void; - - /** - * events.EventEmitter - * 1. close - * 2. connect - * 3. error - * 4. listening - * 5. message - */ - addListener(event: string, listener: (...args: any[]) => void): this; - addListener(event: "close", listener: () => void): this; - addListener(event: "connect", listener: () => void): this; - addListener(event: "error", listener: (err: Error) => void): this; - addListener(event: "listening", listener: () => void): this; - addListener(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this; - - emit(event: string | symbol, ...args: any[]): boolean; - emit(event: "close"): boolean; - emit(event: "connect"): boolean; - emit(event: "error", err: Error): boolean; - emit(event: "listening"): boolean; - emit(event: "message", msg: Buffer, rinfo: RemoteInfo): boolean; - - on(event: string, listener: (...args: any[]) => void): this; - on(event: "close", listener: () => void): this; - on(event: "connect", listener: () => void): this; - on(event: "error", listener: (err: Error) => void): this; - on(event: "listening", listener: () => void): this; - on(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this; - - once(event: string, listener: (...args: any[]) => void): this; - once(event: "close", listener: () => void): this; - once(event: "connect", listener: () => void): this; - once(event: "error", listener: (err: Error) => void): this; - once(event: "listening", listener: () => void): this; - once(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this; - - prependListener(event: string, listener: (...args: any[]) => void): this; - prependListener(event: "close", listener: () => void): this; - prependListener(event: "connect", listener: () => void): this; - prependListener(event: "error", listener: (err: Error) => void): this; - prependListener(event: "listening", listener: () => void): this; - prependListener(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this; - - prependOnceListener(event: string, listener: (...args: any[]) => void): this; - prependOnceListener(event: "close", listener: () => void): this; - prependOnceListener(event: "connect", listener: () => void): this; - prependOnceListener(event: "error", listener: (err: Error) => void): this; - prependOnceListener(event: "listening", listener: () => void): this; - prependOnceListener(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this; - } -} diff --git a/node_modules/@types/node/dns.d.ts b/node_modules/@types/node/dns.d.ts deleted file mode 100644 index 494728d..0000000 --- a/node_modules/@types/node/dns.d.ts +++ /dev/null @@ -1,380 +0,0 @@ -declare module "dns" { - // Supported getaddrinfo flags. - const ADDRCONFIG: number; - const V4MAPPED: number; - /** - * If `dns.V4MAPPED` is specified, return resolved IPv6 addresses as - * well as IPv4 mapped IPv6 addresses. - */ - const ALL: number; - - interface LookupOptions { - family?: number; - hints?: number; - all?: boolean; - verbatim?: boolean; - } - - interface LookupOneOptions extends LookupOptions { - all?: false; - } - - interface LookupAllOptions extends LookupOptions { - all: true; - } - - interface LookupAddress { - address: string; - family: number; - } - - function lookup(hostname: string, family: number, callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void): void; - function lookup(hostname: string, options: LookupOneOptions, callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void): void; - function lookup(hostname: string, options: LookupAllOptions, callback: (err: NodeJS.ErrnoException | null, addresses: LookupAddress[]) => void): void; - function lookup(hostname: string, options: LookupOptions, callback: (err: NodeJS.ErrnoException | null, address: string | LookupAddress[], family: number) => void): void; - function lookup(hostname: string, callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - namespace lookup { - function __promisify__(hostname: string, options: LookupAllOptions): Promise; - function __promisify__(hostname: string, options?: LookupOneOptions | number): Promise; - function __promisify__(hostname: string, options: LookupOptions): Promise; - } - - function lookupService(address: string, port: number, callback: (err: NodeJS.ErrnoException | null, hostname: string, service: string) => void): void; - - namespace lookupService { - function __promisify__(address: string, port: number): Promise<{ hostname: string, service: string }>; - } - - interface ResolveOptions { - ttl: boolean; - } - - interface ResolveWithTtlOptions extends ResolveOptions { - ttl: true; - } - - interface RecordWithTtl { - address: string; - ttl: number; - } - - /** @deprecated Use `AnyARecord` or `AnyAaaaRecord` instead. */ - type AnyRecordWithTtl = AnyARecord | AnyAaaaRecord; - - interface AnyARecord extends RecordWithTtl { - type: "A"; - } - - interface AnyAaaaRecord extends RecordWithTtl { - type: "AAAA"; - } - - interface MxRecord { - priority: number; - exchange: string; - } - - interface AnyMxRecord extends MxRecord { - type: "MX"; - } - - interface NaptrRecord { - flags: string; - service: string; - regexp: string; - replacement: string; - order: number; - preference: number; - } - - interface AnyNaptrRecord extends NaptrRecord { - type: "NAPTR"; - } - - interface SoaRecord { - nsname: string; - hostmaster: string; - serial: number; - refresh: number; - retry: number; - expire: number; - minttl: number; - } - - interface AnySoaRecord extends SoaRecord { - type: "SOA"; - } - - interface SrvRecord { - priority: number; - weight: number; - port: number; - name: string; - } - - interface AnySrvRecord extends SrvRecord { - type: "SRV"; - } - - interface AnyTxtRecord { - type: "TXT"; - entries: string[]; - } - - interface AnyNsRecord { - type: "NS"; - value: string; - } - - interface AnyPtrRecord { - type: "PTR"; - value: string; - } - - interface AnyCnameRecord { - type: "CNAME"; - value: string; - } - - type AnyRecord = AnyARecord | - AnyAaaaRecord | - AnyCnameRecord | - AnyMxRecord | - AnyNaptrRecord | - AnyNsRecord | - AnyPtrRecord | - AnySoaRecord | - AnySrvRecord | - AnyTxtRecord; - - function resolve(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; - function resolve(hostname: string, rrtype: "A", callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; - function resolve(hostname: string, rrtype: "AAAA", callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; - function resolve(hostname: string, rrtype: "ANY", callback: (err: NodeJS.ErrnoException | null, addresses: AnyRecord[]) => void): void; - function resolve(hostname: string, rrtype: "CNAME", callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; - function resolve(hostname: string, rrtype: "MX", callback: (err: NodeJS.ErrnoException | null, addresses: MxRecord[]) => void): void; - function resolve(hostname: string, rrtype: "NAPTR", callback: (err: NodeJS.ErrnoException | null, addresses: NaptrRecord[]) => void): void; - function resolve(hostname: string, rrtype: "NS", callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; - function resolve(hostname: string, rrtype: "PTR", callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; - function resolve(hostname: string, rrtype: "SOA", callback: (err: NodeJS.ErrnoException | null, addresses: SoaRecord) => void): void; - function resolve(hostname: string, rrtype: "SRV", callback: (err: NodeJS.ErrnoException | null, addresses: SrvRecord[]) => void): void; - function resolve(hostname: string, rrtype: "TXT", callback: (err: NodeJS.ErrnoException | null, addresses: string[][]) => void): void; - function resolve( - hostname: string, - rrtype: string, - callback: (err: NodeJS.ErrnoException | null, addresses: string[] | MxRecord[] | NaptrRecord[] | SoaRecord | SrvRecord[] | string[][] | AnyRecord[]) => void, - ): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - namespace resolve { - function __promisify__(hostname: string, rrtype?: "A" | "AAAA" | "CNAME" | "NS" | "PTR"): Promise; - function __promisify__(hostname: string, rrtype: "ANY"): Promise; - function __promisify__(hostname: string, rrtype: "MX"): Promise; - function __promisify__(hostname: string, rrtype: "NAPTR"): Promise; - function __promisify__(hostname: string, rrtype: "SOA"): Promise; - function __promisify__(hostname: string, rrtype: "SRV"): Promise; - function __promisify__(hostname: string, rrtype: "TXT"): Promise; - function __promisify__(hostname: string, rrtype: string): Promise; - } - - function resolve4(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; - function resolve4(hostname: string, options: ResolveWithTtlOptions, callback: (err: NodeJS.ErrnoException | null, addresses: RecordWithTtl[]) => void): void; - function resolve4(hostname: string, options: ResolveOptions, callback: (err: NodeJS.ErrnoException | null, addresses: string[] | RecordWithTtl[]) => void): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - namespace resolve4 { - function __promisify__(hostname: string): Promise; - function __promisify__(hostname: string, options: ResolveWithTtlOptions): Promise; - function __promisify__(hostname: string, options?: ResolveOptions): Promise; - } - - function resolve6(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; - function resolve6(hostname: string, options: ResolveWithTtlOptions, callback: (err: NodeJS.ErrnoException | null, addresses: RecordWithTtl[]) => void): void; - function resolve6(hostname: string, options: ResolveOptions, callback: (err: NodeJS.ErrnoException | null, addresses: string[] | RecordWithTtl[]) => void): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - namespace resolve6 { - function __promisify__(hostname: string): Promise; - function __promisify__(hostname: string, options: ResolveWithTtlOptions): Promise; - function __promisify__(hostname: string, options?: ResolveOptions): Promise; - } - - function resolveCname(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; - namespace resolveCname { - function __promisify__(hostname: string): Promise; - } - - function resolveMx(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: MxRecord[]) => void): void; - namespace resolveMx { - function __promisify__(hostname: string): Promise; - } - - function resolveNaptr(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: NaptrRecord[]) => void): void; - namespace resolveNaptr { - function __promisify__(hostname: string): Promise; - } - - function resolveNs(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; - namespace resolveNs { - function __promisify__(hostname: string): Promise; - } - - function resolvePtr(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; - namespace resolvePtr { - function __promisify__(hostname: string): Promise; - } - - function resolveSoa(hostname: string, callback: (err: NodeJS.ErrnoException | null, address: SoaRecord) => void): void; - namespace resolveSoa { - function __promisify__(hostname: string): Promise; - } - - function resolveSrv(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: SrvRecord[]) => void): void; - namespace resolveSrv { - function __promisify__(hostname: string): Promise; - } - - function resolveTxt(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[][]) => void): void; - namespace resolveTxt { - function __promisify__(hostname: string): Promise; - } - - function resolveAny(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: AnyRecord[]) => void): void; - namespace resolveAny { - function __promisify__(hostname: string): Promise; - } - - function reverse(ip: string, callback: (err: NodeJS.ErrnoException | null, hostnames: string[]) => void): void; - function setServers(servers: ReadonlyArray): void; - function getServers(): string[]; - - // Error codes - const NODATA: string; - const FORMERR: string; - const SERVFAIL: string; - const NOTFOUND: string; - const NOTIMP: string; - const REFUSED: string; - const BADQUERY: string; - const BADNAME: string; - const BADFAMILY: string; - const BADRESP: string; - const CONNREFUSED: string; - const TIMEOUT: string; - const EOF: string; - const FILE: string; - const NOMEM: string; - const DESTRUCTION: string; - const BADSTR: string; - const BADFLAGS: string; - const NONAME: string; - const BADHINTS: string; - const NOTINITIALIZED: string; - const LOADIPHLPAPI: string; - const ADDRGETNETWORKPARAMS: string; - const CANCELLED: string; - - interface ResolverOptions { - timeout?: number; - } - - class Resolver { - constructor(options?: ResolverOptions); - cancel(): void; - getServers: typeof getServers; - resolve: typeof resolve; - resolve4: typeof resolve4; - resolve6: typeof resolve6; - resolveAny: typeof resolveAny; - resolveCname: typeof resolveCname; - resolveMx: typeof resolveMx; - resolveNaptr: typeof resolveNaptr; - resolveNs: typeof resolveNs; - resolvePtr: typeof resolvePtr; - resolveSoa: typeof resolveSoa; - resolveSrv: typeof resolveSrv; - resolveTxt: typeof resolveTxt; - reverse: typeof reverse; - setLocalAddress(ipv4?: string, ipv6?: string): void; - setServers: typeof setServers; - } - - namespace promises { - function getServers(): string[]; - - function lookup(hostname: string, family: number): Promise; - function lookup(hostname: string, options: LookupOneOptions): Promise; - function lookup(hostname: string, options: LookupAllOptions): Promise; - function lookup(hostname: string, options: LookupOptions): Promise; - function lookup(hostname: string): Promise; - - function lookupService(address: string, port: number): Promise<{ hostname: string, service: string }>; - - function resolve(hostname: string): Promise; - function resolve(hostname: string, rrtype: "A"): Promise; - function resolve(hostname: string, rrtype: "AAAA"): Promise; - function resolve(hostname: string, rrtype: "ANY"): Promise; - function resolve(hostname: string, rrtype: "CNAME"): Promise; - function resolve(hostname: string, rrtype: "MX"): Promise; - function resolve(hostname: string, rrtype: "NAPTR"): Promise; - function resolve(hostname: string, rrtype: "NS"): Promise; - function resolve(hostname: string, rrtype: "PTR"): Promise; - function resolve(hostname: string, rrtype: "SOA"): Promise; - function resolve(hostname: string, rrtype: "SRV"): Promise; - function resolve(hostname: string, rrtype: "TXT"): Promise; - function resolve(hostname: string, rrtype: string): Promise; - - function resolve4(hostname: string): Promise; - function resolve4(hostname: string, options: ResolveWithTtlOptions): Promise; - function resolve4(hostname: string, options: ResolveOptions): Promise; - - function resolve6(hostname: string): Promise; - function resolve6(hostname: string, options: ResolveWithTtlOptions): Promise; - function resolve6(hostname: string, options: ResolveOptions): Promise; - - function resolveAny(hostname: string): Promise; - - function resolveCname(hostname: string): Promise; - - function resolveMx(hostname: string): Promise; - - function resolveNaptr(hostname: string): Promise; - - function resolveNs(hostname: string): Promise; - - function resolvePtr(hostname: string): Promise; - - function resolveSoa(hostname: string): Promise; - - function resolveSrv(hostname: string): Promise; - - function resolveTxt(hostname: string): Promise; - - function reverse(ip: string): Promise; - - function setServers(servers: ReadonlyArray): void; - - class Resolver { - constructor(options?: ResolverOptions); - cancel(): void; - getServers: typeof getServers; - resolve: typeof resolve; - resolve4: typeof resolve4; - resolve6: typeof resolve6; - resolveAny: typeof resolveAny; - resolveCname: typeof resolveCname; - resolveMx: typeof resolveMx; - resolveNaptr: typeof resolveNaptr; - resolveNs: typeof resolveNs; - resolvePtr: typeof resolvePtr; - resolveSoa: typeof resolveSoa; - resolveSrv: typeof resolveSrv; - resolveTxt: typeof resolveTxt; - reverse: typeof reverse; - setLocalAddress(ipv4?: string, ipv6?: string): void; - setServers: typeof setServers; - } - } -} diff --git a/node_modules/@types/node/domain.d.ts b/node_modules/@types/node/domain.d.ts deleted file mode 100644 index 6423ebf..0000000 --- a/node_modules/@types/node/domain.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -declare module 'domain' { - import EventEmitter = require('events'); - - global { - namespace NodeJS { - interface Domain extends EventEmitter { - run(fn: (...args: any[]) => T, ...args: any[]): T; - add(emitter: EventEmitter | Timer): void; - remove(emitter: EventEmitter | Timer): void; - bind(cb: T): T; - intercept(cb: T): T; - } - } - } - - interface Domain extends NodeJS.Domain {} - class Domain extends EventEmitter { - members: Array; - enter(): void; - exit(): void; - } - - function create(): Domain; -} diff --git a/node_modules/@types/node/events.d.ts b/node_modules/@types/node/events.d.ts deleted file mode 100644 index 04f9a2f..0000000 --- a/node_modules/@types/node/events.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -declare module 'events' { - interface EventEmitterOptions { - /** - * Enables automatic capturing of promise rejection. - */ - captureRejections?: boolean; - } - - interface NodeEventTarget { - once(event: string | symbol, listener: (...args: any[]) => void): this; - } - - interface DOMEventTarget { - addEventListener(event: string, listener: (...args: any[]) => void, opts?: { once: boolean }): any; - } - - interface EventEmitter extends NodeJS.EventEmitter {} - class EventEmitter { - constructor(options?: EventEmitterOptions); - - static once(emitter: NodeEventTarget, event: string | symbol): Promise; - static once(emitter: DOMEventTarget, event: string): Promise; - static on(emitter: NodeJS.EventEmitter, event: string): AsyncIterableIterator; - - /** @deprecated since v4.0.0 */ - static listenerCount(emitter: NodeJS.EventEmitter, event: string | symbol): number; - - /** - * This symbol shall be used to install a listener for only monitoring `'error'` - * events. Listeners installed using this symbol are called before the regular - * `'error'` listeners are called. - * - * Installing a listener using this symbol does not change the behavior once an - * `'error'` event is emitted, therefore the process will still crash if no - * regular `'error'` listener is installed. - */ - static readonly errorMonitor: unique symbol; - static readonly captureRejectionSymbol: unique symbol; - - /** - * Sets or gets the default captureRejection value for all emitters. - */ - // TODO: These should be described using static getter/setter pairs: - static captureRejections: boolean; - static defaultMaxListeners: number; - } - - import internal = require('events'); - namespace EventEmitter { - // Should just be `export { EventEmitter }`, but that doesn't work in TypeScript 3.4 - export { internal as EventEmitter }; - } - - global { - namespace NodeJS { - interface EventEmitter { - addListener(event: string | symbol, listener: (...args: any[]) => void): this; - on(event: string | symbol, listener: (...args: any[]) => void): this; - once(event: string | symbol, listener: (...args: any[]) => void): this; - removeListener(event: string | symbol, listener: (...args: any[]) => void): this; - off(event: string | symbol, listener: (...args: any[]) => void): this; - removeAllListeners(event?: string | symbol): this; - setMaxListeners(n: number): this; - getMaxListeners(): number; - listeners(event: string | symbol): Function[]; - rawListeners(event: string | symbol): Function[]; - emit(event: string | symbol, ...args: any[]): boolean; - listenerCount(event: string | symbol): number; - // Added in Node 6... - prependListener(event: string | symbol, listener: (...args: any[]) => void): this; - prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; - eventNames(): Array; - } - } - } - - export = EventEmitter; -} diff --git a/node_modules/@types/node/fs.d.ts b/node_modules/@types/node/fs.d.ts deleted file mode 100644 index c0eeeb2..0000000 --- a/node_modules/@types/node/fs.d.ts +++ /dev/null @@ -1,2239 +0,0 @@ -declare module "fs" { - import * as stream from "stream"; - import * as events from "events"; - import { URL } from "url"; - import * as promises from 'fs/promises'; - - export { promises }; - /** - * Valid types for path values in "fs". - */ - export type PathLike = string | Buffer | URL; - - export type NoParamCallback = (err: NodeJS.ErrnoException | null) => void; - - export type BufferEncodingOption = 'buffer' | { encoding: 'buffer' }; - - export interface BaseEncodingOptions { - encoding?: BufferEncoding | null; - } - - export type OpenMode = number | string; - - export type Mode = number | string; - - export interface StatsBase { - isFile(): boolean; - isDirectory(): boolean; - isBlockDevice(): boolean; - isCharacterDevice(): boolean; - isSymbolicLink(): boolean; - isFIFO(): boolean; - isSocket(): boolean; - - dev: T; - ino: T; - mode: T; - nlink: T; - uid: T; - gid: T; - rdev: T; - size: T; - blksize: T; - blocks: T; - atimeMs: T; - mtimeMs: T; - ctimeMs: T; - birthtimeMs: T; - atime: Date; - mtime: Date; - ctime: Date; - birthtime: Date; - } - - export interface Stats extends StatsBase { - } - - export class Stats { - } - - export class Dirent { - isFile(): boolean; - isDirectory(): boolean; - isBlockDevice(): boolean; - isCharacterDevice(): boolean; - isSymbolicLink(): boolean; - isFIFO(): boolean; - isSocket(): boolean; - name: string; - } - - /** - * A class representing a directory stream. - */ - export class Dir { - readonly path: string; - - /** - * Asynchronously iterates over the directory via `readdir(3)` until all entries have been read. - */ - [Symbol.asyncIterator](): AsyncIterableIterator; - - /** - * Asynchronously close the directory's underlying resource handle. - * Subsequent reads will result in errors. - */ - close(): Promise; - close(cb: NoParamCallback): void; - - /** - * Synchronously close the directory's underlying resource handle. - * Subsequent reads will result in errors. - */ - closeSync(): void; - - /** - * Asynchronously read the next directory entry via `readdir(3)` as an `Dirent`. - * After the read is completed, a value is returned that will be resolved with an `Dirent`, or `null` if there are no more directory entries to read. - * Directory entries returned by this function are in no particular order as provided by the operating system's underlying directory mechanisms. - */ - read(): Promise; - read(cb: (err: NodeJS.ErrnoException | null, dirEnt: Dirent | null) => void): void; - - /** - * Synchronously read the next directory entry via `readdir(3)` as a `Dirent`. - * If there are no more directory entries to read, null will be returned. - * Directory entries returned by this function are in no particular order as provided by the operating system's underlying directory mechanisms. - */ - readSync(): Dirent | null; - } - - export interface FSWatcher extends events.EventEmitter { - close(): void; - - /** - * events.EventEmitter - * 1. change - * 2. error - */ - addListener(event: string, listener: (...args: any[]) => void): this; - addListener(event: "change", listener: (eventType: string, filename: string | Buffer) => void): this; - addListener(event: "error", listener: (error: Error) => void): this; - addListener(event: "close", listener: () => void): this; - - on(event: string, listener: (...args: any[]) => void): this; - on(event: "change", listener: (eventType: string, filename: string | Buffer) => void): this; - on(event: "error", listener: (error: Error) => void): this; - on(event: "close", listener: () => void): this; - - once(event: string, listener: (...args: any[]) => void): this; - once(event: "change", listener: (eventType: string, filename: string | Buffer) => void): this; - once(event: "error", listener: (error: Error) => void): this; - once(event: "close", listener: () => void): this; - - prependListener(event: string, listener: (...args: any[]) => void): this; - prependListener(event: "change", listener: (eventType: string, filename: string | Buffer) => void): this; - prependListener(event: "error", listener: (error: Error) => void): this; - prependListener(event: "close", listener: () => void): this; - - prependOnceListener(event: string, listener: (...args: any[]) => void): this; - prependOnceListener(event: "change", listener: (eventType: string, filename: string | Buffer) => void): this; - prependOnceListener(event: "error", listener: (error: Error) => void): this; - prependOnceListener(event: "close", listener: () => void): this; - } - - export class ReadStream extends stream.Readable { - close(): void; - bytesRead: number; - path: string | Buffer; - pending: boolean; - - /** - * events.EventEmitter - * 1. open - * 2. close - * 3. ready - */ - addListener(event: "close", listener: () => void): this; - addListener(event: "data", listener: (chunk: Buffer | string) => void): this; - addListener(event: "end", listener: () => void): this; - addListener(event: "error", listener: (err: Error) => void): this; - addListener(event: "open", listener: (fd: number) => void): this; - addListener(event: "pause", listener: () => void): this; - addListener(event: "readable", listener: () => void): this; - addListener(event: "ready", listener: () => void): this; - addListener(event: "resume", listener: () => void): this; - addListener(event: string | symbol, listener: (...args: any[]) => void): this; - - on(event: "close", listener: () => void): this; - on(event: "data", listener: (chunk: Buffer | string) => void): this; - on(event: "end", listener: () => void): this; - on(event: "error", listener: (err: Error) => void): this; - on(event: "open", listener: (fd: number) => void): this; - on(event: "pause", listener: () => void): this; - on(event: "readable", listener: () => void): this; - on(event: "ready", listener: () => void): this; - on(event: "resume", listener: () => void): this; - on(event: string | symbol, listener: (...args: any[]) => void): this; - - once(event: "close", listener: () => void): this; - once(event: "data", listener: (chunk: Buffer | string) => void): this; - once(event: "end", listener: () => void): this; - once(event: "error", listener: (err: Error) => void): this; - once(event: "open", listener: (fd: number) => void): this; - once(event: "pause", listener: () => void): this; - once(event: "readable", listener: () => void): this; - once(event: "ready", listener: () => void): this; - once(event: "resume", listener: () => void): this; - once(event: string | symbol, listener: (...args: any[]) => void): this; - - prependListener(event: "close", listener: () => void): this; - prependListener(event: "data", listener: (chunk: Buffer | string) => void): this; - prependListener(event: "end", listener: () => void): this; - prependListener(event: "error", listener: (err: Error) => void): this; - prependListener(event: "open", listener: (fd: number) => void): this; - prependListener(event: "pause", listener: () => void): this; - prependListener(event: "readable", listener: () => void): this; - prependListener(event: "ready", listener: () => void): this; - prependListener(event: "resume", listener: () => void): this; - prependListener(event: string | symbol, listener: (...args: any[]) => void): this; - - prependOnceListener(event: "close", listener: () => void): this; - prependOnceListener(event: "data", listener: (chunk: Buffer | string) => void): this; - prependOnceListener(event: "end", listener: () => void): this; - prependOnceListener(event: "error", listener: (err: Error) => void): this; - prependOnceListener(event: "open", listener: (fd: number) => void): this; - prependOnceListener(event: "pause", listener: () => void): this; - prependOnceListener(event: "readable", listener: () => void): this; - prependOnceListener(event: "ready", listener: () => void): this; - prependOnceListener(event: "resume", listener: () => void): this; - prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; - } - - export class WriteStream extends stream.Writable { - close(): void; - bytesWritten: number; - path: string | Buffer; - pending: boolean; - - /** - * events.EventEmitter - * 1. open - * 2. close - * 3. ready - */ - addListener(event: "close", listener: () => void): this; - addListener(event: "drain", listener: () => void): this; - addListener(event: "error", listener: (err: Error) => void): this; - addListener(event: "finish", listener: () => void): this; - addListener(event: "open", listener: (fd: number) => void): this; - addListener(event: "pipe", listener: (src: stream.Readable) => void): this; - addListener(event: "ready", listener: () => void): this; - addListener(event: "unpipe", listener: (src: stream.Readable) => void): this; - addListener(event: string | symbol, listener: (...args: any[]) => void): this; - - on(event: "close", listener: () => void): this; - on(event: "drain", listener: () => void): this; - on(event: "error", listener: (err: Error) => void): this; - on(event: "finish", listener: () => void): this; - on(event: "open", listener: (fd: number) => void): this; - on(event: "pipe", listener: (src: stream.Readable) => void): this; - on(event: "ready", listener: () => void): this; - on(event: "unpipe", listener: (src: stream.Readable) => void): this; - on(event: string | symbol, listener: (...args: any[]) => void): this; - - once(event: "close", listener: () => void): this; - once(event: "drain", listener: () => void): this; - once(event: "error", listener: (err: Error) => void): this; - once(event: "finish", listener: () => void): this; - once(event: "open", listener: (fd: number) => void): this; - once(event: "pipe", listener: (src: stream.Readable) => void): this; - once(event: "ready", listener: () => void): this; - once(event: "unpipe", listener: (src: stream.Readable) => void): this; - once(event: string | symbol, listener: (...args: any[]) => void): this; - - prependListener(event: "close", listener: () => void): this; - prependListener(event: "drain", listener: () => void): this; - prependListener(event: "error", listener: (err: Error) => void): this; - prependListener(event: "finish", listener: () => void): this; - prependListener(event: "open", listener: (fd: number) => void): this; - prependListener(event: "pipe", listener: (src: stream.Readable) => void): this; - prependListener(event: "ready", listener: () => void): this; - prependListener(event: "unpipe", listener: (src: stream.Readable) => void): this; - prependListener(event: string | symbol, listener: (...args: any[]) => void): this; - - prependOnceListener(event: "close", listener: () => void): this; - prependOnceListener(event: "drain", listener: () => void): this; - prependOnceListener(event: "error", listener: (err: Error) => void): this; - prependOnceListener(event: "finish", listener: () => void): this; - prependOnceListener(event: "open", listener: (fd: number) => void): this; - prependOnceListener(event: "pipe", listener: (src: stream.Readable) => void): this; - prependOnceListener(event: "ready", listener: () => void): this; - prependOnceListener(event: "unpipe", listener: (src: stream.Readable) => void): this; - prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; - } - - /** - * Asynchronous rename(2) - Change the name or location of a file or directory. - * @param oldPath A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - */ - export function rename(oldPath: PathLike, newPath: PathLike, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace rename { - /** - * Asynchronous rename(2) - Change the name or location of a file or directory. - * @param oldPath A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - */ - function __promisify__(oldPath: PathLike, newPath: PathLike): Promise; - } - - /** - * Synchronous rename(2) - Change the name or location of a file or directory. - * @param oldPath A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - */ - export function renameSync(oldPath: PathLike, newPath: PathLike): void; - - /** - * Asynchronous truncate(2) - Truncate a file to a specified length. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param len If not specified, defaults to `0`. - */ - export function truncate(path: PathLike, len: number | undefined | null, callback: NoParamCallback): void; - - /** - * Asynchronous truncate(2) - Truncate a file to a specified length. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - */ - export function truncate(path: PathLike, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace truncate { - /** - * Asynchronous truncate(2) - Truncate a file to a specified length. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param len If not specified, defaults to `0`. - */ - function __promisify__(path: PathLike, len?: number | null): Promise; - } - - /** - * Synchronous truncate(2) - Truncate a file to a specified length. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param len If not specified, defaults to `0`. - */ - export function truncateSync(path: PathLike, len?: number | null): void; - - /** - * Asynchronous ftruncate(2) - Truncate a file to a specified length. - * @param fd A file descriptor. - * @param len If not specified, defaults to `0`. - */ - export function ftruncate(fd: number, len: number | undefined | null, callback: NoParamCallback): void; - - /** - * Asynchronous ftruncate(2) - Truncate a file to a specified length. - * @param fd A file descriptor. - */ - export function ftruncate(fd: number, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace ftruncate { - /** - * Asynchronous ftruncate(2) - Truncate a file to a specified length. - * @param fd A file descriptor. - * @param len If not specified, defaults to `0`. - */ - function __promisify__(fd: number, len?: number | null): Promise; - } - - /** - * Synchronous ftruncate(2) - Truncate a file to a specified length. - * @param fd A file descriptor. - * @param len If not specified, defaults to `0`. - */ - export function ftruncateSync(fd: number, len?: number | null): void; - - /** - * Asynchronous chown(2) - Change ownership of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - export function chown(path: PathLike, uid: number, gid: number, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace chown { - /** - * Asynchronous chown(2) - Change ownership of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - function __promisify__(path: PathLike, uid: number, gid: number): Promise; - } - - /** - * Synchronous chown(2) - Change ownership of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - export function chownSync(path: PathLike, uid: number, gid: number): void; - - /** - * Asynchronous fchown(2) - Change ownership of a file. - * @param fd A file descriptor. - */ - export function fchown(fd: number, uid: number, gid: number, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace fchown { - /** - * Asynchronous fchown(2) - Change ownership of a file. - * @param fd A file descriptor. - */ - function __promisify__(fd: number, uid: number, gid: number): Promise; - } - - /** - * Synchronous fchown(2) - Change ownership of a file. - * @param fd A file descriptor. - */ - export function fchownSync(fd: number, uid: number, gid: number): void; - - /** - * Asynchronous lchown(2) - Change ownership of a file. Does not dereference symbolic links. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - export function lchown(path: PathLike, uid: number, gid: number, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace lchown { - /** - * Asynchronous lchown(2) - Change ownership of a file. Does not dereference symbolic links. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - function __promisify__(path: PathLike, uid: number, gid: number): Promise; - } - - /** - * Synchronous lchown(2) - Change ownership of a file. Does not dereference symbolic links. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - export function lchownSync(path: PathLike, uid: number, gid: number): void; - - /** - * Changes the access and modification times of a file in the same way as `fs.utimes()`, - * with the difference that if the path refers to a symbolic link, then the link is not - * dereferenced: instead, the timestamps of the symbolic link itself are changed. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param atime The last access time. If a string is provided, it will be coerced to number. - * @param mtime The last modified time. If a string is provided, it will be coerced to number. - */ - export function lutimes(path: PathLike, atime: string | number | Date, mtime: string | number | Date, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace lutimes { - /** - * Changes the access and modification times of a file in the same way as `fsPromises.utimes()`, - * with the difference that if the path refers to a symbolic link, then the link is not - * dereferenced: instead, the timestamps of the symbolic link itself are changed. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param atime The last access time. If a string is provided, it will be coerced to number. - * @param mtime The last modified time. If a string is provided, it will be coerced to number. - */ - function __promisify__(path: PathLike, atime: string | number | Date, mtime: string | number | Date): Promise; - } - - /** - * Change the file system timestamps of the symbolic link referenced by `path`. Returns `undefined`, - * or throws an exception when parameters are incorrect or the operation fails. - * This is the synchronous version of `fs.lutimes()`. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param atime The last access time. If a string is provided, it will be coerced to number. - * @param mtime The last modified time. If a string is provided, it will be coerced to number. - */ - export function lutimesSync(path: PathLike, atime: string | number | Date, mtime: string | number | Date): void; - - /** - * Asynchronous chmod(2) - Change permissions of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param mode A file mode. If a string is passed, it is parsed as an octal integer. - */ - export function chmod(path: PathLike, mode: Mode, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace chmod { - /** - * Asynchronous chmod(2) - Change permissions of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param mode A file mode. If a string is passed, it is parsed as an octal integer. - */ - function __promisify__(path: PathLike, mode: Mode): Promise; - } - - /** - * Synchronous chmod(2) - Change permissions of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param mode A file mode. If a string is passed, it is parsed as an octal integer. - */ - export function chmodSync(path: PathLike, mode: Mode): void; - - /** - * Asynchronous fchmod(2) - Change permissions of a file. - * @param fd A file descriptor. - * @param mode A file mode. If a string is passed, it is parsed as an octal integer. - */ - export function fchmod(fd: number, mode: Mode, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace fchmod { - /** - * Asynchronous fchmod(2) - Change permissions of a file. - * @param fd A file descriptor. - * @param mode A file mode. If a string is passed, it is parsed as an octal integer. - */ - function __promisify__(fd: number, mode: Mode): Promise; - } - - /** - * Synchronous fchmod(2) - Change permissions of a file. - * @param fd A file descriptor. - * @param mode A file mode. If a string is passed, it is parsed as an octal integer. - */ - export function fchmodSync(fd: number, mode: Mode): void; - - /** - * Asynchronous lchmod(2) - Change permissions of a file. Does not dereference symbolic links. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param mode A file mode. If a string is passed, it is parsed as an octal integer. - */ - export function lchmod(path: PathLike, mode: Mode, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace lchmod { - /** - * Asynchronous lchmod(2) - Change permissions of a file. Does not dereference symbolic links. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param mode A file mode. If a string is passed, it is parsed as an octal integer. - */ - function __promisify__(path: PathLike, mode: Mode): Promise; - } - - /** - * Synchronous lchmod(2) - Change permissions of a file. Does not dereference symbolic links. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param mode A file mode. If a string is passed, it is parsed as an octal integer. - */ - export function lchmodSync(path: PathLike, mode: Mode): void; - - /** - * Asynchronous stat(2) - Get file status. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - export function stat(path: PathLike, options: BigIntOptions, callback: (err: NodeJS.ErrnoException | null, stats: BigIntStats) => void): void; - export function stat(path: PathLike, options: StatOptions, callback: (err: NodeJS.ErrnoException | null, stats: Stats | BigIntStats) => void): void; - export function stat(path: PathLike, callback: (err: NodeJS.ErrnoException | null, stats: Stats) => void): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace stat { - /** - * Asynchronous stat(2) - Get file status. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - function __promisify__(path: PathLike, options: BigIntOptions): Promise; - function __promisify__(path: PathLike, options: StatOptions): Promise; - function __promisify__(path: PathLike): Promise; - } - - /** - * Synchronous stat(2) - Get file status. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - export function statSync(path: PathLike, options: BigIntOptions): BigIntStats; - export function statSync(path: PathLike, options: StatOptions): Stats | BigIntStats; - export function statSync(path: PathLike): Stats; - - /** - * Asynchronous fstat(2) - Get file status. - * @param fd A file descriptor. - */ - export function fstat(fd: number, callback: (err: NodeJS.ErrnoException | null, stats: Stats) => void): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace fstat { - /** - * Asynchronous fstat(2) - Get file status. - * @param fd A file descriptor. - */ - function __promisify__(fd: number): Promise; - } - - /** - * Synchronous fstat(2) - Get file status. - * @param fd A file descriptor. - */ - export function fstatSync(fd: number): Stats; - - /** - * Asynchronous lstat(2) - Get file status. Does not dereference symbolic links. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - export function lstat(path: PathLike, callback: (err: NodeJS.ErrnoException | null, stats: Stats) => void): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace lstat { - /** - * Asynchronous lstat(2) - Get file status. Does not dereference symbolic links. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - function __promisify__(path: PathLike): Promise; - } - - /** - * Synchronous lstat(2) - Get file status. Does not dereference symbolic links. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - export function lstatSync(path: PathLike): Stats; - - /** - * Asynchronous link(2) - Create a new link (also known as a hard link) to an existing file. - * @param existingPath A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - export function link(existingPath: PathLike, newPath: PathLike, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace link { - /** - * Asynchronous link(2) - Create a new link (also known as a hard link) to an existing file. - * @param existingPath A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - function __promisify__(existingPath: PathLike, newPath: PathLike): Promise; - } - - /** - * Synchronous link(2) - Create a new link (also known as a hard link) to an existing file. - * @param existingPath A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - export function linkSync(existingPath: PathLike, newPath: PathLike): void; - - /** - * Asynchronous symlink(2) - Create a new symbolic link to an existing file. - * @param target A path to an existing file. If a URL is provided, it must use the `file:` protocol. - * @param path A path to the new symlink. If a URL is provided, it must use the `file:` protocol. - * @param type May be set to `'dir'`, `'file'`, or `'junction'` (default is `'file'`) and is only available on Windows (ignored on other platforms). - * When using `'junction'`, the `target` argument will automatically be normalized to an absolute path. - */ - export function symlink(target: PathLike, path: PathLike, type: symlink.Type | undefined | null, callback: NoParamCallback): void; - - /** - * Asynchronous symlink(2) - Create a new symbolic link to an existing file. - * @param target A path to an existing file. If a URL is provided, it must use the `file:` protocol. - * @param path A path to the new symlink. If a URL is provided, it must use the `file:` protocol. - */ - export function symlink(target: PathLike, path: PathLike, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace symlink { - /** - * Asynchronous symlink(2) - Create a new symbolic link to an existing file. - * @param target A path to an existing file. If a URL is provided, it must use the `file:` protocol. - * @param path A path to the new symlink. If a URL is provided, it must use the `file:` protocol. - * @param type May be set to `'dir'`, `'file'`, or `'junction'` (default is `'file'`) and is only available on Windows (ignored on other platforms). - * When using `'junction'`, the `target` argument will automatically be normalized to an absolute path. - */ - function __promisify__(target: PathLike, path: PathLike, type?: string | null): Promise; - - type Type = "dir" | "file" | "junction"; - } - - /** - * Synchronous symlink(2) - Create a new symbolic link to an existing file. - * @param target A path to an existing file. If a URL is provided, it must use the `file:` protocol. - * @param path A path to the new symlink. If a URL is provided, it must use the `file:` protocol. - * @param type May be set to `'dir'`, `'file'`, or `'junction'` (default is `'file'`) and is only available on Windows (ignored on other platforms). - * When using `'junction'`, the `target` argument will automatically be normalized to an absolute path. - */ - export function symlinkSync(target: PathLike, path: PathLike, type?: symlink.Type | null): void; - - /** - * Asynchronous readlink(2) - read value of a symbolic link. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function readlink( - path: PathLike, - options: BaseEncodingOptions | BufferEncoding | undefined | null, - callback: (err: NodeJS.ErrnoException | null, linkString: string) => void - ): void; - - /** - * Asynchronous readlink(2) - read value of a symbolic link. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function readlink(path: PathLike, options: BufferEncodingOption, callback: (err: NodeJS.ErrnoException | null, linkString: Buffer) => void): void; - - /** - * Asynchronous readlink(2) - read value of a symbolic link. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function readlink(path: PathLike, options: BaseEncodingOptions | string | undefined | null, callback: (err: NodeJS.ErrnoException | null, linkString: string | Buffer) => void): void; - - /** - * Asynchronous readlink(2) - read value of a symbolic link. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - export function readlink(path: PathLike, callback: (err: NodeJS.ErrnoException | null, linkString: string) => void): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace readlink { - /** - * Asynchronous readlink(2) - read value of a symbolic link. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function __promisify__(path: PathLike, options?: BaseEncodingOptions | BufferEncoding | null): Promise; - - /** - * Asynchronous readlink(2) - read value of a symbolic link. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function __promisify__(path: PathLike, options: BufferEncodingOption): Promise; - - /** - * Asynchronous readlink(2) - read value of a symbolic link. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function __promisify__(path: PathLike, options?: BaseEncodingOptions | string | null): Promise; - } - - /** - * Synchronous readlink(2) - read value of a symbolic link. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function readlinkSync(path: PathLike, options?: BaseEncodingOptions | BufferEncoding | null): string; - - /** - * Synchronous readlink(2) - read value of a symbolic link. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function readlinkSync(path: PathLike, options: BufferEncodingOption): Buffer; - - /** - * Synchronous readlink(2) - read value of a symbolic link. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function readlinkSync(path: PathLike, options?: BaseEncodingOptions | string | null): string | Buffer; - - /** - * Asynchronous realpath(3) - return the canonicalized absolute pathname. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function realpath( - path: PathLike, - options: BaseEncodingOptions | BufferEncoding | undefined | null, - callback: (err: NodeJS.ErrnoException | null, resolvedPath: string) => void - ): void; - - /** - * Asynchronous realpath(3) - return the canonicalized absolute pathname. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function realpath(path: PathLike, options: BufferEncodingOption, callback: (err: NodeJS.ErrnoException | null, resolvedPath: Buffer) => void): void; - - /** - * Asynchronous realpath(3) - return the canonicalized absolute pathname. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function realpath(path: PathLike, options: BaseEncodingOptions | string | undefined | null, callback: (err: NodeJS.ErrnoException | null, resolvedPath: string | Buffer) => void): void; - - /** - * Asynchronous realpath(3) - return the canonicalized absolute pathname. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - export function realpath(path: PathLike, callback: (err: NodeJS.ErrnoException | null, resolvedPath: string) => void): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace realpath { - /** - * Asynchronous realpath(3) - return the canonicalized absolute pathname. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function __promisify__(path: PathLike, options?: BaseEncodingOptions | BufferEncoding | null): Promise; - - /** - * Asynchronous realpath(3) - return the canonicalized absolute pathname. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function __promisify__(path: PathLike, options: BufferEncodingOption): Promise; - - /** - * Asynchronous realpath(3) - return the canonicalized absolute pathname. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function __promisify__(path: PathLike, options?: BaseEncodingOptions | string | null): Promise; - - function native( - path: PathLike, - options: BaseEncodingOptions | BufferEncoding | undefined | null, - callback: (err: NodeJS.ErrnoException | null, resolvedPath: string) => void - ): void; - function native(path: PathLike, options: BufferEncodingOption, callback: (err: NodeJS.ErrnoException | null, resolvedPath: Buffer) => void): void; - function native(path: PathLike, options: BaseEncodingOptions | string | undefined | null, callback: (err: NodeJS.ErrnoException | null, resolvedPath: string | Buffer) => void): void; - function native(path: PathLike, callback: (err: NodeJS.ErrnoException | null, resolvedPath: string) => void): void; - } - - /** - * Synchronous realpath(3) - return the canonicalized absolute pathname. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function realpathSync(path: PathLike, options?: BaseEncodingOptions | BufferEncoding | null): string; - - /** - * Synchronous realpath(3) - return the canonicalized absolute pathname. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function realpathSync(path: PathLike, options: BufferEncodingOption): Buffer; - - /** - * Synchronous realpath(3) - return the canonicalized absolute pathname. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function realpathSync(path: PathLike, options?: BaseEncodingOptions | string | null): string | Buffer; - - export namespace realpathSync { - function native(path: PathLike, options?: BaseEncodingOptions | BufferEncoding | null): string; - function native(path: PathLike, options: BufferEncodingOption): Buffer; - function native(path: PathLike, options?: BaseEncodingOptions | string | null): string | Buffer; - } - - /** - * Asynchronous unlink(2) - delete a name and possibly the file it refers to. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - export function unlink(path: PathLike, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace unlink { - /** - * Asynchronous unlink(2) - delete a name and possibly the file it refers to. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - function __promisify__(path: PathLike): Promise; - } - - /** - * Synchronous unlink(2) - delete a name and possibly the file it refers to. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - export function unlinkSync(path: PathLike): void; - - export interface RmDirOptions { - /** - * If an `EBUSY`, `EMFILE`, `ENFILE`, `ENOTEMPTY`, or - * `EPERM` error is encountered, Node.js will retry the operation with a linear - * backoff wait of `retryDelay` ms longer on each try. This option represents the - * number of retries. This option is ignored if the `recursive` option is not - * `true`. - * @default 0 - */ - maxRetries?: number; - /** - * @deprecated since v14.14.0 In future versions of Node.js, - * `fs.rmdir(path, { recursive: true })` will throw on nonexistent - * paths, or when given a file as a target. - * Use `fs.rm(path, { recursive: true, force: true })` instead. - * - * If `true`, perform a recursive directory removal. In - * recursive mode, errors are not reported if `path` does not exist, and - * operations are retried on failure. - * @default false - */ - recursive?: boolean; - /** - * The amount of time in milliseconds to wait between retries. - * This option is ignored if the `recursive` option is not `true`. - * @default 100 - */ - retryDelay?: number; - } - - /** - * Asynchronous rmdir(2) - delete a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - export function rmdir(path: PathLike, callback: NoParamCallback): void; - export function rmdir(path: PathLike, options: RmDirOptions, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace rmdir { - /** - * Asynchronous rmdir(2) - delete a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - function __promisify__(path: PathLike, options?: RmDirOptions): Promise; - } - - /** - * Synchronous rmdir(2) - delete a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - export function rmdirSync(path: PathLike, options?: RmDirOptions): void; - - export interface RmOptions { - /** - * When `true`, exceptions will be ignored if `path` does not exist. - * @default false - */ - force?: boolean; - /** - * If an `EBUSY`, `EMFILE`, `ENFILE`, `ENOTEMPTY`, or - * `EPERM` error is encountered, Node.js will retry the operation with a linear - * backoff wait of `retryDelay` ms longer on each try. This option represents the - * number of retries. This option is ignored if the `recursive` option is not - * `true`. - * @default 0 - */ - maxRetries?: number; - /** - * If `true`, perform a recursive directory removal. In - * recursive mode, errors are not reported if `path` does not exist, and - * operations are retried on failure. - * @default false - */ - recursive?: boolean; - /** - * The amount of time in milliseconds to wait between retries. - * This option is ignored if the `recursive` option is not `true`. - * @default 100 - */ - retryDelay?: number; - } - - /** - * Asynchronously removes files and directories (modeled on the standard POSIX `rm` utility). - */ - export function rm(path: PathLike, callback: NoParamCallback): void; - export function rm(path: PathLike, options: RmOptions, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace rm { - /** - * Asynchronously removes files and directories (modeled on the standard POSIX `rm` utility). - */ - function __promisify__(path: PathLike, options?: RmOptions): Promise; - } - - /** - * Synchronously removes files and directories (modeled on the standard POSIX `rm` utility). - */ - export function rmSync(path: PathLike, options?: RmOptions): void; - - export interface MakeDirectoryOptions { - /** - * Indicates whether parent folders should be created. - * If a folder was created, the path to the first created folder will be returned. - * @default false - */ - recursive?: boolean; - /** - * A file mode. If a string is passed, it is parsed as an octal integer. If not specified - * @default 0o777 - */ - mode?: Mode; - } - - /** - * Asynchronous mkdir(2) - create a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders - * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. - */ - export function mkdir(path: PathLike, options: MakeDirectoryOptions & { recursive: true }, callback: (err: NodeJS.ErrnoException | null, path?: string) => void): void; - - /** - * Asynchronous mkdir(2) - create a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders - * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. - */ - export function mkdir(path: PathLike, options: Mode | (MakeDirectoryOptions & { recursive?: false; }) | null | undefined, callback: NoParamCallback): void; - - /** - * Asynchronous mkdir(2) - create a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders - * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. - */ - export function mkdir(path: PathLike, options: Mode | MakeDirectoryOptions | null | undefined, callback: (err: NodeJS.ErrnoException | null, path?: string) => void): void; - - /** - * Asynchronous mkdir(2) - create a directory with a mode of `0o777`. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - export function mkdir(path: PathLike, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace mkdir { - /** - * Asynchronous mkdir(2) - create a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders - * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. - */ - function __promisify__(path: PathLike, options: MakeDirectoryOptions & { recursive: true; }): Promise; - - /** - * Asynchronous mkdir(2) - create a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders - * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. - */ - function __promisify__(path: PathLike, options?: Mode | (MakeDirectoryOptions & { recursive?: false; }) | null): Promise; - - /** - * Asynchronous mkdir(2) - create a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders - * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. - */ - function __promisify__(path: PathLike, options?: Mode | MakeDirectoryOptions | null): Promise; - } - - /** - * Synchronous mkdir(2) - create a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders - * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. - */ - export function mkdirSync(path: PathLike, options: MakeDirectoryOptions & { recursive: true; }): string | undefined; - - /** - * Synchronous mkdir(2) - create a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders - * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. - */ - export function mkdirSync(path: PathLike, options?: Mode | (MakeDirectoryOptions & { recursive?: false; }) | null): void; - - /** - * Synchronous mkdir(2) - create a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders - * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. - */ - export function mkdirSync(path: PathLike, options?: Mode | MakeDirectoryOptions | null): string | undefined; - - /** - * Asynchronously creates a unique temporary directory. - * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function mkdtemp(prefix: string, options: BaseEncodingOptions | BufferEncoding | undefined | null, callback: (err: NodeJS.ErrnoException | null, folder: string) => void): void; - - /** - * Asynchronously creates a unique temporary directory. - * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function mkdtemp(prefix: string, options: "buffer" | { encoding: "buffer" }, callback: (err: NodeJS.ErrnoException | null, folder: Buffer) => void): void; - - /** - * Asynchronously creates a unique temporary directory. - * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function mkdtemp(prefix: string, options: BaseEncodingOptions | string | undefined | null, callback: (err: NodeJS.ErrnoException | null, folder: string | Buffer) => void): void; - - /** - * Asynchronously creates a unique temporary directory. - * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. - */ - export function mkdtemp(prefix: string, callback: (err: NodeJS.ErrnoException | null, folder: string) => void): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace mkdtemp { - /** - * Asynchronously creates a unique temporary directory. - * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function __promisify__(prefix: string, options?: BaseEncodingOptions | BufferEncoding | null): Promise; - - /** - * Asynchronously creates a unique temporary directory. - * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function __promisify__(prefix: string, options: BufferEncodingOption): Promise; - - /** - * Asynchronously creates a unique temporary directory. - * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function __promisify__(prefix: string, options?: BaseEncodingOptions | string | null): Promise; - } - - /** - * Synchronously creates a unique temporary directory. - * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function mkdtempSync(prefix: string, options?: BaseEncodingOptions | BufferEncoding | null): string; - - /** - * Synchronously creates a unique temporary directory. - * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function mkdtempSync(prefix: string, options: BufferEncodingOption): Buffer; - - /** - * Synchronously creates a unique temporary directory. - * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function mkdtempSync(prefix: string, options?: BaseEncodingOptions | string | null): string | Buffer; - - /** - * Asynchronous readdir(3) - read a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function readdir( - path: PathLike, - options: { encoding: BufferEncoding | null; withFileTypes?: false } | BufferEncoding | undefined | null, - callback: (err: NodeJS.ErrnoException | null, files: string[]) => void, - ): void; - - /** - * Asynchronous readdir(3) - read a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function readdir(path: PathLike, options: { encoding: "buffer"; withFileTypes?: false } | "buffer", callback: (err: NodeJS.ErrnoException | null, files: Buffer[]) => void): void; - - /** - * Asynchronous readdir(3) - read a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function readdir( - path: PathLike, - options: BaseEncodingOptions & { withFileTypes?: false } | BufferEncoding | undefined | null, - callback: (err: NodeJS.ErrnoException | null, files: string[] | Buffer[]) => void, - ): void; - - /** - * Asynchronous readdir(3) - read a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - export function readdir(path: PathLike, callback: (err: NodeJS.ErrnoException | null, files: string[]) => void): void; - - /** - * Asynchronous readdir(3) - read a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options If called with `withFileTypes: true` the result data will be an array of Dirent. - */ - export function readdir(path: PathLike, options: BaseEncodingOptions & { withFileTypes: true }, callback: (err: NodeJS.ErrnoException | null, files: Dirent[]) => void): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace readdir { - /** - * Asynchronous readdir(3) - read a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function __promisify__(path: PathLike, options?: { encoding: BufferEncoding | null; withFileTypes?: false } | BufferEncoding | null): Promise; - - /** - * Asynchronous readdir(3) - read a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function __promisify__(path: PathLike, options: "buffer" | { encoding: "buffer"; withFileTypes?: false }): Promise; - - /** - * Asynchronous readdir(3) - read a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function __promisify__(path: PathLike, options?: BaseEncodingOptions & { withFileTypes?: false } | BufferEncoding | null): Promise; - - /** - * Asynchronous readdir(3) - read a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options If called with `withFileTypes: true` the result data will be an array of Dirent - */ - function __promisify__(path: PathLike, options: BaseEncodingOptions & { withFileTypes: true }): Promise; - } - - /** - * Synchronous readdir(3) - read a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function readdirSync(path: PathLike, options?: { encoding: BufferEncoding | null; withFileTypes?: false } | BufferEncoding | null): string[]; - - /** - * Synchronous readdir(3) - read a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function readdirSync(path: PathLike, options: { encoding: "buffer"; withFileTypes?: false } | "buffer"): Buffer[]; - - /** - * Synchronous readdir(3) - read a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function readdirSync(path: PathLike, options?: BaseEncodingOptions & { withFileTypes?: false } | BufferEncoding | null): string[] | Buffer[]; - - /** - * Synchronous readdir(3) - read a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options If called with `withFileTypes: true` the result data will be an array of Dirent. - */ - export function readdirSync(path: PathLike, options: BaseEncodingOptions & { withFileTypes: true }): Dirent[]; - - /** - * Asynchronous close(2) - close a file descriptor. - * @param fd A file descriptor. - */ - export function close(fd: number, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace close { - /** - * Asynchronous close(2) - close a file descriptor. - * @param fd A file descriptor. - */ - function __promisify__(fd: number): Promise; - } - - /** - * Synchronous close(2) - close a file descriptor. - * @param fd A file descriptor. - */ - export function closeSync(fd: number): void; - - /** - * Asynchronous open(2) - open and possibly create a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param mode A file mode. If a string is passed, it is parsed as an octal integer. If not supplied, defaults to `0o666`. - */ - export function open(path: PathLike, flags: OpenMode, mode: Mode | undefined | null, callback: (err: NodeJS.ErrnoException | null, fd: number) => void): void; - - /** - * Asynchronous open(2) - open and possibly create a file. If the file is created, its mode will be `0o666`. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - export function open(path: PathLike, flags: OpenMode, callback: (err: NodeJS.ErrnoException | null, fd: number) => void): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace open { - /** - * Asynchronous open(2) - open and possibly create a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param mode A file mode. If a string is passed, it is parsed as an octal integer. If not supplied, defaults to `0o666`. - */ - function __promisify__(path: PathLike, flags: OpenMode, mode?: Mode | null): Promise; - } - - /** - * Synchronous open(2) - open and possibly create a file, returning a file descriptor.. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param mode A file mode. If a string is passed, it is parsed as an octal integer. If not supplied, defaults to `0o666`. - */ - export function openSync(path: PathLike, flags: OpenMode, mode?: Mode | null): number; - - /** - * Asynchronously change file timestamps of the file referenced by the supplied path. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param atime The last access time. If a string is provided, it will be coerced to number. - * @param mtime The last modified time. If a string is provided, it will be coerced to number. - */ - export function utimes(path: PathLike, atime: string | number | Date, mtime: string | number | Date, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace utimes { - /** - * Asynchronously change file timestamps of the file referenced by the supplied path. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param atime The last access time. If a string is provided, it will be coerced to number. - * @param mtime The last modified time. If a string is provided, it will be coerced to number. - */ - function __promisify__(path: PathLike, atime: string | number | Date, mtime: string | number | Date): Promise; - } - - /** - * Synchronously change file timestamps of the file referenced by the supplied path. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param atime The last access time. If a string is provided, it will be coerced to number. - * @param mtime The last modified time. If a string is provided, it will be coerced to number. - */ - export function utimesSync(path: PathLike, atime: string | number | Date, mtime: string | number | Date): void; - - /** - * Asynchronously change file timestamps of the file referenced by the supplied file descriptor. - * @param fd A file descriptor. - * @param atime The last access time. If a string is provided, it will be coerced to number. - * @param mtime The last modified time. If a string is provided, it will be coerced to number. - */ - export function futimes(fd: number, atime: string | number | Date, mtime: string | number | Date, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace futimes { - /** - * Asynchronously change file timestamps of the file referenced by the supplied file descriptor. - * @param fd A file descriptor. - * @param atime The last access time. If a string is provided, it will be coerced to number. - * @param mtime The last modified time. If a string is provided, it will be coerced to number. - */ - function __promisify__(fd: number, atime: string | number | Date, mtime: string | number | Date): Promise; - } - - /** - * Synchronously change file timestamps of the file referenced by the supplied file descriptor. - * @param fd A file descriptor. - * @param atime The last access time. If a string is provided, it will be coerced to number. - * @param mtime The last modified time. If a string is provided, it will be coerced to number. - */ - export function futimesSync(fd: number, atime: string | number | Date, mtime: string | number | Date): void; - - /** - * Asynchronous fsync(2) - synchronize a file's in-core state with the underlying storage device. - * @param fd A file descriptor. - */ - export function fsync(fd: number, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace fsync { - /** - * Asynchronous fsync(2) - synchronize a file's in-core state with the underlying storage device. - * @param fd A file descriptor. - */ - function __promisify__(fd: number): Promise; - } - - /** - * Synchronous fsync(2) - synchronize a file's in-core state with the underlying storage device. - * @param fd A file descriptor. - */ - export function fsyncSync(fd: number): void; - - /** - * Asynchronously writes `buffer` to the file referenced by the supplied file descriptor. - * @param fd A file descriptor. - * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. - * @param length The number of bytes to write. If not supplied, defaults to `buffer.length - offset`. - * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. - */ - export function write( - fd: number, - buffer: TBuffer, - offset: number | undefined | null, - length: number | undefined | null, - position: number | undefined | null, - callback: (err: NodeJS.ErrnoException | null, written: number, buffer: TBuffer) => void, - ): void; - - /** - * Asynchronously writes `buffer` to the file referenced by the supplied file descriptor. - * @param fd A file descriptor. - * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. - * @param length The number of bytes to write. If not supplied, defaults to `buffer.length - offset`. - */ - export function write( - fd: number, - buffer: TBuffer, - offset: number | undefined | null, - length: number | undefined | null, - callback: (err: NodeJS.ErrnoException | null, written: number, buffer: TBuffer) => void, - ): void; - - /** - * Asynchronously writes `buffer` to the file referenced by the supplied file descriptor. - * @param fd A file descriptor. - * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. - */ - export function write( - fd: number, - buffer: TBuffer, - offset: number | undefined | null, - callback: (err: NodeJS.ErrnoException | null, written: number, buffer: TBuffer) => void - ): void; - - /** - * Asynchronously writes `buffer` to the file referenced by the supplied file descriptor. - * @param fd A file descriptor. - */ - export function write(fd: number, buffer: TBuffer, callback: (err: NodeJS.ErrnoException | null, written: number, buffer: TBuffer) => void): void; - - /** - * Asynchronously writes `string` to the file referenced by the supplied file descriptor. - * @param fd A file descriptor. - * @param string A string to write. - * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. - * @param encoding The expected string encoding. - */ - export function write( - fd: number, - string: string, - position: number | undefined | null, - encoding: BufferEncoding | undefined | null, - callback: (err: NodeJS.ErrnoException | null, written: number, str: string) => void, - ): void; - - /** - * Asynchronously writes `string` to the file referenced by the supplied file descriptor. - * @param fd A file descriptor. - * @param string A string to write. - * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. - */ - export function write(fd: number, string: string, position: number | undefined | null, callback: (err: NodeJS.ErrnoException | null, written: number, str: string) => void): void; - - /** - * Asynchronously writes `string` to the file referenced by the supplied file descriptor. - * @param fd A file descriptor. - * @param string A string to write. - */ - export function write(fd: number, string: string, callback: (err: NodeJS.ErrnoException | null, written: number, str: string) => void): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace write { - /** - * Asynchronously writes `buffer` to the file referenced by the supplied file descriptor. - * @param fd A file descriptor. - * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. - * @param length The number of bytes to write. If not supplied, defaults to `buffer.length - offset`. - * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. - */ - function __promisify__( - fd: number, - buffer?: TBuffer, - offset?: number, - length?: number, - position?: number | null, - ): Promise<{ bytesWritten: number, buffer: TBuffer }>; - - /** - * Asynchronously writes `string` to the file referenced by the supplied file descriptor. - * @param fd A file descriptor. - * @param string A string to write. - * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. - * @param encoding The expected string encoding. - */ - function __promisify__(fd: number, string: string, position?: number | null, encoding?: BufferEncoding | null): Promise<{ bytesWritten: number, buffer: string }>; - } - - /** - * Synchronously writes `buffer` to the file referenced by the supplied file descriptor, returning the number of bytes written. - * @param fd A file descriptor. - * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. - * @param length The number of bytes to write. If not supplied, defaults to `buffer.length - offset`. - * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. - */ - export function writeSync(fd: number, buffer: NodeJS.ArrayBufferView, offset?: number | null, length?: number | null, position?: number | null): number; - - /** - * Synchronously writes `string` to the file referenced by the supplied file descriptor, returning the number of bytes written. - * @param fd A file descriptor. - * @param string A string to write. - * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. - * @param encoding The expected string encoding. - */ - export function writeSync(fd: number, string: string, position?: number | null, encoding?: BufferEncoding | null): number; - - /** - * Asynchronously reads data from the file referenced by the supplied file descriptor. - * @param fd A file descriptor. - * @param buffer The buffer that the data will be written to. - * @param offset The offset in the buffer at which to start writing. - * @param length The number of bytes to read. - * @param position The offset from the beginning of the file from which data should be read. If `null`, data will be read from the current position. - */ - export function read( - fd: number, - buffer: TBuffer, - offset: number, - length: number, - position: number | null, - callback: (err: NodeJS.ErrnoException | null, bytesRead: number, buffer: TBuffer) => void, - ): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace read { - /** - * @param fd A file descriptor. - * @param buffer The buffer that the data will be written to. - * @param offset The offset in the buffer at which to start writing. - * @param length The number of bytes to read. - * @param position The offset from the beginning of the file from which data should be read. If `null`, data will be read from the current position. - */ - function __promisify__( - fd: number, - buffer: TBuffer, - offset: number, - length: number, - position: number | null - ): Promise<{ bytesRead: number, buffer: TBuffer }>; - } - - export interface ReadSyncOptions { - /** - * @default 0 - */ - offset?: number; - /** - * @default `length of buffer` - */ - length?: number; - /** - * @default null - */ - position?: number | null; - } - - /** - * Synchronously reads data from the file referenced by the supplied file descriptor, returning the number of bytes read. - * @param fd A file descriptor. - * @param buffer The buffer that the data will be written to. - * @param offset The offset in the buffer at which to start writing. - * @param length The number of bytes to read. - * @param position The offset from the beginning of the file from which data should be read. If `null`, data will be read from the current position. - */ - export function readSync(fd: number, buffer: NodeJS.ArrayBufferView, offset: number, length: number, position: number | null): number; - - /** - * Similar to the above `fs.readSync` function, this version takes an optional `options` object. - * If no `options` object is specified, it will default with the above values. - */ - export function readSync(fd: number, buffer: NodeJS.ArrayBufferView, opts?: ReadSyncOptions): number; - - /** - * Asynchronously reads the entire contents of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * If a file descriptor is provided, the underlying file will _not_ be closed automatically. - * @param options An object that may contain an optional flag. - * If a flag is not provided, it defaults to `'r'`. - */ - export function readFile(path: PathLike | number, options: { encoding?: null; flag?: string; } | undefined | null, callback: (err: NodeJS.ErrnoException | null, data: Buffer) => void): void; - - /** - * Asynchronously reads the entire contents of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * If a file descriptor is provided, the underlying file will _not_ be closed automatically. - * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag. - * If a flag is not provided, it defaults to `'r'`. - */ - export function readFile(path: PathLike | number, options: { encoding: BufferEncoding; flag?: string; } | string, callback: (err: NodeJS.ErrnoException | null, data: string) => void): void; - - /** - * Asynchronously reads the entire contents of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * If a file descriptor is provided, the underlying file will _not_ be closed automatically. - * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag. - * If a flag is not provided, it defaults to `'r'`. - */ - export function readFile( - path: PathLike | number, - options: BaseEncodingOptions & { flag?: string; } | string | undefined | null, - callback: (err: NodeJS.ErrnoException | null, data: string | Buffer) => void, - ): void; - - /** - * Asynchronously reads the entire contents of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * If a file descriptor is provided, the underlying file will _not_ be closed automatically. - */ - export function readFile(path: PathLike | number, callback: (err: NodeJS.ErrnoException | null, data: Buffer) => void): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace readFile { - /** - * Asynchronously reads the entire contents of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * If a file descriptor is provided, the underlying file will _not_ be closed automatically. - * @param options An object that may contain an optional flag. - * If a flag is not provided, it defaults to `'r'`. - */ - function __promisify__(path: PathLike | number, options?: { encoding?: null; flag?: string; } | null): Promise; - - /** - * Asynchronously reads the entire contents of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * If a file descriptor is provided, the underlying file will _not_ be closed automatically. - * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag. - * If a flag is not provided, it defaults to `'r'`. - */ - function __promisify__(path: PathLike | number, options: { encoding: BufferEncoding; flag?: string; } | string): Promise; - - /** - * Asynchronously reads the entire contents of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * If a file descriptor is provided, the underlying file will _not_ be closed automatically. - * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag. - * If a flag is not provided, it defaults to `'r'`. - */ - function __promisify__(path: PathLike | number, options?: BaseEncodingOptions & { flag?: string; } | string | null): Promise; - } - - /** - * Synchronously reads the entire contents of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * If a file descriptor is provided, the underlying file will _not_ be closed automatically. - * @param options An object that may contain an optional flag. If a flag is not provided, it defaults to `'r'`. - */ - export function readFileSync(path: PathLike | number, options?: { encoding?: null; flag?: string; } | null): Buffer; - - /** - * Synchronously reads the entire contents of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * If a file descriptor is provided, the underlying file will _not_ be closed automatically. - * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag. - * If a flag is not provided, it defaults to `'r'`. - */ - export function readFileSync(path: PathLike | number, options: { encoding: BufferEncoding; flag?: string; } | BufferEncoding): string; - - /** - * Synchronously reads the entire contents of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * If a file descriptor is provided, the underlying file will _not_ be closed automatically. - * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag. - * If a flag is not provided, it defaults to `'r'`. - */ - export function readFileSync(path: PathLike | number, options?: BaseEncodingOptions & { flag?: string; } | BufferEncoding | null): string | Buffer; - - export type WriteFileOptions = BaseEncodingOptions & { mode?: Mode; flag?: string; } | string | null; - - /** - * Asynchronously writes data to a file, replacing the file if it already exists. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * If a file descriptor is provided, the underlying file will _not_ be closed automatically. - * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. - * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. - * If `encoding` is not supplied, the default of `'utf8'` is used. - * If `mode` is not supplied, the default of `0o666` is used. - * If `mode` is a string, it is parsed as an octal integer. - * If `flag` is not supplied, the default of `'w'` is used. - */ - export function writeFile(path: PathLike | number, data: string | NodeJS.ArrayBufferView, options: WriteFileOptions, callback: NoParamCallback): void; - - /** - * Asynchronously writes data to a file, replacing the file if it already exists. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * If a file descriptor is provided, the underlying file will _not_ be closed automatically. - * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. - */ - export function writeFile(path: PathLike | number, data: string | NodeJS.ArrayBufferView, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace writeFile { - /** - * Asynchronously writes data to a file, replacing the file if it already exists. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * If a file descriptor is provided, the underlying file will _not_ be closed automatically. - * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. - * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. - * If `encoding` is not supplied, the default of `'utf8'` is used. - * If `mode` is not supplied, the default of `0o666` is used. - * If `mode` is a string, it is parsed as an octal integer. - * If `flag` is not supplied, the default of `'w'` is used. - */ - function __promisify__(path: PathLike | number, data: string | NodeJS.ArrayBufferView, options?: WriteFileOptions): Promise; - } - - /** - * Synchronously writes data to a file, replacing the file if it already exists. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * If a file descriptor is provided, the underlying file will _not_ be closed automatically. - * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. - * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. - * If `encoding` is not supplied, the default of `'utf8'` is used. - * If `mode` is not supplied, the default of `0o666` is used. - * If `mode` is a string, it is parsed as an octal integer. - * If `flag` is not supplied, the default of `'w'` is used. - */ - export function writeFileSync(path: PathLike | number, data: string | NodeJS.ArrayBufferView, options?: WriteFileOptions): void; - - /** - * Asynchronously append data to a file, creating the file if it does not exist. - * @param file A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * If a file descriptor is provided, the underlying file will _not_ be closed automatically. - * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. - * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. - * If `encoding` is not supplied, the default of `'utf8'` is used. - * If `mode` is not supplied, the default of `0o666` is used. - * If `mode` is a string, it is parsed as an octal integer. - * If `flag` is not supplied, the default of `'a'` is used. - */ - export function appendFile(file: PathLike | number, data: string | Uint8Array, options: WriteFileOptions, callback: NoParamCallback): void; - - /** - * Asynchronously append data to a file, creating the file if it does not exist. - * @param file A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * If a file descriptor is provided, the underlying file will _not_ be closed automatically. - * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. - */ - export function appendFile(file: PathLike | number, data: string | Uint8Array, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace appendFile { - /** - * Asynchronously append data to a file, creating the file if it does not exist. - * @param file A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * If a file descriptor is provided, the underlying file will _not_ be closed automatically. - * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. - * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. - * If `encoding` is not supplied, the default of `'utf8'` is used. - * If `mode` is not supplied, the default of `0o666` is used. - * If `mode` is a string, it is parsed as an octal integer. - * If `flag` is not supplied, the default of `'a'` is used. - */ - function __promisify__(file: PathLike | number, data: string | Uint8Array, options?: WriteFileOptions): Promise; - } - - /** - * Synchronously append data to a file, creating the file if it does not exist. - * @param file A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * If a file descriptor is provided, the underlying file will _not_ be closed automatically. - * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. - * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. - * If `encoding` is not supplied, the default of `'utf8'` is used. - * If `mode` is not supplied, the default of `0o666` is used. - * If `mode` is a string, it is parsed as an octal integer. - * If `flag` is not supplied, the default of `'a'` is used. - */ - export function appendFileSync(file: PathLike | number, data: string | Uint8Array, options?: WriteFileOptions): void; - - /** - * Watch for changes on `filename`. The callback `listener` will be called each time the file is accessed. - */ - export function watchFile(filename: PathLike, options: { persistent?: boolean; interval?: number; } | undefined, listener: (curr: Stats, prev: Stats) => void): void; - - /** - * Watch for changes on `filename`. The callback `listener` will be called each time the file is accessed. - * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - */ - export function watchFile(filename: PathLike, listener: (curr: Stats, prev: Stats) => void): void; - - /** - * Stop watching for changes on `filename`. - * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - */ - export function unwatchFile(filename: PathLike, listener?: (curr: Stats, prev: Stats) => void): void; - - /** - * Watch for changes on `filename`, where `filename` is either a file or a directory, returning an `FSWatcher`. - * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * @param options Either the encoding for the filename provided to the listener, or an object optionally specifying encoding, persistent, and recursive options. - * If `encoding` is not supplied, the default of `'utf8'` is used. - * If `persistent` is not supplied, the default of `true` is used. - * If `recursive` is not supplied, the default of `false` is used. - */ - export function watch( - filename: PathLike, - options: { encoding?: BufferEncoding | null, persistent?: boolean, recursive?: boolean } | BufferEncoding | undefined | null, - listener?: (event: string, filename: string) => void, - ): FSWatcher; - - /** - * Watch for changes on `filename`, where `filename` is either a file or a directory, returning an `FSWatcher`. - * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * @param options Either the encoding for the filename provided to the listener, or an object optionally specifying encoding, persistent, and recursive options. - * If `encoding` is not supplied, the default of `'utf8'` is used. - * If `persistent` is not supplied, the default of `true` is used. - * If `recursive` is not supplied, the default of `false` is used. - */ - export function watch(filename: PathLike, options: { encoding: "buffer", persistent?: boolean, recursive?: boolean } | "buffer", listener?: (event: string, filename: Buffer) => void): FSWatcher; - - /** - * Watch for changes on `filename`, where `filename` is either a file or a directory, returning an `FSWatcher`. - * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * @param options Either the encoding for the filename provided to the listener, or an object optionally specifying encoding, persistent, and recursive options. - * If `encoding` is not supplied, the default of `'utf8'` is used. - * If `persistent` is not supplied, the default of `true` is used. - * If `recursive` is not supplied, the default of `false` is used. - */ - export function watch( - filename: PathLike, - options: { encoding?: BufferEncoding | null, persistent?: boolean, recursive?: boolean } | string | null, - listener?: (event: string, filename: string | Buffer) => void, - ): FSWatcher; - - /** - * Watch for changes on `filename`, where `filename` is either a file or a directory, returning an `FSWatcher`. - * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - */ - export function watch(filename: PathLike, listener?: (event: string, filename: string) => any): FSWatcher; - - /** - * Asynchronously tests whether or not the given path exists by checking with the file system. - * @deprecated since v1.0.0 Use `fs.stat()` or `fs.access()` instead - * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - */ - export function exists(path: PathLike, callback: (exists: boolean) => void): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace exists { - /** - * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - */ - function __promisify__(path: PathLike): Promise; - } - - /** - * Synchronously tests whether or not the given path exists by checking with the file system. - * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - */ - export function existsSync(path: PathLike): boolean; - - export namespace constants { - // File Access Constants - - /** Constant for fs.access(). File is visible to the calling process. */ - const F_OK: number; - - /** Constant for fs.access(). File can be read by the calling process. */ - const R_OK: number; - - /** Constant for fs.access(). File can be written by the calling process. */ - const W_OK: number; - - /** Constant for fs.access(). File can be executed by the calling process. */ - const X_OK: number; - - // File Copy Constants - - /** Constant for fs.copyFile. Flag indicating the destination file should not be overwritten if it already exists. */ - const COPYFILE_EXCL: number; - - /** - * Constant for fs.copyFile. copy operation will attempt to create a copy-on-write reflink. - * If the underlying platform does not support copy-on-write, then a fallback copy mechanism is used. - */ - const COPYFILE_FICLONE: number; - - /** - * Constant for fs.copyFile. Copy operation will attempt to create a copy-on-write reflink. - * If the underlying platform does not support copy-on-write, then the operation will fail with an error. - */ - const COPYFILE_FICLONE_FORCE: number; - - // File Open Constants - - /** Constant for fs.open(). Flag indicating to open a file for read-only access. */ - const O_RDONLY: number; - - /** Constant for fs.open(). Flag indicating to open a file for write-only access. */ - const O_WRONLY: number; - - /** Constant for fs.open(). Flag indicating to open a file for read-write access. */ - const O_RDWR: number; - - /** Constant for fs.open(). Flag indicating to create the file if it does not already exist. */ - const O_CREAT: number; - - /** Constant for fs.open(). Flag indicating that opening a file should fail if the O_CREAT flag is set and the file already exists. */ - const O_EXCL: number; - - /** - * Constant for fs.open(). Flag indicating that if path identifies a terminal device, - * opening the path shall not cause that terminal to become the controlling terminal for the process - * (if the process does not already have one). - */ - const O_NOCTTY: number; - - /** Constant for fs.open(). Flag indicating that if the file exists and is a regular file, and the file is opened successfully for write access, its length shall be truncated to zero. */ - const O_TRUNC: number; - - /** Constant for fs.open(). Flag indicating that data will be appended to the end of the file. */ - const O_APPEND: number; - - /** Constant for fs.open(). Flag indicating that the open should fail if the path is not a directory. */ - const O_DIRECTORY: number; - - /** - * constant for fs.open(). - * Flag indicating reading accesses to the file system will no longer result in - * an update to the atime information associated with the file. - * This flag is available on Linux operating systems only. - */ - const O_NOATIME: number; - - /** Constant for fs.open(). Flag indicating that the open should fail if the path is a symbolic link. */ - const O_NOFOLLOW: number; - - /** Constant for fs.open(). Flag indicating that the file is opened for synchronous I/O. */ - const O_SYNC: number; - - /** Constant for fs.open(). Flag indicating that the file is opened for synchronous I/O with write operations waiting for data integrity. */ - const O_DSYNC: number; - - /** Constant for fs.open(). Flag indicating to open the symbolic link itself rather than the resource it is pointing to. */ - const O_SYMLINK: number; - - /** Constant for fs.open(). When set, an attempt will be made to minimize caching effects of file I/O. */ - const O_DIRECT: number; - - /** Constant for fs.open(). Flag indicating to open the file in nonblocking mode when possible. */ - const O_NONBLOCK: number; - - // File Type Constants - - /** Constant for fs.Stats mode property for determining a file's type. Bit mask used to extract the file type code. */ - const S_IFMT: number; - - /** Constant for fs.Stats mode property for determining a file's type. File type constant for a regular file. */ - const S_IFREG: number; - - /** Constant for fs.Stats mode property for determining a file's type. File type constant for a directory. */ - const S_IFDIR: number; - - /** Constant for fs.Stats mode property for determining a file's type. File type constant for a character-oriented device file. */ - const S_IFCHR: number; - - /** Constant for fs.Stats mode property for determining a file's type. File type constant for a block-oriented device file. */ - const S_IFBLK: number; - - /** Constant for fs.Stats mode property for determining a file's type. File type constant for a FIFO/pipe. */ - const S_IFIFO: number; - - /** Constant for fs.Stats mode property for determining a file's type. File type constant for a symbolic link. */ - const S_IFLNK: number; - - /** Constant for fs.Stats mode property for determining a file's type. File type constant for a socket. */ - const S_IFSOCK: number; - - // File Mode Constants - - /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable, writable and executable by owner. */ - const S_IRWXU: number; - - /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable by owner. */ - const S_IRUSR: number; - - /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating writable by owner. */ - const S_IWUSR: number; - - /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating executable by owner. */ - const S_IXUSR: number; - - /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable, writable and executable by group. */ - const S_IRWXG: number; - - /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable by group. */ - const S_IRGRP: number; - - /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating writable by group. */ - const S_IWGRP: number; - - /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating executable by group. */ - const S_IXGRP: number; - - /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable, writable and executable by others. */ - const S_IRWXO: number; - - /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable by others. */ - const S_IROTH: number; - - /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating writable by others. */ - const S_IWOTH: number; - - /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating executable by others. */ - const S_IXOTH: number; - - /** - * When set, a memory file mapping is used to access the file. This flag - * is available on Windows operating systems only. On other operating systems, - * this flag is ignored. - */ - const UV_FS_O_FILEMAP: number; - } - - /** - * Asynchronously tests a user's permissions for the file specified by path. - * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - */ - export function access(path: PathLike, mode: number | undefined, callback: NoParamCallback): void; - - /** - * Asynchronously tests a user's permissions for the file specified by path. - * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - */ - export function access(path: PathLike, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace access { - /** - * Asynchronously tests a user's permissions for the file specified by path. - * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - */ - function __promisify__(path: PathLike, mode?: number): Promise; - } - - /** - * Synchronously tests a user's permissions for the file specified by path. - * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - */ - export function accessSync(path: PathLike, mode?: number): void; - - /** - * Returns a new `ReadStream` object. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - */ - export function createReadStream(path: PathLike, options?: string | { - flags?: string; - encoding?: BufferEncoding; - fd?: number; - mode?: number; - autoClose?: boolean; - /** - * @default false - */ - emitClose?: boolean; - start?: number; - end?: number; - highWaterMark?: number; - }): ReadStream; - - /** - * Returns a new `WriteStream` object. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - */ - export function createWriteStream(path: PathLike, options?: string | { - flags?: string; - encoding?: BufferEncoding; - fd?: number; - mode?: number; - autoClose?: boolean; - emitClose?: boolean; - start?: number; - highWaterMark?: number; - }): WriteStream; - - /** - * Asynchronous fdatasync(2) - synchronize a file's in-core state with storage device. - * @param fd A file descriptor. - */ - export function fdatasync(fd: number, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace fdatasync { - /** - * Asynchronous fdatasync(2) - synchronize a file's in-core state with storage device. - * @param fd A file descriptor. - */ - function __promisify__(fd: number): Promise; - } - - /** - * Synchronous fdatasync(2) - synchronize a file's in-core state with storage device. - * @param fd A file descriptor. - */ - export function fdatasyncSync(fd: number): void; - - /** - * Asynchronously copies src to dest. By default, dest is overwritten if it already exists. - * No arguments other than a possible exception are given to the callback function. - * Node.js makes no guarantees about the atomicity of the copy operation. - * If an error occurs after the destination file has been opened for writing, Node.js will attempt - * to remove the destination. - * @param src A path to the source file. - * @param dest A path to the destination file. - */ - export function copyFile(src: PathLike, dest: PathLike, callback: NoParamCallback): void; - /** - * Asynchronously copies src to dest. By default, dest is overwritten if it already exists. - * No arguments other than a possible exception are given to the callback function. - * Node.js makes no guarantees about the atomicity of the copy operation. - * If an error occurs after the destination file has been opened for writing, Node.js will attempt - * to remove the destination. - * @param src A path to the source file. - * @param dest A path to the destination file. - * @param flags An integer that specifies the behavior of the copy operation. The only supported flag is fs.constants.COPYFILE_EXCL, which causes the copy operation to fail if dest already exists. - */ - export function copyFile(src: PathLike, dest: PathLike, flags: number, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace copyFile { - /** - * Asynchronously copies src to dest. By default, dest is overwritten if it already exists. - * No arguments other than a possible exception are given to the callback function. - * Node.js makes no guarantees about the atomicity of the copy operation. - * If an error occurs after the destination file has been opened for writing, Node.js will attempt - * to remove the destination. - * @param src A path to the source file. - * @param dest A path to the destination file. - * @param flags An optional integer that specifies the behavior of the copy operation. - * The only supported flag is fs.constants.COPYFILE_EXCL, - * which causes the copy operation to fail if dest already exists. - */ - function __promisify__(src: PathLike, dst: PathLike, flags?: number): Promise; - } - - /** - * Synchronously copies src to dest. By default, dest is overwritten if it already exists. - * Node.js makes no guarantees about the atomicity of the copy operation. - * If an error occurs after the destination file has been opened for writing, Node.js will attempt - * to remove the destination. - * @param src A path to the source file. - * @param dest A path to the destination file. - * @param flags An optional integer that specifies the behavior of the copy operation. - * The only supported flag is fs.constants.COPYFILE_EXCL, which causes the copy operation to fail if dest already exists. - */ - export function copyFileSync(src: PathLike, dest: PathLike, flags?: number): void; - - /** - * Write an array of ArrayBufferViews to the file specified by fd using writev(). - * position is the offset from the beginning of the file where this data should be written. - * It is unsafe to use fs.writev() multiple times on the same file without waiting for the callback. For this scenario, use fs.createWriteStream(). - * On Linux, positional writes don't work when the file is opened in append mode. - * The kernel ignores the position argument and always appends the data to the end of the file. - */ - export function writev( - fd: number, - buffers: ReadonlyArray, - cb: (err: NodeJS.ErrnoException | null, bytesWritten: number, buffers: NodeJS.ArrayBufferView[]) => void - ): void; - export function writev( - fd: number, - buffers: ReadonlyArray, - position: number, - cb: (err: NodeJS.ErrnoException | null, bytesWritten: number, buffers: NodeJS.ArrayBufferView[]) => void - ): void; - - export interface WriteVResult { - bytesWritten: number; - buffers: NodeJS.ArrayBufferView[]; - } - - export namespace writev { - function __promisify__(fd: number, buffers: ReadonlyArray, position?: number): Promise; - } - - /** - * See `writev`. - */ - export function writevSync(fd: number, buffers: ReadonlyArray, position?: number): number; - - export function readv( - fd: number, - buffers: ReadonlyArray, - cb: (err: NodeJS.ErrnoException | null, bytesRead: number, buffers: NodeJS.ArrayBufferView[]) => void - ): void; - export function readv( - fd: number, - buffers: ReadonlyArray, - position: number, - cb: (err: NodeJS.ErrnoException | null, bytesRead: number, buffers: NodeJS.ArrayBufferView[]) => void - ): void; - - export interface ReadVResult { - bytesRead: number; - buffers: NodeJS.ArrayBufferView[]; - } - - export namespace readv { - function __promisify__(fd: number, buffers: ReadonlyArray, position?: number): Promise; - } - - /** - * See `readv`. - */ - export function readvSync(fd: number, buffers: ReadonlyArray, position?: number): number; - - export interface OpenDirOptions { - encoding?: BufferEncoding; - /** - * Number of directory entries that are buffered - * internally when reading from the directory. Higher values lead to better - * performance but higher memory usage. - * @default 32 - */ - bufferSize?: number; - } - - export function opendirSync(path: string, options?: OpenDirOptions): Dir; - - export function opendir(path: string, cb: (err: NodeJS.ErrnoException | null, dir: Dir) => void): void; - export function opendir(path: string, options: OpenDirOptions, cb: (err: NodeJS.ErrnoException | null, dir: Dir) => void): void; - - export namespace opendir { - function __promisify__(path: string, options?: OpenDirOptions): Promise; - } - - export interface BigIntStats extends StatsBase { - } - - export class BigIntStats { - atimeNs: bigint; - mtimeNs: bigint; - ctimeNs: bigint; - birthtimeNs: bigint; - } - - export interface BigIntOptions { - bigint: true; - } - - export interface StatOptions { - bigint: boolean; - } -} diff --git a/node_modules/@types/node/fs/promises.d.ts b/node_modules/@types/node/fs/promises.d.ts deleted file mode 100644 index ce458cc..0000000 --- a/node_modules/@types/node/fs/promises.d.ts +++ /dev/null @@ -1,555 +0,0 @@ -declare module 'fs/promises' { - import { - Stats, - WriteVResult, - ReadVResult, - PathLike, - RmDirOptions, - RmOptions, - MakeDirectoryOptions, - Dirent, - OpenDirOptions, - Dir, - BaseEncodingOptions, - BufferEncodingOption, - OpenMode, - Mode, - } from 'fs'; - - interface FileHandle { - /** - * Gets the file descriptor for this file handle. - */ - readonly fd: number; - - /** - * Asynchronously append data to a file, creating the file if it does not exist. The underlying file will _not_ be closed automatically. - * The `FileHandle` must have been opened for appending. - * @param data The data to write. If something other than a `Buffer` or `Uint8Array` is provided, the value is coerced to a string. - * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. - * If `encoding` is not supplied, the default of `'utf8'` is used. - * If `mode` is not supplied, the default of `0o666` is used. - * If `mode` is a string, it is parsed as an octal integer. - * If `flag` is not supplied, the default of `'a'` is used. - */ - appendFile(data: string | Uint8Array, options?: BaseEncodingOptions & { mode?: Mode, flag?: OpenMode } | BufferEncoding | null): Promise; - - /** - * Asynchronous fchown(2) - Change ownership of a file. - */ - chown(uid: number, gid: number): Promise; - - /** - * Asynchronous fchmod(2) - Change permissions of a file. - * @param mode A file mode. If a string is passed, it is parsed as an octal integer. - */ - chmod(mode: Mode): Promise; - - /** - * Asynchronous fdatasync(2) - synchronize a file's in-core state with storage device. - */ - datasync(): Promise; - - /** - * Asynchronous fsync(2) - synchronize a file's in-core state with the underlying storage device. - */ - sync(): Promise; - - /** - * Asynchronously reads data from the file. - * The `FileHandle` must have been opened for reading. - * @param buffer The buffer that the data will be written to. - * @param offset The offset in the buffer at which to start writing. - * @param length The number of bytes to read. - * @param position The offset from the beginning of the file from which data should be read. If `null`, data will be read from the current position. - */ - read(buffer: TBuffer, offset?: number | null, length?: number | null, position?: number | null): Promise<{ bytesRead: number, buffer: TBuffer }>; - - /** - * Asynchronously reads the entire contents of a file. The underlying file will _not_ be closed automatically. - * The `FileHandle` must have been opened for reading. - * @param options An object that may contain an optional flag. - * If a flag is not provided, it defaults to `'r'`. - */ - readFile(options?: { encoding?: null, flag?: OpenMode } | null): Promise; - - /** - * Asynchronously reads the entire contents of a file. The underlying file will _not_ be closed automatically. - * The `FileHandle` must have been opened for reading. - * @param options An object that may contain an optional flag. - * If a flag is not provided, it defaults to `'r'`. - */ - readFile(options: { encoding: BufferEncoding, flag?: OpenMode } | BufferEncoding): Promise; - - /** - * Asynchronously reads the entire contents of a file. The underlying file will _not_ be closed automatically. - * The `FileHandle` must have been opened for reading. - * @param options An object that may contain an optional flag. - * If a flag is not provided, it defaults to `'r'`. - */ - readFile(options?: BaseEncodingOptions & { flag?: OpenMode } | BufferEncoding | null): Promise; - - /** - * Asynchronous fstat(2) - Get file status. - */ - stat(): Promise; - - /** - * Asynchronous ftruncate(2) - Truncate a file to a specified length. - * @param len If not specified, defaults to `0`. - */ - truncate(len?: number): Promise; - - /** - * Asynchronously change file timestamps of the file. - * @param atime The last access time. If a string is provided, it will be coerced to number. - * @param mtime The last modified time. If a string is provided, it will be coerced to number. - */ - utimes(atime: string | number | Date, mtime: string | number | Date): Promise; - - /** - * Asynchronously writes `buffer` to the file. - * The `FileHandle` must have been opened for writing. - * @param buffer The buffer that the data will be written to. - * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. - * @param length The number of bytes to write. If not supplied, defaults to `buffer.length - offset`. - * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. - */ - write(buffer: TBuffer, offset?: number | null, length?: number | null, position?: number | null): Promise<{ bytesWritten: number, buffer: TBuffer }>; - - /** - * Asynchronously writes `string` to the file. - * The `FileHandle` must have been opened for writing. - * It is unsafe to call `write()` multiple times on the same file without waiting for the `Promise` - * to be resolved (or rejected). For this scenario, `fs.createWriteStream` is strongly recommended. - * @param string A string to write. - * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. - * @param encoding The expected string encoding. - */ - write(data: string | Uint8Array, position?: number | null, encoding?: BufferEncoding | null): Promise<{ bytesWritten: number, buffer: string }>; - - /** - * Asynchronously writes data to a file, replacing the file if it already exists. The underlying file will _not_ be closed automatically. - * The `FileHandle` must have been opened for writing. - * It is unsafe to call `writeFile()` multiple times on the same file without waiting for the `Promise` to be resolved (or rejected). - * @param data The data to write. If something other than a `Buffer` or `Uint8Array` is provided, the value is coerced to a string. - * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. - * If `encoding` is not supplied, the default of `'utf8'` is used. - * If `mode` is not supplied, the default of `0o666` is used. - * If `mode` is a string, it is parsed as an octal integer. - * If `flag` is not supplied, the default of `'w'` is used. - */ - writeFile(data: string | Uint8Array, options?: BaseEncodingOptions & { mode?: Mode, flag?: OpenMode } | BufferEncoding | null): Promise; - - /** - * See `fs.writev` promisified version. - */ - writev(buffers: ReadonlyArray, position?: number): Promise; - - /** - * See `fs.readv` promisified version. - */ - readv(buffers: ReadonlyArray, position?: number): Promise; - - /** - * Asynchronous close(2) - close a `FileHandle`. - */ - close(): Promise; - } - - /** - * Asynchronously tests a user's permissions for the file specified by path. - * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - */ - function access(path: PathLike, mode?: number): Promise; - - /** - * Asynchronously copies `src` to `dest`. By default, `dest` is overwritten if it already exists. - * Node.js makes no guarantees about the atomicity of the copy operation. - * If an error occurs after the destination file has been opened for writing, Node.js will attempt - * to remove the destination. - * @param src A path to the source file. - * @param dest A path to the destination file. - * @param flags An optional integer that specifies the behavior of the copy operation. The only - * supported flag is `fs.constants.COPYFILE_EXCL`, which causes the copy operation to fail if - * `dest` already exists. - */ - function copyFile(src: PathLike, dest: PathLike, flags?: number): Promise; - - /** - * Asynchronous open(2) - open and possibly create a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param mode A file mode. If a string is passed, it is parsed as an octal integer. If not - * supplied, defaults to `0o666`. - */ - function open(path: PathLike, flags: string | number, mode?: Mode): Promise; - - /** - * Asynchronously reads data from the file referenced by the supplied `FileHandle`. - * @param handle A `FileHandle`. - * @param buffer The buffer that the data will be written to. - * @param offset The offset in the buffer at which to start writing. - * @param length The number of bytes to read. - * @param position The offset from the beginning of the file from which data should be read. If - * `null`, data will be read from the current position. - */ - function read( - handle: FileHandle, - buffer: TBuffer, - offset?: number | null, - length?: number | null, - position?: number | null, - ): Promise<{ bytesRead: number, buffer: TBuffer }>; - - /** - * Asynchronously writes `buffer` to the file referenced by the supplied `FileHandle`. - * It is unsafe to call `fsPromises.write()` multiple times on the same file without waiting for the `Promise` - * to be resolved (or rejected). For this scenario, `fs.createWriteStream` is strongly recommended. - * @param handle A `FileHandle`. - * @param buffer The buffer that the data will be written to. - * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. - * @param length The number of bytes to write. If not supplied, defaults to `buffer.length - offset`. - * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. - */ - function write( - handle: FileHandle, - buffer: TBuffer, - offset?: number | null, - length?: number | null, position?: number | null): Promise<{ bytesWritten: number, buffer: TBuffer }>; - - /** - * Asynchronously writes `string` to the file referenced by the supplied `FileHandle`. - * It is unsafe to call `fsPromises.write()` multiple times on the same file without waiting for the `Promise` - * to be resolved (or rejected). For this scenario, `fs.createWriteStream` is strongly recommended. - * @param handle A `FileHandle`. - * @param string A string to write. - * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. - * @param encoding The expected string encoding. - */ - function write(handle: FileHandle, string: string, position?: number | null, encoding?: BufferEncoding | null): Promise<{ bytesWritten: number, buffer: string }>; - - /** - * Asynchronous rename(2) - Change the name or location of a file or directory. - * @param oldPath A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - */ - function rename(oldPath: PathLike, newPath: PathLike): Promise; - - /** - * Asynchronous truncate(2) - Truncate a file to a specified length. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param len If not specified, defaults to `0`. - */ - function truncate(path: PathLike, len?: number): Promise; - - /** - * Asynchronous ftruncate(2) - Truncate a file to a specified length. - * @param handle A `FileHandle`. - * @param len If not specified, defaults to `0`. - */ - function ftruncate(handle: FileHandle, len?: number): Promise; - - /** - * Asynchronous rmdir(2) - delete a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - function rmdir(path: PathLike, options?: RmDirOptions): Promise; - - /** - * Asynchronously removes files and directories (modeled on the standard POSIX `rm` utility). - */ - function rm(path: PathLike, options?: RmOptions): Promise; - - /** - * Asynchronous fdatasync(2) - synchronize a file's in-core state with storage device. - * @param handle A `FileHandle`. - */ - function fdatasync(handle: FileHandle): Promise; - - /** - * Asynchronous fsync(2) - synchronize a file's in-core state with the underlying storage device. - * @param handle A `FileHandle`. - */ - function fsync(handle: FileHandle): Promise; - - /** - * Asynchronous mkdir(2) - create a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders - * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. - */ - function mkdir(path: PathLike, options: MakeDirectoryOptions & { recursive: true; }): Promise; - - /** - * Asynchronous mkdir(2) - create a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders - * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. - */ - function mkdir(path: PathLike, options?: Mode | (MakeDirectoryOptions & { recursive?: false; }) | null): Promise; - - /** - * Asynchronous mkdir(2) - create a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders - * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. - */ - function mkdir(path: PathLike, options?: Mode | MakeDirectoryOptions | null): Promise; - - /** - * Asynchronous readdir(3) - read a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function readdir(path: PathLike, options?: BaseEncodingOptions & { withFileTypes?: false } | BufferEncoding | null): Promise; - - /** - * Asynchronous readdir(3) - read a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function readdir(path: PathLike, options: { encoding: "buffer"; withFileTypes?: false } | "buffer"): Promise; - - /** - * Asynchronous readdir(3) - read a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function readdir(path: PathLike, options?: BaseEncodingOptions & { withFileTypes?: false } | BufferEncoding | null): Promise; - - /** - * Asynchronous readdir(3) - read a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options If called with `withFileTypes: true` the result data will be an array of Dirent. - */ - function readdir(path: PathLike, options: BaseEncodingOptions & { withFileTypes: true }): Promise; - - /** - * Asynchronous readlink(2) - read value of a symbolic link. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function readlink(path: PathLike, options?: BaseEncodingOptions | BufferEncoding | null): Promise; - - /** - * Asynchronous readlink(2) - read value of a symbolic link. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function readlink(path: PathLike, options: BufferEncodingOption): Promise; - - /** - * Asynchronous readlink(2) - read value of a symbolic link. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function readlink(path: PathLike, options?: BaseEncodingOptions | string | null): Promise; - - /** - * Asynchronous symlink(2) - Create a new symbolic link to an existing file. - * @param target A path to an existing file. If a URL is provided, it must use the `file:` protocol. - * @param path A path to the new symlink. If a URL is provided, it must use the `file:` protocol. - * @param type May be set to `'dir'`, `'file'`, or `'junction'` (default is `'file'`) and is only available on Windows (ignored on other platforms). - * When using `'junction'`, the `target` argument will automatically be normalized to an absolute path. - */ - function symlink(target: PathLike, path: PathLike, type?: string | null): Promise; - - /** - * Asynchronous fstat(2) - Get file status. - * @param handle A `FileHandle`. - */ - function fstat(handle: FileHandle): Promise; - - /** - * Asynchronous lstat(2) - Get file status. Does not dereference symbolic links. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - function lstat(path: PathLike): Promise; - - /** - * Asynchronous stat(2) - Get file status. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - function stat(path: PathLike): Promise; - - /** - * Asynchronous link(2) - Create a new link (also known as a hard link) to an existing file. - * @param existingPath A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - function link(existingPath: PathLike, newPath: PathLike): Promise; - - /** - * Asynchronous unlink(2) - delete a name and possibly the file it refers to. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - function unlink(path: PathLike): Promise; - - /** - * Asynchronous fchmod(2) - Change permissions of a file. - * @param handle A `FileHandle`. - * @param mode A file mode. If a string is passed, it is parsed as an octal integer. - */ - function fchmod(handle: FileHandle, mode: Mode): Promise; - - /** - * Asynchronous chmod(2) - Change permissions of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param mode A file mode. If a string is passed, it is parsed as an octal integer. - */ - function chmod(path: PathLike, mode: Mode): Promise; - - /** - * Asynchronous lchmod(2) - Change permissions of a file. Does not dereference symbolic links. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param mode A file mode. If a string is passed, it is parsed as an octal integer. - */ - function lchmod(path: PathLike, mode: Mode): Promise; - - /** - * Asynchronous lchown(2) - Change ownership of a file. Does not dereference symbolic links. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - function lchown(path: PathLike, uid: number, gid: number): Promise; - - /** - * Changes the access and modification times of a file in the same way as `fsPromises.utimes()`, - * with the difference that if the path refers to a symbolic link, then the link is not - * dereferenced: instead, the timestamps of the symbolic link itself are changed. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param atime The last access time. If a string is provided, it will be coerced to number. - * @param mtime The last modified time. If a string is provided, it will be coerced to number. - */ - function lutimes(path: PathLike, atime: string | number | Date, mtime: string | number | Date): Promise; - - /** - * Asynchronous fchown(2) - Change ownership of a file. - * @param handle A `FileHandle`. - */ - function fchown(handle: FileHandle, uid: number, gid: number): Promise; - - /** - * Asynchronous chown(2) - Change ownership of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - function chown(path: PathLike, uid: number, gid: number): Promise; - - /** - * Asynchronously change file timestamps of the file referenced by the supplied path. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param atime The last access time. If a string is provided, it will be coerced to number. - * @param mtime The last modified time. If a string is provided, it will be coerced to number. - */ - function utimes(path: PathLike, atime: string | number | Date, mtime: string | number | Date): Promise; - - /** - * Asynchronously change file timestamps of the file referenced by the supplied `FileHandle`. - * @param handle A `FileHandle`. - * @param atime The last access time. If a string is provided, it will be coerced to number. - * @param mtime The last modified time. If a string is provided, it will be coerced to number. - */ - function futimes(handle: FileHandle, atime: string | number | Date, mtime: string | number | Date): Promise; - - /** - * Asynchronous realpath(3) - return the canonicalized absolute pathname. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function realpath(path: PathLike, options?: BaseEncodingOptions | BufferEncoding | null): Promise; - - /** - * Asynchronous realpath(3) - return the canonicalized absolute pathname. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function realpath(path: PathLike, options: BufferEncodingOption): Promise; - - /** - * Asynchronous realpath(3) - return the canonicalized absolute pathname. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function realpath(path: PathLike, options?: BaseEncodingOptions | BufferEncoding | null): Promise; - - /** - * Asynchronously creates a unique temporary directory. - * Generates six random characters to be appended behind a required `prefix` to create a unique temporary directory. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function mkdtemp(prefix: string, options?: BaseEncodingOptions | BufferEncoding | null): Promise; - - /** - * Asynchronously creates a unique temporary directory. - * Generates six random characters to be appended behind a required `prefix` to create a unique temporary directory. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function mkdtemp(prefix: string, options: BufferEncodingOption): Promise; - - /** - * Asynchronously creates a unique temporary directory. - * Generates six random characters to be appended behind a required `prefix` to create a unique temporary directory. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function mkdtemp(prefix: string, options?: BaseEncodingOptions | BufferEncoding | null): Promise; - - /** - * Asynchronously writes data to a file, replacing the file if it already exists. - * It is unsafe to call `fsPromises.writeFile()` multiple times on the same file without waiting for the `Promise` to be resolved (or rejected). - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * If a `FileHandle` is provided, the underlying file will _not_ be closed automatically. - * @param data The data to write. If something other than a `Buffer` or `Uint8Array` is provided, the value is coerced to a string. - * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. - * If `encoding` is not supplied, the default of `'utf8'` is used. - * If `mode` is not supplied, the default of `0o666` is used. - * If `mode` is a string, it is parsed as an octal integer. - * If `flag` is not supplied, the default of `'w'` is used. - */ - function writeFile(path: PathLike | FileHandle, data: string | Uint8Array, options?: BaseEncodingOptions & { mode?: Mode, flag?: OpenMode } | BufferEncoding | null): Promise; - - /** - * Asynchronously append data to a file, creating the file if it does not exist. - * @param file A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * If a `FileHandle` is provided, the underlying file will _not_ be closed automatically. - * @param data The data to write. If something other than a `Buffer` or `Uint8Array` is provided, the value is coerced to a string. - * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. - * If `encoding` is not supplied, the default of `'utf8'` is used. - * If `mode` is not supplied, the default of `0o666` is used. - * If `mode` is a string, it is parsed as an octal integer. - * If `flag` is not supplied, the default of `'a'` is used. - */ - function appendFile(path: PathLike | FileHandle, data: string | Uint8Array, options?: BaseEncodingOptions & { mode?: Mode, flag?: OpenMode } | BufferEncoding | null): Promise; - - /** - * Asynchronously reads the entire contents of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * If a `FileHandle` is provided, the underlying file will _not_ be closed automatically. - * @param options An object that may contain an optional flag. - * If a flag is not provided, it defaults to `'r'`. - */ - function readFile(path: PathLike | FileHandle, options?: { encoding?: null, flag?: OpenMode } | null): Promise; - - /** - * Asynchronously reads the entire contents of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * If a `FileHandle` is provided, the underlying file will _not_ be closed automatically. - * @param options An object that may contain an optional flag. - * If a flag is not provided, it defaults to `'r'`. - */ - function readFile(path: PathLike | FileHandle, options: { encoding: BufferEncoding, flag?: OpenMode } | BufferEncoding): Promise; - - /** - * Asynchronously reads the entire contents of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * If a `FileHandle` is provided, the underlying file will _not_ be closed automatically. - * @param options An object that may contain an optional flag. - * If a flag is not provided, it defaults to `'r'`. - */ - function readFile(path: PathLike | FileHandle, options?: BaseEncodingOptions & { flag?: OpenMode } | BufferEncoding | null): Promise; - - function opendir(path: string, options?: OpenDirOptions): Promise; -} diff --git a/node_modules/@types/node/globals.d.ts b/node_modules/@types/node/globals.d.ts deleted file mode 100644 index 844f22e..0000000 --- a/node_modules/@types/node/globals.d.ts +++ /dev/null @@ -1,614 +0,0 @@ -// Declare "static" methods in Error -interface ErrorConstructor { - /** Create .stack property on a target object */ - captureStackTrace(targetObject: object, constructorOpt?: Function): void; - - /** - * Optional override for formatting stack traces - * - * @see https://github.com/v8/v8/wiki/Stack%20Trace%20API#customizing-stack-traces - */ - prepareStackTrace?: (err: Error, stackTraces: NodeJS.CallSite[]) => any; - - stackTraceLimit: number; -} - -// Node.js ESNEXT support -interface String { - /** Removes whitespace from the left end of a string. */ - trimLeft(): string; - /** Removes whitespace from the right end of a string. */ - trimRight(): string; - - /** Returns a copy with leading whitespace removed. */ - trimStart(): string; - /** Returns a copy with trailing whitespace removed. */ - trimEnd(): string; -} - -interface ImportMeta { - url: string; -} - -/*-----------------------------------------------* - * * - * GLOBAL * - * * - ------------------------------------------------*/ - -// For backwards compability -interface NodeRequire extends NodeJS.Require {} -interface RequireResolve extends NodeJS.RequireResolve {} -interface NodeModule extends NodeJS.Module {} - -declare var process: NodeJS.Process; -declare var console: Console; - -declare var __filename: string; -declare var __dirname: string; - -declare function setTimeout(callback: (...args: any[]) => void, ms: number, ...args: any[]): NodeJS.Timeout; -declare namespace setTimeout { - function __promisify__(ms: number): Promise; - function __promisify__(ms: number, value: T): Promise; -} -declare function clearTimeout(timeoutId: NodeJS.Timeout): void; -declare function setInterval(callback: (...args: any[]) => void, ms: number, ...args: any[]): NodeJS.Timeout; -declare function clearInterval(intervalId: NodeJS.Timeout): void; -declare function setImmediate(callback: (...args: any[]) => void, ...args: any[]): NodeJS.Immediate; -declare namespace setImmediate { - function __promisify__(): Promise; - function __promisify__(value: T): Promise; -} -declare function clearImmediate(immediateId: NodeJS.Immediate): void; - -declare function queueMicrotask(callback: () => void): void; - -declare var require: NodeRequire; -declare var module: NodeModule; - -// Same as module.exports -declare var exports: any; - -// Buffer class -type BufferEncoding = "ascii" | "utf8" | "utf-8" | "utf16le" | "ucs2" | "ucs-2" | "base64" | "latin1" | "binary" | "hex"; - -type WithImplicitCoercion = T | { valueOf(): T }; - -/** - * Raw data is stored in instances of the Buffer class. - * A Buffer is similar to an array of integers but corresponds to a raw memory allocation outside the V8 heap. A Buffer cannot be resized. - * Valid string encodings: 'ascii'|'utf8'|'utf16le'|'ucs2'(alias of 'utf16le')|'base64'|'binary'(deprecated)|'hex' - */ -declare class Buffer extends Uint8Array { - /** - * Allocates a new buffer containing the given {str}. - * - * @param str String to store in buffer. - * @param encoding encoding to use, optional. Default is 'utf8' - * @deprecated since v10.0.0 - Use `Buffer.from(string[, encoding])` instead. - */ - constructor(str: string, encoding?: BufferEncoding); - /** - * Allocates a new buffer of {size} octets. - * - * @param size count of octets to allocate. - * @deprecated since v10.0.0 - Use `Buffer.alloc()` instead (also see `Buffer.allocUnsafe()`). - */ - constructor(size: number); - /** - * Allocates a new buffer containing the given {array} of octets. - * - * @param array The octets to store. - * @deprecated since v10.0.0 - Use `Buffer.from(array)` instead. - */ - constructor(array: Uint8Array); - /** - * Produces a Buffer backed by the same allocated memory as - * the given {ArrayBuffer}/{SharedArrayBuffer}. - * - * - * @param arrayBuffer The ArrayBuffer with which to share memory. - * @deprecated since v10.0.0 - Use `Buffer.from(arrayBuffer[, byteOffset[, length]])` instead. - */ - constructor(arrayBuffer: ArrayBuffer | SharedArrayBuffer); - /** - * Allocates a new buffer containing the given {array} of octets. - * - * @param array The octets to store. - * @deprecated since v10.0.0 - Use `Buffer.from(array)` instead. - */ - constructor(array: ReadonlyArray); - /** - * Copies the passed {buffer} data onto a new {Buffer} instance. - * - * @param buffer The buffer to copy. - * @deprecated since v10.0.0 - Use `Buffer.from(buffer)` instead. - */ - constructor(buffer: Buffer); - /** - * When passed a reference to the .buffer property of a TypedArray instance, - * the newly created Buffer will share the same allocated memory as the TypedArray. - * The optional {byteOffset} and {length} arguments specify a memory range - * within the {arrayBuffer} that will be shared by the Buffer. - * - * @param arrayBuffer The .buffer property of any TypedArray or a new ArrayBuffer() - */ - static from(arrayBuffer: WithImplicitCoercion, byteOffset?: number, length?: number): Buffer; - /** - * Creates a new Buffer using the passed {data} - * @param data data to create a new Buffer - */ - static from(data: Uint8Array | ReadonlyArray): Buffer; - static from(data: WithImplicitCoercion | string>): Buffer; - /** - * Creates a new Buffer containing the given JavaScript string {str}. - * If provided, the {encoding} parameter identifies the character encoding. - * If not provided, {encoding} defaults to 'utf8'. - */ - static from(str: WithImplicitCoercion | { [Symbol.toPrimitive](hint: 'string'): string }, encoding?: BufferEncoding): Buffer; - /** - * Creates a new Buffer using the passed {data} - * @param values to create a new Buffer - */ - static of(...items: number[]): Buffer; - /** - * Returns true if {obj} is a Buffer - * - * @param obj object to test. - */ - static isBuffer(obj: any): obj is Buffer; - /** - * Returns true if {encoding} is a valid encoding argument. - * Valid string encodings in Node 0.12: 'ascii'|'utf8'|'utf16le'|'ucs2'(alias of 'utf16le')|'base64'|'binary'(deprecated)|'hex' - * - * @param encoding string to test. - */ - static isEncoding(encoding: string): encoding is BufferEncoding; - /** - * Gives the actual byte length of a string. encoding defaults to 'utf8'. - * This is not the same as String.prototype.length since that returns the number of characters in a string. - * - * @param string string to test. - * @param encoding encoding used to evaluate (defaults to 'utf8') - */ - static byteLength( - string: string | NodeJS.ArrayBufferView | ArrayBuffer | SharedArrayBuffer, - encoding?: BufferEncoding - ): number; - /** - * Returns a buffer which is the result of concatenating all the buffers in the list together. - * - * If the list has no items, or if the totalLength is 0, then it returns a zero-length buffer. - * If the list has exactly one item, then the first item of the list is returned. - * If the list has more than one item, then a new Buffer is created. - * - * @param list An array of Buffer objects to concatenate - * @param totalLength Total length of the buffers when concatenated. - * If totalLength is not provided, it is read from the buffers in the list. However, this adds an additional loop to the function, so it is faster to provide the length explicitly. - */ - static concat(list: ReadonlyArray, totalLength?: number): Buffer; - /** - * The same as buf1.compare(buf2). - */ - static compare(buf1: Uint8Array, buf2: Uint8Array): number; - /** - * Allocates a new buffer of {size} octets. - * - * @param size count of octets to allocate. - * @param fill if specified, buffer will be initialized by calling buf.fill(fill). - * If parameter is omitted, buffer will be filled with zeros. - * @param encoding encoding used for call to buf.fill while initalizing - */ - static alloc(size: number, fill?: string | Buffer | number, encoding?: BufferEncoding): Buffer; - /** - * Allocates a new buffer of {size} octets, leaving memory not initialized, so the contents - * of the newly created Buffer are unknown and may contain sensitive data. - * - * @param size count of octets to allocate - */ - static allocUnsafe(size: number): Buffer; - /** - * Allocates a new non-pooled buffer of {size} octets, leaving memory not initialized, so the contents - * of the newly created Buffer are unknown and may contain sensitive data. - * - * @param size count of octets to allocate - */ - static allocUnsafeSlow(size: number): Buffer; - /** - * This is the number of bytes used to determine the size of pre-allocated, internal Buffer instances used for pooling. This value may be modified. - */ - static poolSize: number; - - write(string: string, encoding?: BufferEncoding): number; - write(string: string, offset: number, encoding?: BufferEncoding): number; - write(string: string, offset: number, length: number, encoding?: BufferEncoding): number; - toString(encoding?: BufferEncoding, start?: number, end?: number): string; - toJSON(): { type: 'Buffer'; data: number[] }; - equals(otherBuffer: Uint8Array): boolean; - compare( - otherBuffer: Uint8Array, - targetStart?: number, - targetEnd?: number, - sourceStart?: number, - sourceEnd?: number - ): number; - copy(targetBuffer: Uint8Array, targetStart?: number, sourceStart?: number, sourceEnd?: number): number; - /** - * Returns a new `Buffer` that references **the same memory as the original**, but offset and cropped by the start and end indices. - * - * This method is incompatible with `Uint8Array#slice()`, which returns a copy of the original memory. - * - * @param begin Where the new `Buffer` will start. Default: `0`. - * @param end Where the new `Buffer` will end (not inclusive). Default: `buf.length`. - */ - slice(begin?: number, end?: number): Buffer; - /** - * Returns a new `Buffer` that references **the same memory as the original**, but offset and cropped by the start and end indices. - * - * This method is compatible with `Uint8Array#subarray()`. - * - * @param begin Where the new `Buffer` will start. Default: `0`. - * @param end Where the new `Buffer` will end (not inclusive). Default: `buf.length`. - */ - subarray(begin?: number, end?: number): Buffer; - writeBigInt64BE(value: bigint, offset?: number): number; - writeBigInt64LE(value: bigint, offset?: number): number; - writeBigUInt64BE(value: bigint, offset?: number): number; - writeBigUInt64LE(value: bigint, offset?: number): number; - writeUIntLE(value: number, offset: number, byteLength: number): number; - writeUIntBE(value: number, offset: number, byteLength: number): number; - writeIntLE(value: number, offset: number, byteLength: number): number; - writeIntBE(value: number, offset: number, byteLength: number): number; - readBigUInt64BE(offset?: number): bigint; - readBigUInt64LE(offset?: number): bigint; - readBigInt64BE(offset?: number): bigint; - readBigInt64LE(offset?: number): bigint; - readUIntLE(offset: number, byteLength: number): number; - readUIntBE(offset: number, byteLength: number): number; - readIntLE(offset: number, byteLength: number): number; - readIntBE(offset: number, byteLength: number): number; - readUInt8(offset?: number): number; - readUInt16LE(offset?: number): number; - readUInt16BE(offset?: number): number; - readUInt32LE(offset?: number): number; - readUInt32BE(offset?: number): number; - readInt8(offset?: number): number; - readInt16LE(offset?: number): number; - readInt16BE(offset?: number): number; - readInt32LE(offset?: number): number; - readInt32BE(offset?: number): number; - readFloatLE(offset?: number): number; - readFloatBE(offset?: number): number; - readDoubleLE(offset?: number): number; - readDoubleBE(offset?: number): number; - reverse(): this; - swap16(): Buffer; - swap32(): Buffer; - swap64(): Buffer; - writeUInt8(value: number, offset?: number): number; - writeUInt16LE(value: number, offset?: number): number; - writeUInt16BE(value: number, offset?: number): number; - writeUInt32LE(value: number, offset?: number): number; - writeUInt32BE(value: number, offset?: number): number; - writeInt8(value: number, offset?: number): number; - writeInt16LE(value: number, offset?: number): number; - writeInt16BE(value: number, offset?: number): number; - writeInt32LE(value: number, offset?: number): number; - writeInt32BE(value: number, offset?: number): number; - writeFloatLE(value: number, offset?: number): number; - writeFloatBE(value: number, offset?: number): number; - writeDoubleLE(value: number, offset?: number): number; - writeDoubleBE(value: number, offset?: number): number; - - fill(value: string | Uint8Array | number, offset?: number, end?: number, encoding?: BufferEncoding): this; - - indexOf(value: string | number | Uint8Array, byteOffset?: number, encoding?: BufferEncoding): number; - lastIndexOf(value: string | number | Uint8Array, byteOffset?: number, encoding?: BufferEncoding): number; - entries(): IterableIterator<[number, number]>; - includes(value: string | number | Buffer, byteOffset?: number, encoding?: BufferEncoding): boolean; - keys(): IterableIterator; - values(): IterableIterator; -} - -/*----------------------------------------------* -* * -* GLOBAL INTERFACES * -* * -*-----------------------------------------------*/ -declare namespace NodeJS { - interface InspectOptions { - /** - * If set to `true`, getters are going to be - * inspected as well. If set to `'get'` only getters without setter are going - * to be inspected. If set to `'set'` only getters having a corresponding - * setter are going to be inspected. This might cause side effects depending on - * the getter function. - * @default `false` - */ - getters?: 'get' | 'set' | boolean; - showHidden?: boolean; - /** - * @default 2 - */ - depth?: number | null; - colors?: boolean; - customInspect?: boolean; - showProxy?: boolean; - maxArrayLength?: number | null; - /** - * Specifies the maximum number of characters to - * include when formatting. Set to `null` or `Infinity` to show all elements. - * Set to `0` or negative to show no characters. - * @default Infinity - */ - maxStringLength?: number | null; - breakLength?: number; - /** - * Setting this to `false` causes each object key - * to be displayed on a new line. It will also add new lines to text that is - * longer than `breakLength`. If set to a number, the most `n` inner elements - * are united on a single line as long as all properties fit into - * `breakLength`. Short array elements are also grouped together. Note that no - * text will be reduced below 16 characters, no matter the `breakLength` size. - * For more information, see the example below. - * @default `true` - */ - compact?: boolean | number; - sorted?: boolean | ((a: string, b: string) => number); - } - - interface CallSite { - /** - * Value of "this" - */ - getThis(): any; - - /** - * Type of "this" as a string. - * This is the name of the function stored in the constructor field of - * "this", if available. Otherwise the object's [[Class]] internal - * property. - */ - getTypeName(): string | null; - - /** - * Current function - */ - getFunction(): Function | undefined; - - /** - * Name of the current function, typically its name property. - * If a name property is not available an attempt will be made to try - * to infer a name from the function's context. - */ - getFunctionName(): string | null; - - /** - * Name of the property [of "this" or one of its prototypes] that holds - * the current function - */ - getMethodName(): string | null; - - /** - * Name of the script [if this function was defined in a script] - */ - getFileName(): string | null; - - /** - * Current line number [if this function was defined in a script] - */ - getLineNumber(): number | null; - - /** - * Current column number [if this function was defined in a script] - */ - getColumnNumber(): number | null; - - /** - * A call site object representing the location where eval was called - * [if this function was created using a call to eval] - */ - getEvalOrigin(): string | undefined; - - /** - * Is this a toplevel invocation, that is, is "this" the global object? - */ - isToplevel(): boolean; - - /** - * Does this call take place in code defined by a call to eval? - */ - isEval(): boolean; - - /** - * Is this call in native V8 code? - */ - isNative(): boolean; - - /** - * Is this a constructor call? - */ - isConstructor(): boolean; - } - - interface ErrnoException extends Error { - errno?: number; - code?: string; - path?: string; - syscall?: string; - stack?: string; - } - - interface ReadableStream extends EventEmitter { - readable: boolean; - read(size?: number): string | Buffer; - setEncoding(encoding: BufferEncoding): this; - pause(): this; - resume(): this; - isPaused(): boolean; - pipe(destination: T, options?: { end?: boolean; }): T; - unpipe(destination?: WritableStream): this; - unshift(chunk: string | Uint8Array, encoding?: BufferEncoding): void; - wrap(oldStream: ReadableStream): this; - [Symbol.asyncIterator](): AsyncIterableIterator; - } - - interface WritableStream extends EventEmitter { - writable: boolean; - write(buffer: Uint8Array | string, cb?: (err?: Error | null) => void): boolean; - write(str: string, encoding?: BufferEncoding, cb?: (err?: Error | null) => void): boolean; - end(cb?: () => void): void; - end(data: string | Uint8Array, cb?: () => void): void; - end(str: string, encoding?: BufferEncoding, cb?: () => void): void; - } - - interface ReadWriteStream extends ReadableStream, WritableStream { } - - interface Global { - Array: typeof Array; - ArrayBuffer: typeof ArrayBuffer; - Boolean: typeof Boolean; - Buffer: typeof Buffer; - DataView: typeof DataView; - Date: typeof Date; - Error: typeof Error; - EvalError: typeof EvalError; - Float32Array: typeof Float32Array; - Float64Array: typeof Float64Array; - Function: typeof Function; - Infinity: typeof Infinity; - Int16Array: typeof Int16Array; - Int32Array: typeof Int32Array; - Int8Array: typeof Int8Array; - Intl: typeof Intl; - JSON: typeof JSON; - Map: MapConstructor; - Math: typeof Math; - NaN: typeof NaN; - Number: typeof Number; - Object: typeof Object; - Promise: typeof Promise; - RangeError: typeof RangeError; - ReferenceError: typeof ReferenceError; - RegExp: typeof RegExp; - Set: SetConstructor; - String: typeof String; - Symbol: Function; - SyntaxError: typeof SyntaxError; - TypeError: typeof TypeError; - URIError: typeof URIError; - Uint16Array: typeof Uint16Array; - Uint32Array: typeof Uint32Array; - Uint8Array: typeof Uint8Array; - Uint8ClampedArray: typeof Uint8ClampedArray; - WeakMap: WeakMapConstructor; - WeakSet: WeakSetConstructor; - clearImmediate: (immediateId: Immediate) => void; - clearInterval: (intervalId: Timeout) => void; - clearTimeout: (timeoutId: Timeout) => void; - decodeURI: typeof decodeURI; - decodeURIComponent: typeof decodeURIComponent; - encodeURI: typeof encodeURI; - encodeURIComponent: typeof encodeURIComponent; - escape: (str: string) => string; - eval: typeof eval; - global: Global; - isFinite: typeof isFinite; - isNaN: typeof isNaN; - parseFloat: typeof parseFloat; - parseInt: typeof parseInt; - setImmediate: (callback: (...args: any[]) => void, ...args: any[]) => Immediate; - setInterval: (callback: (...args: any[]) => void, ms: number, ...args: any[]) => Timeout; - setTimeout: (callback: (...args: any[]) => void, ms: number, ...args: any[]) => Timeout; - queueMicrotask: typeof queueMicrotask; - undefined: typeof undefined; - unescape: (str: string) => string; - gc: () => void; - v8debug?: any; - } - - interface RefCounted { - ref(): this; - unref(): this; - } - - // compatibility with older typings - interface Timer extends RefCounted { - hasRef(): boolean; - refresh(): this; - [Symbol.toPrimitive](): number; - } - - interface Immediate extends RefCounted { - hasRef(): boolean; - _onImmediate: Function; // to distinguish it from the Timeout class - } - - interface Timeout extends Timer { - hasRef(): boolean; - refresh(): this; - [Symbol.toPrimitive](): number; - } - - type TypedArray = - | Uint8Array - | Uint8ClampedArray - | Uint16Array - | Uint32Array - | Int8Array - | Int16Array - | Int32Array - | BigUint64Array - | BigInt64Array - | Float32Array - | Float64Array; - type ArrayBufferView = TypedArray | DataView; - - interface Require { - (id: string): any; - resolve: RequireResolve; - cache: Dict; - /** - * @deprecated - */ - extensions: RequireExtensions; - main: Module | undefined; - } - - interface RequireResolve { - (id: string, options?: { paths?: string[]; }): string; - paths(request: string): string[] | null; - } - - interface RequireExtensions extends Dict<(m: Module, filename: string) => any> { - '.js': (m: Module, filename: string) => any; - '.json': (m: Module, filename: string) => any; - '.node': (m: Module, filename: string) => any; - } - interface Module { - exports: any; - require: Require; - id: string; - filename: string; - loaded: boolean; - /** @deprecated since 14.6.0 Please use `require.main` and `module.children` instead. */ - parent: Module | null | undefined; - children: Module[]; - /** - * @since 11.14.0 - * - * The directory name of the module. This is usually the same as the path.dirname() of the module.id. - */ - path: string; - paths: string[]; - } - - interface Dict { - [key: string]: T | undefined; - } - - interface ReadOnlyDict { - readonly [key: string]: T | undefined; - } -} diff --git a/node_modules/@types/node/globals.global.d.ts b/node_modules/@types/node/globals.global.d.ts deleted file mode 100644 index d66acba..0000000 --- a/node_modules/@types/node/globals.global.d.ts +++ /dev/null @@ -1 +0,0 @@ -declare var global: NodeJS.Global & typeof globalThis; diff --git a/node_modules/@types/node/http.d.ts b/node_modules/@types/node/http.d.ts deleted file mode 100644 index 4daa055..0000000 --- a/node_modules/@types/node/http.d.ts +++ /dev/null @@ -1,423 +0,0 @@ -declare module "http" { - import * as stream from "stream"; - import { URL } from "url"; - import { Socket, Server as NetServer } from "net"; - - // incoming headers will never contain number - interface IncomingHttpHeaders extends NodeJS.Dict { - 'accept'?: string; - 'accept-language'?: string; - 'accept-patch'?: string; - 'accept-ranges'?: string; - 'access-control-allow-credentials'?: string; - 'access-control-allow-headers'?: string; - 'access-control-allow-methods'?: string; - 'access-control-allow-origin'?: string; - 'access-control-expose-headers'?: string; - 'access-control-max-age'?: string; - 'access-control-request-headers'?: string; - 'access-control-request-method'?: string; - 'age'?: string; - 'allow'?: string; - 'alt-svc'?: string; - 'authorization'?: string; - 'cache-control'?: string; - 'connection'?: string; - 'content-disposition'?: string; - 'content-encoding'?: string; - 'content-language'?: string; - 'content-length'?: string; - 'content-location'?: string; - 'content-range'?: string; - 'content-type'?: string; - 'cookie'?: string; - 'date'?: string; - 'expect'?: string; - 'expires'?: string; - 'forwarded'?: string; - 'from'?: string; - 'host'?: string; - 'if-match'?: string; - 'if-modified-since'?: string; - 'if-none-match'?: string; - 'if-unmodified-since'?: string; - 'last-modified'?: string; - 'location'?: string; - 'origin'?: string; - 'pragma'?: string; - 'proxy-authenticate'?: string; - 'proxy-authorization'?: string; - 'public-key-pins'?: string; - 'range'?: string; - 'referer'?: string; - 'retry-after'?: string; - 'sec-websocket-accept'?: string; - 'sec-websocket-extensions'?: string; - 'sec-websocket-key'?: string; - 'sec-websocket-protocol'?: string; - 'sec-websocket-version'?: string; - 'set-cookie'?: string[]; - 'strict-transport-security'?: string; - 'tk'?: string; - 'trailer'?: string; - 'transfer-encoding'?: string; - 'upgrade'?: string; - 'user-agent'?: string; - 'vary'?: string; - 'via'?: string; - 'warning'?: string; - 'www-authenticate'?: string; - } - - // outgoing headers allows numbers (as they are converted internally to strings) - type OutgoingHttpHeader = number | string | string[]; - - interface OutgoingHttpHeaders extends NodeJS.Dict { - } - - interface ClientRequestArgs { - protocol?: string | null; - host?: string | null; - hostname?: string | null; - family?: number; - port?: number | string | null; - defaultPort?: number | string; - localAddress?: string; - socketPath?: string; - /** - * @default 8192 - */ - maxHeaderSize?: number; - method?: string; - path?: string | null; - headers?: OutgoingHttpHeaders; - auth?: string | null; - agent?: Agent | boolean; - _defaultAgent?: Agent; - timeout?: number; - setHost?: boolean; - // https://github.com/nodejs/node/blob/master/lib/_http_client.js#L278 - createConnection?: (options: ClientRequestArgs, oncreate: (err: Error, socket: Socket) => void) => Socket; - } - - interface ServerOptions { - IncomingMessage?: typeof IncomingMessage; - ServerResponse?: typeof ServerResponse; - /** - * Optionally overrides the value of - * [`--max-http-header-size`][] for requests received by this server, i.e. - * the maximum length of request headers in bytes. - * @default 8192 - */ - maxHeaderSize?: number; - /** - * Use an insecure HTTP parser that accepts invalid HTTP headers when true. - * Using the insecure parser should be avoided. - * See --insecure-http-parser for more information. - * @default false - */ - insecureHTTPParser?: boolean; - } - - type RequestListener = (req: IncomingMessage, res: ServerResponse) => void; - - interface HttpBase { - setTimeout(msecs?: number, callback?: () => void): this; - setTimeout(callback: () => void): this; - /** - * Limits maximum incoming headers count. If set to 0, no limit will be applied. - * @default 2000 - * {@link https://nodejs.org/api/http.html#http_server_maxheaderscount} - */ - maxHeadersCount: number | null; - timeout: number; - /** - * Limit the amount of time the parser will wait to receive the complete HTTP headers. - * @default 60000 - * {@link https://nodejs.org/api/http.html#http_server_headerstimeout} - */ - headersTimeout: number; - keepAliveTimeout: number; - /** - * Sets the timeout value in milliseconds for receiving the entire request from the client. - * @default 0 - * {@link https://nodejs.org/api/http.html#http_server_requesttimeout} - */ - requestTimeout: number; - } - - interface Server extends HttpBase {} - class Server extends NetServer { - constructor(requestListener?: RequestListener); - constructor(options: ServerOptions, requestListener?: RequestListener); - } - - // https://github.com/nodejs/node/blob/master/lib/_http_outgoing.js - class OutgoingMessage extends stream.Writable { - upgrading: boolean; - chunkedEncoding: boolean; - shouldKeepAlive: boolean; - useChunkedEncodingByDefault: boolean; - sendDate: boolean; - /** - * @deprecated Use `writableEnded` instead. - */ - finished: boolean; - headersSent: boolean; - /** - * @deprecate Use `socket` instead. - */ - connection: Socket | null; - socket: Socket | null; - - constructor(); - - setTimeout(msecs: number, callback?: () => void): this; - setHeader(name: string, value: number | string | ReadonlyArray): void; - getHeader(name: string): number | string | string[] | undefined; - getHeaders(): OutgoingHttpHeaders; - getHeaderNames(): string[]; - hasHeader(name: string): boolean; - removeHeader(name: string): void; - addTrailers(headers: OutgoingHttpHeaders | ReadonlyArray<[string, string]>): void; - flushHeaders(): void; - } - - // https://github.com/nodejs/node/blob/master/lib/_http_server.js#L108-L256 - class ServerResponse extends OutgoingMessage { - statusCode: number; - statusMessage: string; - - constructor(req: IncomingMessage); - - assignSocket(socket: Socket): void; - detachSocket(socket: Socket): void; - // https://github.com/nodejs/node/blob/master/test/parallel/test-http-write-callbacks.js#L53 - // no args in writeContinue callback - writeContinue(callback?: () => void): void; - writeHead(statusCode: number, reasonPhrase?: string, headers?: OutgoingHttpHeaders | OutgoingHttpHeader[]): this; - writeHead(statusCode: number, headers?: OutgoingHttpHeaders | OutgoingHttpHeader[]): this; - writeProcessing(): void; - } - - interface InformationEvent { - statusCode: number; - statusMessage: string; - httpVersion: string; - httpVersionMajor: number; - httpVersionMinor: number; - headers: IncomingHttpHeaders; - rawHeaders: string[]; - } - - // https://github.com/nodejs/node/blob/master/lib/_http_client.js#L77 - class ClientRequest extends OutgoingMessage { - aborted: boolean; - host: string; - protocol: string; - - constructor(url: string | URL | ClientRequestArgs, cb?: (res: IncomingMessage) => void); - - method: string; - path: string; - /** @deprecated since v14.1.0 Use `request.destroy()` instead. */ - abort(): void; - onSocket(socket: Socket): void; - setTimeout(timeout: number, callback?: () => void): this; - setNoDelay(noDelay?: boolean): void; - setSocketKeepAlive(enable?: boolean, initialDelay?: number): void; - - addListener(event: 'abort', listener: () => void): this; - addListener(event: 'connect', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; - addListener(event: 'continue', listener: () => void): this; - addListener(event: 'information', listener: (info: InformationEvent) => void): this; - addListener(event: 'response', listener: (response: IncomingMessage) => void): this; - addListener(event: 'socket', listener: (socket: Socket) => void): this; - addListener(event: 'timeout', listener: () => void): this; - addListener(event: 'upgrade', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; - addListener(event: 'close', listener: () => void): this; - addListener(event: 'drain', listener: () => void): this; - addListener(event: 'error', listener: (err: Error) => void): this; - addListener(event: 'finish', listener: () => void): this; - addListener(event: 'pipe', listener: (src: stream.Readable) => void): this; - addListener(event: 'unpipe', listener: (src: stream.Readable) => void): this; - addListener(event: string | symbol, listener: (...args: any[]) => void): this; - - on(event: 'abort', listener: () => void): this; - on(event: 'connect', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; - on(event: 'continue', listener: () => void): this; - on(event: 'information', listener: (info: InformationEvent) => void): this; - on(event: 'response', listener: (response: IncomingMessage) => void): this; - on(event: 'socket', listener: (socket: Socket) => void): this; - on(event: 'timeout', listener: () => void): this; - on(event: 'upgrade', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; - on(event: 'close', listener: () => void): this; - on(event: 'drain', listener: () => void): this; - on(event: 'error', listener: (err: Error) => void): this; - on(event: 'finish', listener: () => void): this; - on(event: 'pipe', listener: (src: stream.Readable) => void): this; - on(event: 'unpipe', listener: (src: stream.Readable) => void): this; - on(event: string | symbol, listener: (...args: any[]) => void): this; - - once(event: 'abort', listener: () => void): this; - once(event: 'connect', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; - once(event: 'continue', listener: () => void): this; - once(event: 'information', listener: (info: InformationEvent) => void): this; - once(event: 'response', listener: (response: IncomingMessage) => void): this; - once(event: 'socket', listener: (socket: Socket) => void): this; - once(event: 'timeout', listener: () => void): this; - once(event: 'upgrade', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; - once(event: 'close', listener: () => void): this; - once(event: 'drain', listener: () => void): this; - once(event: 'error', listener: (err: Error) => void): this; - once(event: 'finish', listener: () => void): this; - once(event: 'pipe', listener: (src: stream.Readable) => void): this; - once(event: 'unpipe', listener: (src: stream.Readable) => void): this; - once(event: string | symbol, listener: (...args: any[]) => void): this; - - prependListener(event: 'abort', listener: () => void): this; - prependListener(event: 'connect', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; - prependListener(event: 'continue', listener: () => void): this; - prependListener(event: 'information', listener: (info: InformationEvent) => void): this; - prependListener(event: 'response', listener: (response: IncomingMessage) => void): this; - prependListener(event: 'socket', listener: (socket: Socket) => void): this; - prependListener(event: 'timeout', listener: () => void): this; - prependListener(event: 'upgrade', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; - prependListener(event: 'close', listener: () => void): this; - prependListener(event: 'drain', listener: () => void): this; - prependListener(event: 'error', listener: (err: Error) => void): this; - prependListener(event: 'finish', listener: () => void): this; - prependListener(event: 'pipe', listener: (src: stream.Readable) => void): this; - prependListener(event: 'unpipe', listener: (src: stream.Readable) => void): this; - prependListener(event: string | symbol, listener: (...args: any[]) => void): this; - - prependOnceListener(event: 'abort', listener: () => void): this; - prependOnceListener(event: 'connect', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; - prependOnceListener(event: 'continue', listener: () => void): this; - prependOnceListener(event: 'information', listener: (info: InformationEvent) => void): this; - prependOnceListener(event: 'response', listener: (response: IncomingMessage) => void): this; - prependOnceListener(event: 'socket', listener: (socket: Socket) => void): this; - prependOnceListener(event: 'timeout', listener: () => void): this; - prependOnceListener(event: 'upgrade', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; - prependOnceListener(event: 'close', listener: () => void): this; - prependOnceListener(event: 'drain', listener: () => void): this; - prependOnceListener(event: 'error', listener: (err: Error) => void): this; - prependOnceListener(event: 'finish', listener: () => void): this; - prependOnceListener(event: 'pipe', listener: (src: stream.Readable) => void): this; - prependOnceListener(event: 'unpipe', listener: (src: stream.Readable) => void): this; - prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; - } - - class IncomingMessage extends stream.Readable { - constructor(socket: Socket); - - aborted: boolean; - httpVersion: string; - httpVersionMajor: number; - httpVersionMinor: number; - complete: boolean; - /** - * @deprecated since v13.0.0 - Use `socket` instead. - */ - connection: Socket; - socket: Socket; - headers: IncomingHttpHeaders; - rawHeaders: string[]; - trailers: NodeJS.Dict; - rawTrailers: string[]; - setTimeout(msecs: number, callback?: () => void): this; - /** - * Only valid for request obtained from http.Server. - */ - method?: string; - /** - * Only valid for request obtained from http.Server. - */ - url?: string; - /** - * Only valid for response obtained from http.ClientRequest. - */ - statusCode?: number; - /** - * Only valid for response obtained from http.ClientRequest. - */ - statusMessage?: string; - destroy(error?: Error): void; - } - - interface AgentOptions { - /** - * Keep sockets around in a pool to be used by other requests in the future. Default = false - */ - keepAlive?: boolean; - /** - * When using HTTP KeepAlive, how often to send TCP KeepAlive packets over sockets being kept alive. Default = 1000. - * Only relevant if keepAlive is set to true. - */ - keepAliveMsecs?: number; - /** - * Maximum number of sockets to allow per host. Default for Node 0.10 is 5, default for Node 0.12 is Infinity - */ - maxSockets?: number; - /** - * Maximum number of sockets allowed for all hosts in total. Each request will use a new socket until the maximum is reached. Default: Infinity. - */ - maxTotalSockets?: number; - /** - * Maximum number of sockets to leave open in a free state. Only relevant if keepAlive is set to true. Default = 256. - */ - maxFreeSockets?: number; - /** - * Socket timeout in milliseconds. This will set the timeout after the socket is connected. - */ - timeout?: number; - /** - * Scheduling strategy to apply when picking the next free socket to use. Default: 'fifo'. - */ - scheduling?: 'fifo' | 'lifo'; - } - - class Agent { - maxFreeSockets: number; - maxSockets: number; - maxTotalSockets: number; - readonly freeSockets: NodeJS.ReadOnlyDict; - readonly sockets: NodeJS.ReadOnlyDict; - readonly requests: NodeJS.ReadOnlyDict; - - constructor(opts?: AgentOptions); - - /** - * Destroy any sockets that are currently in use by the agent. - * It is usually not necessary to do this. However, if you are using an agent with KeepAlive enabled, - * then it is best to explicitly shut down the agent when you know that it will no longer be used. Otherwise, - * sockets may hang open for quite a long time before the server terminates them. - */ - destroy(): void; - } - - const METHODS: string[]; - - const STATUS_CODES: { - [errorCode: number]: string | undefined; - [errorCode: string]: string | undefined; - }; - - function createServer(requestListener?: RequestListener): Server; - function createServer(options: ServerOptions, requestListener?: RequestListener): Server; - - // although RequestOptions are passed as ClientRequestArgs to ClientRequest directly, - // create interface RequestOptions would make the naming more clear to developers - interface RequestOptions extends ClientRequestArgs { } - function request(options: RequestOptions | string | URL, callback?: (res: IncomingMessage) => void): ClientRequest; - function request(url: string | URL, options: RequestOptions, callback?: (res: IncomingMessage) => void): ClientRequest; - function get(options: RequestOptions | string | URL, callback?: (res: IncomingMessage) => void): ClientRequest; - function get(url: string | URL, options: RequestOptions, callback?: (res: IncomingMessage) => void): ClientRequest; - let globalAgent: Agent; - - /** - * Read-only property specifying the maximum allowed size of HTTP headers in bytes. - * Defaults to 16KB. Configurable using the [`--max-http-header-size`][] CLI option. - */ - const maxHeaderSize: number; -} diff --git a/node_modules/@types/node/http2.d.ts b/node_modules/@types/node/http2.d.ts deleted file mode 100644 index c95c4f1..0000000 --- a/node_modules/@types/node/http2.d.ts +++ /dev/null @@ -1,953 +0,0 @@ -declare module "http2" { - import * as events from "events"; - import * as fs from "fs"; - import * as net from "net"; - import * as stream from "stream"; - import * as tls from "tls"; - import * as url from "url"; - - import { IncomingHttpHeaders as Http1IncomingHttpHeaders, OutgoingHttpHeaders, IncomingMessage, ServerResponse } from "http"; - export { OutgoingHttpHeaders } from "http"; - - export interface IncomingHttpStatusHeader { - ":status"?: number; - } - - export interface IncomingHttpHeaders extends Http1IncomingHttpHeaders { - ":path"?: string; - ":method"?: string; - ":authority"?: string; - ":scheme"?: string; - } - - // Http2Stream - - export interface StreamPriorityOptions { - exclusive?: boolean; - parent?: number; - weight?: number; - silent?: boolean; - } - - export interface StreamState { - localWindowSize?: number; - state?: number; - localClose?: number; - remoteClose?: number; - sumDependencyWeight?: number; - weight?: number; - } - - export interface ServerStreamResponseOptions { - endStream?: boolean; - waitForTrailers?: boolean; - } - - export interface StatOptions { - offset: number; - length: number; - } - - export interface ServerStreamFileResponseOptions { - statCheck?(stats: fs.Stats, headers: OutgoingHttpHeaders, statOptions: StatOptions): void | boolean; - waitForTrailers?: boolean; - offset?: number; - length?: number; - } - - export interface ServerStreamFileResponseOptionsWithError extends ServerStreamFileResponseOptions { - onError?(err: NodeJS.ErrnoException): void; - } - - export interface Http2Stream extends stream.Duplex { - readonly aborted: boolean; - readonly bufferSize: number; - readonly closed: boolean; - readonly destroyed: boolean; - /** - * Set the true if the END_STREAM flag was set in the request or response HEADERS frame received, - * indicating that no additional data should be received and the readable side of the Http2Stream will be closed. - */ - readonly endAfterHeaders: boolean; - readonly id?: number; - readonly pending: boolean; - readonly rstCode: number; - readonly sentHeaders: OutgoingHttpHeaders; - readonly sentInfoHeaders?: OutgoingHttpHeaders[]; - readonly sentTrailers?: OutgoingHttpHeaders; - readonly session: Http2Session; - readonly state: StreamState; - - close(code?: number, callback?: () => void): void; - priority(options: StreamPriorityOptions): void; - setTimeout(msecs: number, callback?: () => void): void; - sendTrailers(headers: OutgoingHttpHeaders): void; - - addListener(event: "aborted", listener: () => void): this; - addListener(event: "close", listener: () => void): this; - addListener(event: "data", listener: (chunk: Buffer | string) => void): this; - addListener(event: "drain", listener: () => void): this; - addListener(event: "end", listener: () => void): this; - addListener(event: "error", listener: (err: Error) => void): this; - addListener(event: "finish", listener: () => void): this; - addListener(event: "frameError", listener: (frameType: number, errorCode: number) => void): this; - addListener(event: "pipe", listener: (src: stream.Readable) => void): this; - addListener(event: "unpipe", listener: (src: stream.Readable) => void): this; - addListener(event: "streamClosed", listener: (code: number) => void): this; - addListener(event: "timeout", listener: () => void): this; - addListener(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this; - addListener(event: "wantTrailers", listener: () => void): this; - addListener(event: string | symbol, listener: (...args: any[]) => void): this; - - emit(event: "aborted"): boolean; - emit(event: "close"): boolean; - emit(event: "data", chunk: Buffer | string): boolean; - emit(event: "drain"): boolean; - emit(event: "end"): boolean; - emit(event: "error", err: Error): boolean; - emit(event: "finish"): boolean; - emit(event: "frameError", frameType: number, errorCode: number): boolean; - emit(event: "pipe", src: stream.Readable): boolean; - emit(event: "unpipe", src: stream.Readable): boolean; - emit(event: "streamClosed", code: number): boolean; - emit(event: "timeout"): boolean; - emit(event: "trailers", trailers: IncomingHttpHeaders, flags: number): boolean; - emit(event: "wantTrailers"): boolean; - emit(event: string | symbol, ...args: any[]): boolean; - - on(event: "aborted", listener: () => void): this; - on(event: "close", listener: () => void): this; - on(event: "data", listener: (chunk: Buffer | string) => void): this; - on(event: "drain", listener: () => void): this; - on(event: "end", listener: () => void): this; - on(event: "error", listener: (err: Error) => void): this; - on(event: "finish", listener: () => void): this; - on(event: "frameError", listener: (frameType: number, errorCode: number) => void): this; - on(event: "pipe", listener: (src: stream.Readable) => void): this; - on(event: "unpipe", listener: (src: stream.Readable) => void): this; - on(event: "streamClosed", listener: (code: number) => void): this; - on(event: "timeout", listener: () => void): this; - on(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this; - on(event: "wantTrailers", listener: () => void): this; - on(event: string | symbol, listener: (...args: any[]) => void): this; - - once(event: "aborted", listener: () => void): this; - once(event: "close", listener: () => void): this; - once(event: "data", listener: (chunk: Buffer | string) => void): this; - once(event: "drain", listener: () => void): this; - once(event: "end", listener: () => void): this; - once(event: "error", listener: (err: Error) => void): this; - once(event: "finish", listener: () => void): this; - once(event: "frameError", listener: (frameType: number, errorCode: number) => void): this; - once(event: "pipe", listener: (src: stream.Readable) => void): this; - once(event: "unpipe", listener: (src: stream.Readable) => void): this; - once(event: "streamClosed", listener: (code: number) => void): this; - once(event: "timeout", listener: () => void): this; - once(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this; - once(event: "wantTrailers", listener: () => void): this; - once(event: string | symbol, listener: (...args: any[]) => void): this; - - prependListener(event: "aborted", listener: () => void): this; - prependListener(event: "close", listener: () => void): this; - prependListener(event: "data", listener: (chunk: Buffer | string) => void): this; - prependListener(event: "drain", listener: () => void): this; - prependListener(event: "end", listener: () => void): this; - prependListener(event: "error", listener: (err: Error) => void): this; - prependListener(event: "finish", listener: () => void): this; - prependListener(event: "frameError", listener: (frameType: number, errorCode: number) => void): this; - prependListener(event: "pipe", listener: (src: stream.Readable) => void): this; - prependListener(event: "unpipe", listener: (src: stream.Readable) => void): this; - prependListener(event: "streamClosed", listener: (code: number) => void): this; - prependListener(event: "timeout", listener: () => void): this; - prependListener(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this; - prependListener(event: "wantTrailers", listener: () => void): this; - prependListener(event: string | symbol, listener: (...args: any[]) => void): this; - - prependOnceListener(event: "aborted", listener: () => void): this; - prependOnceListener(event: "close", listener: () => void): this; - prependOnceListener(event: "data", listener: (chunk: Buffer | string) => void): this; - prependOnceListener(event: "drain", listener: () => void): this; - prependOnceListener(event: "end", listener: () => void): this; - prependOnceListener(event: "error", listener: (err: Error) => void): this; - prependOnceListener(event: "finish", listener: () => void): this; - prependOnceListener(event: "frameError", listener: (frameType: number, errorCode: number) => void): this; - prependOnceListener(event: "pipe", listener: (src: stream.Readable) => void): this; - prependOnceListener(event: "unpipe", listener: (src: stream.Readable) => void): this; - prependOnceListener(event: "streamClosed", listener: (code: number) => void): this; - prependOnceListener(event: "timeout", listener: () => void): this; - prependOnceListener(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this; - prependOnceListener(event: "wantTrailers", listener: () => void): this; - prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; - } - - export interface ClientHttp2Stream extends Http2Stream { - addListener(event: "continue", listener: () => {}): this; - addListener(event: "headers", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; - addListener(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this; - addListener(event: "response", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; - addListener(event: string | symbol, listener: (...args: any[]) => void): this; - - emit(event: "continue"): boolean; - emit(event: "headers", headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number): boolean; - emit(event: "push", headers: IncomingHttpHeaders, flags: number): boolean; - emit(event: "response", headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number): boolean; - emit(event: string | symbol, ...args: any[]): boolean; - - on(event: "continue", listener: () => {}): this; - on(event: "headers", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; - on(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this; - on(event: "response", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; - on(event: string | symbol, listener: (...args: any[]) => void): this; - - once(event: "continue", listener: () => {}): this; - once(event: "headers", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; - once(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this; - once(event: "response", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; - once(event: string | symbol, listener: (...args: any[]) => void): this; - - prependListener(event: "continue", listener: () => {}): this; - prependListener(event: "headers", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; - prependListener(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this; - prependListener(event: "response", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; - prependListener(event: string | symbol, listener: (...args: any[]) => void): this; - - prependOnceListener(event: "continue", listener: () => {}): this; - prependOnceListener(event: "headers", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; - prependOnceListener(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this; - prependOnceListener(event: "response", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; - prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; - } - - export interface ServerHttp2Stream extends Http2Stream { - readonly headersSent: boolean; - readonly pushAllowed: boolean; - additionalHeaders(headers: OutgoingHttpHeaders): void; - pushStream(headers: OutgoingHttpHeaders, callback?: (err: Error | null, pushStream: ServerHttp2Stream, headers: OutgoingHttpHeaders) => void): void; - pushStream(headers: OutgoingHttpHeaders, options?: StreamPriorityOptions, callback?: (err: Error | null, pushStream: ServerHttp2Stream, headers: OutgoingHttpHeaders) => void): void; - respond(headers?: OutgoingHttpHeaders, options?: ServerStreamResponseOptions): void; - respondWithFD(fd: number | fs.promises.FileHandle, headers?: OutgoingHttpHeaders, options?: ServerStreamFileResponseOptions): void; - respondWithFile(path: string, headers?: OutgoingHttpHeaders, options?: ServerStreamFileResponseOptionsWithError): void; - } - - // Http2Session - - export interface Settings { - headerTableSize?: number; - enablePush?: boolean; - initialWindowSize?: number; - maxFrameSize?: number; - maxConcurrentStreams?: number; - maxHeaderListSize?: number; - enableConnectProtocol?: boolean; - } - - export interface ClientSessionRequestOptions { - endStream?: boolean; - exclusive?: boolean; - parent?: number; - weight?: number; - waitForTrailers?: boolean; - } - - export interface SessionState { - effectiveLocalWindowSize?: number; - effectiveRecvDataLength?: number; - nextStreamID?: number; - localWindowSize?: number; - lastProcStreamID?: number; - remoteWindowSize?: number; - outboundQueueSize?: number; - deflateDynamicTableSize?: number; - inflateDynamicTableSize?: number; - } - - export interface Http2Session extends events.EventEmitter { - readonly alpnProtocol?: string; - readonly closed: boolean; - readonly connecting: boolean; - readonly destroyed: boolean; - readonly encrypted?: boolean; - readonly localSettings: Settings; - readonly originSet?: string[]; - readonly pendingSettingsAck: boolean; - readonly remoteSettings: Settings; - readonly socket: net.Socket | tls.TLSSocket; - readonly state: SessionState; - readonly type: number; - - close(callback?: () => void): void; - destroy(error?: Error, code?: number): void; - goaway(code?: number, lastStreamID?: number, opaqueData?: NodeJS.ArrayBufferView): void; - ping(callback: (err: Error | null, duration: number, payload: Buffer) => void): boolean; - ping(payload: NodeJS.ArrayBufferView, callback: (err: Error | null, duration: number, payload: Buffer) => void): boolean; - ref(): void; - setLocalWindowSize(windowSize: number): void; - setTimeout(msecs: number, callback?: () => void): void; - settings(settings: Settings): void; - unref(): void; - - addListener(event: "close", listener: () => void): this; - addListener(event: "error", listener: (err: Error) => void): this; - addListener(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this; - addListener(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData: Buffer) => void): this; - addListener(event: "localSettings", listener: (settings: Settings) => void): this; - addListener(event: "ping", listener: () => void): this; - addListener(event: "remoteSettings", listener: (settings: Settings) => void): this; - addListener(event: "timeout", listener: () => void): this; - addListener(event: string | symbol, listener: (...args: any[]) => void): this; - - emit(event: "close"): boolean; - emit(event: "error", err: Error): boolean; - emit(event: "frameError", frameType: number, errorCode: number, streamID: number): boolean; - emit(event: "goaway", errorCode: number, lastStreamID: number, opaqueData: Buffer): boolean; - emit(event: "localSettings", settings: Settings): boolean; - emit(event: "ping"): boolean; - emit(event: "remoteSettings", settings: Settings): boolean; - emit(event: "timeout"): boolean; - emit(event: string | symbol, ...args: any[]): boolean; - - on(event: "close", listener: () => void): this; - on(event: "error", listener: (err: Error) => void): this; - on(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this; - on(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData: Buffer) => void): this; - on(event: "localSettings", listener: (settings: Settings) => void): this; - on(event: "ping", listener: () => void): this; - on(event: "remoteSettings", listener: (settings: Settings) => void): this; - on(event: "timeout", listener: () => void): this; - on(event: string | symbol, listener: (...args: any[]) => void): this; - - once(event: "close", listener: () => void): this; - once(event: "error", listener: (err: Error) => void): this; - once(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this; - once(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData: Buffer) => void): this; - once(event: "localSettings", listener: (settings: Settings) => void): this; - once(event: "ping", listener: () => void): this; - once(event: "remoteSettings", listener: (settings: Settings) => void): this; - once(event: "timeout", listener: () => void): this; - once(event: string | symbol, listener: (...args: any[]) => void): this; - - prependListener(event: "close", listener: () => void): this; - prependListener(event: "error", listener: (err: Error) => void): this; - prependListener(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this; - prependListener(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData: Buffer) => void): this; - prependListener(event: "localSettings", listener: (settings: Settings) => void): this; - prependListener(event: "ping", listener: () => void): this; - prependListener(event: "remoteSettings", listener: (settings: Settings) => void): this; - prependListener(event: "timeout", listener: () => void): this; - prependListener(event: string | symbol, listener: (...args: any[]) => void): this; - - prependOnceListener(event: "close", listener: () => void): this; - prependOnceListener(event: "error", listener: (err: Error) => void): this; - prependOnceListener(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this; - prependOnceListener(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData: Buffer) => void): this; - prependOnceListener(event: "localSettings", listener: (settings: Settings) => void): this; - prependOnceListener(event: "ping", listener: () => void): this; - prependOnceListener(event: "remoteSettings", listener: (settings: Settings) => void): this; - prependOnceListener(event: "timeout", listener: () => void): this; - prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; - } - - export interface ClientHttp2Session extends Http2Session { - request(headers?: OutgoingHttpHeaders, options?: ClientSessionRequestOptions): ClientHttp2Stream; - - addListener(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this; - addListener(event: "origin", listener: (origins: string[]) => void): this; - addListener(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; - addListener(event: "stream", listener: (stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; - addListener(event: string | symbol, listener: (...args: any[]) => void): this; - - emit(event: "altsvc", alt: string, origin: string, stream: number): boolean; - emit(event: "origin", origins: ReadonlyArray): boolean; - emit(event: "connect", session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket): boolean; - emit(event: "stream", stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number): boolean; - emit(event: string | symbol, ...args: any[]): boolean; - - on(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this; - on(event: "origin", listener: (origins: string[]) => void): this; - on(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; - on(event: "stream", listener: (stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; - on(event: string | symbol, listener: (...args: any[]) => void): this; - - once(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this; - once(event: "origin", listener: (origins: string[]) => void): this; - once(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; - once(event: "stream", listener: (stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; - once(event: string | symbol, listener: (...args: any[]) => void): this; - - prependListener(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this; - prependListener(event: "origin", listener: (origins: string[]) => void): this; - prependListener(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; - prependListener(event: "stream", listener: (stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; - prependListener(event: string | symbol, listener: (...args: any[]) => void): this; - - prependOnceListener(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this; - prependOnceListener(event: "origin", listener: (origins: string[]) => void): this; - prependOnceListener(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; - prependOnceListener(event: "stream", listener: (stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; - prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; - } - - export interface AlternativeServiceOptions { - origin: number | string | url.URL; - } - - export interface ServerHttp2Session extends Http2Session { - readonly server: Http2Server | Http2SecureServer; - - altsvc(alt: string, originOrStream: number | string | url.URL | AlternativeServiceOptions): void; - origin(...args: Array): void; - - addListener(event: "connect", listener: (session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; - addListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; - addListener(event: string | symbol, listener: (...args: any[]) => void): this; - - emit(event: "connect", session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket): boolean; - emit(event: "stream", stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number): boolean; - emit(event: string | symbol, ...args: any[]): boolean; - - on(event: "connect", listener: (session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; - on(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; - on(event: string | symbol, listener: (...args: any[]) => void): this; - - once(event: "connect", listener: (session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; - once(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; - once(event: string | symbol, listener: (...args: any[]) => void): this; - - prependListener(event: "connect", listener: (session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; - prependListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; - prependListener(event: string | symbol, listener: (...args: any[]) => void): this; - - prependOnceListener(event: "connect", listener: (session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; - prependOnceListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; - prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; - } - - // Http2Server - - export interface SessionOptions { - maxDeflateDynamicTableSize?: number; - maxSessionMemory?: number; - maxHeaderListPairs?: number; - maxOutstandingPings?: number; - maxSendHeaderBlockLength?: number; - paddingStrategy?: number; - peerMaxConcurrentStreams?: number; - settings?: Settings; - - selectPadding?(frameLen: number, maxFrameLen: number): number; - createConnection?(authority: url.URL, option: SessionOptions): stream.Duplex; - } - - export interface ClientSessionOptions extends SessionOptions { - maxReservedRemoteStreams?: number; - createConnection?: (authority: url.URL, option: SessionOptions) => stream.Duplex; - protocol?: 'http:' | 'https:'; - } - - export interface ServerSessionOptions extends SessionOptions { - Http1IncomingMessage?: typeof IncomingMessage; - Http1ServerResponse?: typeof ServerResponse; - Http2ServerRequest?: typeof Http2ServerRequest; - Http2ServerResponse?: typeof Http2ServerResponse; - } - - export interface SecureClientSessionOptions extends ClientSessionOptions, tls.ConnectionOptions { } - export interface SecureServerSessionOptions extends ServerSessionOptions, tls.TlsOptions { } - - export interface ServerOptions extends ServerSessionOptions { } - - export interface SecureServerOptions extends SecureServerSessionOptions { - allowHTTP1?: boolean; - origins?: string[]; - } - - export interface Http2Server extends net.Server { - addListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; - addListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; - addListener(event: "session", listener: (session: ServerHttp2Session) => void): this; - addListener(event: "sessionError", listener: (err: Error) => void): this; - addListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; - addListener(event: "timeout", listener: () => void): this; - addListener(event: string | symbol, listener: (...args: any[]) => void): this; - - emit(event: "checkContinue", request: Http2ServerRequest, response: Http2ServerResponse): boolean; - emit(event: "request", request: Http2ServerRequest, response: Http2ServerResponse): boolean; - emit(event: "session", session: ServerHttp2Session): boolean; - emit(event: "sessionError", err: Error): boolean; - emit(event: "stream", stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number): boolean; - emit(event: "timeout"): boolean; - emit(event: string | symbol, ...args: any[]): boolean; - - on(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; - on(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; - on(event: "session", listener: (session: ServerHttp2Session) => void): this; - on(event: "sessionError", listener: (err: Error) => void): this; - on(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; - on(event: "timeout", listener: () => void): this; - on(event: string | symbol, listener: (...args: any[]) => void): this; - - once(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; - once(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; - once(event: "session", listener: (session: ServerHttp2Session) => void): this; - once(event: "sessionError", listener: (err: Error) => void): this; - once(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; - once(event: "timeout", listener: () => void): this; - once(event: string | symbol, listener: (...args: any[]) => void): this; - - prependListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; - prependListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; - prependListener(event: "session", listener: (session: ServerHttp2Session) => void): this; - prependListener(event: "sessionError", listener: (err: Error) => void): this; - prependListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; - prependListener(event: "timeout", listener: () => void): this; - prependListener(event: string | symbol, listener: (...args: any[]) => void): this; - - prependOnceListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; - prependOnceListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; - prependOnceListener(event: "session", listener: (session: ServerHttp2Session) => void): this; - prependOnceListener(event: "sessionError", listener: (err: Error) => void): this; - prependOnceListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; - prependOnceListener(event: "timeout", listener: () => void): this; - prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; - - setTimeout(msec?: number, callback?: () => void): this; - } - - export interface Http2SecureServer extends tls.Server { - addListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; - addListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; - addListener(event: "session", listener: (session: ServerHttp2Session) => void): this; - addListener(event: "sessionError", listener: (err: Error) => void): this; - addListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; - addListener(event: "timeout", listener: () => void): this; - addListener(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this; - addListener(event: string | symbol, listener: (...args: any[]) => void): this; - - emit(event: "checkContinue", request: Http2ServerRequest, response: Http2ServerResponse): boolean; - emit(event: "request", request: Http2ServerRequest, response: Http2ServerResponse): boolean; - emit(event: "session", session: ServerHttp2Session): boolean; - emit(event: "sessionError", err: Error): boolean; - emit(event: "stream", stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number): boolean; - emit(event: "timeout"): boolean; - emit(event: "unknownProtocol", socket: tls.TLSSocket): boolean; - emit(event: string | symbol, ...args: any[]): boolean; - - on(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; - on(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; - on(event: "session", listener: (session: ServerHttp2Session) => void): this; - on(event: "sessionError", listener: (err: Error) => void): this; - on(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; - on(event: "timeout", listener: () => void): this; - on(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this; - on(event: string | symbol, listener: (...args: any[]) => void): this; - - once(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; - once(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; - once(event: "session", listener: (session: ServerHttp2Session) => void): this; - once(event: "sessionError", listener: (err: Error) => void): this; - once(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; - once(event: "timeout", listener: () => void): this; - once(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this; - once(event: string | symbol, listener: (...args: any[]) => void): this; - - prependListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; - prependListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; - prependListener(event: "session", listener: (session: ServerHttp2Session) => void): this; - prependListener(event: "sessionError", listener: (err: Error) => void): this; - prependListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; - prependListener(event: "timeout", listener: () => void): this; - prependListener(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this; - prependListener(event: string | symbol, listener: (...args: any[]) => void): this; - - prependOnceListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; - prependOnceListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; - prependOnceListener(event: "session", listener: (session: ServerHttp2Session) => void): this; - prependOnceListener(event: "sessionError", listener: (err: Error) => void): this; - prependOnceListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; - prependOnceListener(event: "timeout", listener: () => void): this; - prependOnceListener(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this; - prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; - - setTimeout(msec?: number, callback?: () => void): this; - } - - export class Http2ServerRequest extends stream.Readable { - constructor(stream: ServerHttp2Stream, headers: IncomingHttpHeaders, options: stream.ReadableOptions, rawHeaders: ReadonlyArray); - - readonly aborted: boolean; - readonly authority: string; - readonly connection: net.Socket | tls.TLSSocket; - readonly complete: boolean; - readonly headers: IncomingHttpHeaders; - readonly httpVersion: string; - readonly httpVersionMinor: number; - readonly httpVersionMajor: number; - readonly method: string; - readonly rawHeaders: string[]; - readonly rawTrailers: string[]; - readonly scheme: string; - readonly socket: net.Socket | tls.TLSSocket; - readonly stream: ServerHttp2Stream; - readonly trailers: IncomingHttpHeaders; - readonly url: string; - - setTimeout(msecs: number, callback?: () => void): void; - read(size?: number): Buffer | string | null; - - addListener(event: "aborted", listener: (hadError: boolean, code: number) => void): this; - addListener(event: "close", listener: () => void): this; - addListener(event: "data", listener: (chunk: Buffer | string) => void): this; - addListener(event: "end", listener: () => void): this; - addListener(event: "readable", listener: () => void): this; - addListener(event: "error", listener: (err: Error) => void): this; - addListener(event: string | symbol, listener: (...args: any[]) => void): this; - - emit(event: "aborted", hadError: boolean, code: number): boolean; - emit(event: "close"): boolean; - emit(event: "data", chunk: Buffer | string): boolean; - emit(event: "end"): boolean; - emit(event: "readable"): boolean; - emit(event: "error", err: Error): boolean; - emit(event: string | symbol, ...args: any[]): boolean; - - on(event: "aborted", listener: (hadError: boolean, code: number) => void): this; - on(event: "close", listener: () => void): this; - on(event: "data", listener: (chunk: Buffer | string) => void): this; - on(event: "end", listener: () => void): this; - on(event: "readable", listener: () => void): this; - on(event: "error", listener: (err: Error) => void): this; - on(event: string | symbol, listener: (...args: any[]) => void): this; - - once(event: "aborted", listener: (hadError: boolean, code: number) => void): this; - once(event: "close", listener: () => void): this; - once(event: "data", listener: (chunk: Buffer | string) => void): this; - once(event: "end", listener: () => void): this; - once(event: "readable", listener: () => void): this; - once(event: "error", listener: (err: Error) => void): this; - once(event: string | symbol, listener: (...args: any[]) => void): this; - - prependListener(event: "aborted", listener: (hadError: boolean, code: number) => void): this; - prependListener(event: "close", listener: () => void): this; - prependListener(event: "data", listener: (chunk: Buffer | string) => void): this; - prependListener(event: "end", listener: () => void): this; - prependListener(event: "readable", listener: () => void): this; - prependListener(event: "error", listener: (err: Error) => void): this; - prependListener(event: string | symbol, listener: (...args: any[]) => void): this; - - prependOnceListener(event: "aborted", listener: (hadError: boolean, code: number) => void): this; - prependOnceListener(event: "close", listener: () => void): this; - prependOnceListener(event: "data", listener: (chunk: Buffer | string) => void): this; - prependOnceListener(event: "end", listener: () => void): this; - prependOnceListener(event: "readable", listener: () => void): this; - prependOnceListener(event: "error", listener: (err: Error) => void): this; - prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; - } - - export class Http2ServerResponse extends stream.Stream { - constructor(stream: ServerHttp2Stream); - - readonly connection: net.Socket | tls.TLSSocket; - readonly finished: boolean; - readonly headersSent: boolean; - readonly socket: net.Socket | tls.TLSSocket; - readonly stream: ServerHttp2Stream; - sendDate: boolean; - statusCode: number; - statusMessage: ''; - addTrailers(trailers: OutgoingHttpHeaders): void; - end(callback?: () => void): void; - end(data: string | Uint8Array, callback?: () => void): void; - end(data: string | Uint8Array, encoding: BufferEncoding, callback?: () => void): void; - getHeader(name: string): string; - getHeaderNames(): string[]; - getHeaders(): OutgoingHttpHeaders; - hasHeader(name: string): boolean; - removeHeader(name: string): void; - setHeader(name: string, value: number | string | ReadonlyArray): void; - setTimeout(msecs: number, callback?: () => void): void; - write(chunk: string | Uint8Array, callback?: (err: Error) => void): boolean; - write(chunk: string | Uint8Array, encoding: BufferEncoding, callback?: (err: Error) => void): boolean; - writeContinue(): void; - writeHead(statusCode: number, headers?: OutgoingHttpHeaders): this; - writeHead(statusCode: number, statusMessage: string, headers?: OutgoingHttpHeaders): this; - createPushResponse(headers: OutgoingHttpHeaders, callback: (err: Error | null, res: Http2ServerResponse) => void): void; - - addListener(event: "close", listener: () => void): this; - addListener(event: "drain", listener: () => void): this; - addListener(event: "error", listener: (error: Error) => void): this; - addListener(event: "finish", listener: () => void): this; - addListener(event: "pipe", listener: (src: stream.Readable) => void): this; - addListener(event: "unpipe", listener: (src: stream.Readable) => void): this; - addListener(event: string | symbol, listener: (...args: any[]) => void): this; - - emit(event: "close"): boolean; - emit(event: "drain"): boolean; - emit(event: "error", error: Error): boolean; - emit(event: "finish"): boolean; - emit(event: "pipe", src: stream.Readable): boolean; - emit(event: "unpipe", src: stream.Readable): boolean; - emit(event: string | symbol, ...args: any[]): boolean; - - on(event: "close", listener: () => void): this; - on(event: "drain", listener: () => void): this; - on(event: "error", listener: (error: Error) => void): this; - on(event: "finish", listener: () => void): this; - on(event: "pipe", listener: (src: stream.Readable) => void): this; - on(event: "unpipe", listener: (src: stream.Readable) => void): this; - on(event: string | symbol, listener: (...args: any[]) => void): this; - - once(event: "close", listener: () => void): this; - once(event: "drain", listener: () => void): this; - once(event: "error", listener: (error: Error) => void): this; - once(event: "finish", listener: () => void): this; - once(event: "pipe", listener: (src: stream.Readable) => void): this; - once(event: "unpipe", listener: (src: stream.Readable) => void): this; - once(event: string | symbol, listener: (...args: any[]) => void): this; - - prependListener(event: "close", listener: () => void): this; - prependListener(event: "drain", listener: () => void): this; - prependListener(event: "error", listener: (error: Error) => void): this; - prependListener(event: "finish", listener: () => void): this; - prependListener(event: "pipe", listener: (src: stream.Readable) => void): this; - prependListener(event: "unpipe", listener: (src: stream.Readable) => void): this; - prependListener(event: string | symbol, listener: (...args: any[]) => void): this; - - prependOnceListener(event: "close", listener: () => void): this; - prependOnceListener(event: "drain", listener: () => void): this; - prependOnceListener(event: "error", listener: (error: Error) => void): this; - prependOnceListener(event: "finish", listener: () => void): this; - prependOnceListener(event: "pipe", listener: (src: stream.Readable) => void): this; - prependOnceListener(event: "unpipe", listener: (src: stream.Readable) => void): this; - prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; - } - - // Public API - - export namespace constants { - const NGHTTP2_SESSION_SERVER: number; - const NGHTTP2_SESSION_CLIENT: number; - const NGHTTP2_STREAM_STATE_IDLE: number; - const NGHTTP2_STREAM_STATE_OPEN: number; - const NGHTTP2_STREAM_STATE_RESERVED_LOCAL: number; - const NGHTTP2_STREAM_STATE_RESERVED_REMOTE: number; - const NGHTTP2_STREAM_STATE_HALF_CLOSED_LOCAL: number; - const NGHTTP2_STREAM_STATE_HALF_CLOSED_REMOTE: number; - const NGHTTP2_STREAM_STATE_CLOSED: number; - const NGHTTP2_NO_ERROR: number; - const NGHTTP2_PROTOCOL_ERROR: number; - const NGHTTP2_INTERNAL_ERROR: number; - const NGHTTP2_FLOW_CONTROL_ERROR: number; - const NGHTTP2_SETTINGS_TIMEOUT: number; - const NGHTTP2_STREAM_CLOSED: number; - const NGHTTP2_FRAME_SIZE_ERROR: number; - const NGHTTP2_REFUSED_STREAM: number; - const NGHTTP2_CANCEL: number; - const NGHTTP2_COMPRESSION_ERROR: number; - const NGHTTP2_CONNECT_ERROR: number; - const NGHTTP2_ENHANCE_YOUR_CALM: number; - const NGHTTP2_INADEQUATE_SECURITY: number; - const NGHTTP2_HTTP_1_1_REQUIRED: number; - const NGHTTP2_ERR_FRAME_SIZE_ERROR: number; - const NGHTTP2_FLAG_NONE: number; - const NGHTTP2_FLAG_END_STREAM: number; - const NGHTTP2_FLAG_END_HEADERS: number; - const NGHTTP2_FLAG_ACK: number; - const NGHTTP2_FLAG_PADDED: number; - const NGHTTP2_FLAG_PRIORITY: number; - const DEFAULT_SETTINGS_HEADER_TABLE_SIZE: number; - const DEFAULT_SETTINGS_ENABLE_PUSH: number; - const DEFAULT_SETTINGS_INITIAL_WINDOW_SIZE: number; - const DEFAULT_SETTINGS_MAX_FRAME_SIZE: number; - const MAX_MAX_FRAME_SIZE: number; - const MIN_MAX_FRAME_SIZE: number; - const MAX_INITIAL_WINDOW_SIZE: number; - const NGHTTP2_DEFAULT_WEIGHT: number; - const NGHTTP2_SETTINGS_HEADER_TABLE_SIZE: number; - const NGHTTP2_SETTINGS_ENABLE_PUSH: number; - const NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS: number; - const NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE: number; - const NGHTTP2_SETTINGS_MAX_FRAME_SIZE: number; - const NGHTTP2_SETTINGS_MAX_HEADER_LIST_SIZE: number; - const PADDING_STRATEGY_NONE: number; - const PADDING_STRATEGY_MAX: number; - const PADDING_STRATEGY_CALLBACK: number; - const HTTP2_HEADER_STATUS: string; - const HTTP2_HEADER_METHOD: string; - const HTTP2_HEADER_AUTHORITY: string; - const HTTP2_HEADER_SCHEME: string; - const HTTP2_HEADER_PATH: string; - const HTTP2_HEADER_ACCEPT_CHARSET: string; - const HTTP2_HEADER_ACCEPT_ENCODING: string; - const HTTP2_HEADER_ACCEPT_LANGUAGE: string; - const HTTP2_HEADER_ACCEPT_RANGES: string; - const HTTP2_HEADER_ACCEPT: string; - const HTTP2_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN: string; - const HTTP2_HEADER_AGE: string; - const HTTP2_HEADER_ALLOW: string; - const HTTP2_HEADER_AUTHORIZATION: string; - const HTTP2_HEADER_CACHE_CONTROL: string; - const HTTP2_HEADER_CONNECTION: string; - const HTTP2_HEADER_CONTENT_DISPOSITION: string; - const HTTP2_HEADER_CONTENT_ENCODING: string; - const HTTP2_HEADER_CONTENT_LANGUAGE: string; - const HTTP2_HEADER_CONTENT_LENGTH: string; - const HTTP2_HEADER_CONTENT_LOCATION: string; - const HTTP2_HEADER_CONTENT_MD5: string; - const HTTP2_HEADER_CONTENT_RANGE: string; - const HTTP2_HEADER_CONTENT_TYPE: string; - const HTTP2_HEADER_COOKIE: string; - const HTTP2_HEADER_DATE: string; - const HTTP2_HEADER_ETAG: string; - const HTTP2_HEADER_EXPECT: string; - const HTTP2_HEADER_EXPIRES: string; - const HTTP2_HEADER_FROM: string; - const HTTP2_HEADER_HOST: string; - const HTTP2_HEADER_IF_MATCH: string; - const HTTP2_HEADER_IF_MODIFIED_SINCE: string; - const HTTP2_HEADER_IF_NONE_MATCH: string; - const HTTP2_HEADER_IF_RANGE: string; - const HTTP2_HEADER_IF_UNMODIFIED_SINCE: string; - const HTTP2_HEADER_LAST_MODIFIED: string; - const HTTP2_HEADER_LINK: string; - const HTTP2_HEADER_LOCATION: string; - const HTTP2_HEADER_MAX_FORWARDS: string; - const HTTP2_HEADER_PREFER: string; - const HTTP2_HEADER_PROXY_AUTHENTICATE: string; - const HTTP2_HEADER_PROXY_AUTHORIZATION: string; - const HTTP2_HEADER_RANGE: string; - const HTTP2_HEADER_REFERER: string; - const HTTP2_HEADER_REFRESH: string; - const HTTP2_HEADER_RETRY_AFTER: string; - const HTTP2_HEADER_SERVER: string; - const HTTP2_HEADER_SET_COOKIE: string; - const HTTP2_HEADER_STRICT_TRANSPORT_SECURITY: string; - const HTTP2_HEADER_TRANSFER_ENCODING: string; - const HTTP2_HEADER_TE: string; - const HTTP2_HEADER_UPGRADE: string; - const HTTP2_HEADER_USER_AGENT: string; - const HTTP2_HEADER_VARY: string; - const HTTP2_HEADER_VIA: string; - const HTTP2_HEADER_WWW_AUTHENTICATE: string; - const HTTP2_HEADER_HTTP2_SETTINGS: string; - const HTTP2_HEADER_KEEP_ALIVE: string; - const HTTP2_HEADER_PROXY_CONNECTION: string; - const HTTP2_METHOD_ACL: string; - const HTTP2_METHOD_BASELINE_CONTROL: string; - const HTTP2_METHOD_BIND: string; - const HTTP2_METHOD_CHECKIN: string; - const HTTP2_METHOD_CHECKOUT: string; - const HTTP2_METHOD_CONNECT: string; - const HTTP2_METHOD_COPY: string; - const HTTP2_METHOD_DELETE: string; - const HTTP2_METHOD_GET: string; - const HTTP2_METHOD_HEAD: string; - const HTTP2_METHOD_LABEL: string; - const HTTP2_METHOD_LINK: string; - const HTTP2_METHOD_LOCK: string; - const HTTP2_METHOD_MERGE: string; - const HTTP2_METHOD_MKACTIVITY: string; - const HTTP2_METHOD_MKCALENDAR: string; - const HTTP2_METHOD_MKCOL: string; - const HTTP2_METHOD_MKREDIRECTREF: string; - const HTTP2_METHOD_MKWORKSPACE: string; - const HTTP2_METHOD_MOVE: string; - const HTTP2_METHOD_OPTIONS: string; - const HTTP2_METHOD_ORDERPATCH: string; - const HTTP2_METHOD_PATCH: string; - const HTTP2_METHOD_POST: string; - const HTTP2_METHOD_PRI: string; - const HTTP2_METHOD_PROPFIND: string; - const HTTP2_METHOD_PROPPATCH: string; - const HTTP2_METHOD_PUT: string; - const HTTP2_METHOD_REBIND: string; - const HTTP2_METHOD_REPORT: string; - const HTTP2_METHOD_SEARCH: string; - const HTTP2_METHOD_TRACE: string; - const HTTP2_METHOD_UNBIND: string; - const HTTP2_METHOD_UNCHECKOUT: string; - const HTTP2_METHOD_UNLINK: string; - const HTTP2_METHOD_UNLOCK: string; - const HTTP2_METHOD_UPDATE: string; - const HTTP2_METHOD_UPDATEREDIRECTREF: string; - const HTTP2_METHOD_VERSION_CONTROL: string; - const HTTP_STATUS_CONTINUE: number; - const HTTP_STATUS_SWITCHING_PROTOCOLS: number; - const HTTP_STATUS_PROCESSING: number; - const HTTP_STATUS_OK: number; - const HTTP_STATUS_CREATED: number; - const HTTP_STATUS_ACCEPTED: number; - const HTTP_STATUS_NON_AUTHORITATIVE_INFORMATION: number; - const HTTP_STATUS_NO_CONTENT: number; - const HTTP_STATUS_RESET_CONTENT: number; - const HTTP_STATUS_PARTIAL_CONTENT: number; - const HTTP_STATUS_MULTI_STATUS: number; - const HTTP_STATUS_ALREADY_REPORTED: number; - const HTTP_STATUS_IM_USED: number; - const HTTP_STATUS_MULTIPLE_CHOICES: number; - const HTTP_STATUS_MOVED_PERMANENTLY: number; - const HTTP_STATUS_FOUND: number; - const HTTP_STATUS_SEE_OTHER: number; - const HTTP_STATUS_NOT_MODIFIED: number; - const HTTP_STATUS_USE_PROXY: number; - const HTTP_STATUS_TEMPORARY_REDIRECT: number; - const HTTP_STATUS_PERMANENT_REDIRECT: number; - const HTTP_STATUS_BAD_REQUEST: number; - const HTTP_STATUS_UNAUTHORIZED: number; - const HTTP_STATUS_PAYMENT_REQUIRED: number; - const HTTP_STATUS_FORBIDDEN: number; - const HTTP_STATUS_NOT_FOUND: number; - const HTTP_STATUS_METHOD_NOT_ALLOWED: number; - const HTTP_STATUS_NOT_ACCEPTABLE: number; - const HTTP_STATUS_PROXY_AUTHENTICATION_REQUIRED: number; - const HTTP_STATUS_REQUEST_TIMEOUT: number; - const HTTP_STATUS_CONFLICT: number; - const HTTP_STATUS_GONE: number; - const HTTP_STATUS_LENGTH_REQUIRED: number; - const HTTP_STATUS_PRECONDITION_FAILED: number; - const HTTP_STATUS_PAYLOAD_TOO_LARGE: number; - const HTTP_STATUS_URI_TOO_LONG: number; - const HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE: number; - const HTTP_STATUS_RANGE_NOT_SATISFIABLE: number; - const HTTP_STATUS_EXPECTATION_FAILED: number; - const HTTP_STATUS_TEAPOT: number; - const HTTP_STATUS_MISDIRECTED_REQUEST: number; - const HTTP_STATUS_UNPROCESSABLE_ENTITY: number; - const HTTP_STATUS_LOCKED: number; - const HTTP_STATUS_FAILED_DEPENDENCY: number; - const HTTP_STATUS_UNORDERED_COLLECTION: number; - const HTTP_STATUS_UPGRADE_REQUIRED: number; - const HTTP_STATUS_PRECONDITION_REQUIRED: number; - const HTTP_STATUS_TOO_MANY_REQUESTS: number; - const HTTP_STATUS_REQUEST_HEADER_FIELDS_TOO_LARGE: number; - const HTTP_STATUS_UNAVAILABLE_FOR_LEGAL_REASONS: number; - const HTTP_STATUS_INTERNAL_SERVER_ERROR: number; - const HTTP_STATUS_NOT_IMPLEMENTED: number; - const HTTP_STATUS_BAD_GATEWAY: number; - const HTTP_STATUS_SERVICE_UNAVAILABLE: number; - const HTTP_STATUS_GATEWAY_TIMEOUT: number; - const HTTP_STATUS_HTTP_VERSION_NOT_SUPPORTED: number; - const HTTP_STATUS_VARIANT_ALSO_NEGOTIATES: number; - const HTTP_STATUS_INSUFFICIENT_STORAGE: number; - const HTTP_STATUS_LOOP_DETECTED: number; - const HTTP_STATUS_BANDWIDTH_LIMIT_EXCEEDED: number; - const HTTP_STATUS_NOT_EXTENDED: number; - const HTTP_STATUS_NETWORK_AUTHENTICATION_REQUIRED: number; - } - - export function getDefaultSettings(): Settings; - export function getPackedSettings(settings: Settings): Buffer; - export function getUnpackedSettings(buf: Uint8Array): Settings; - - export function createServer(onRequestHandler?: (request: Http2ServerRequest, response: Http2ServerResponse) => void): Http2Server; - export function createServer(options: ServerOptions, onRequestHandler?: (request: Http2ServerRequest, response: Http2ServerResponse) => void): Http2Server; - - export function createSecureServer(onRequestHandler?: (request: Http2ServerRequest, response: Http2ServerResponse) => void): Http2SecureServer; - export function createSecureServer(options: SecureServerOptions, onRequestHandler?: (request: Http2ServerRequest, response: Http2ServerResponse) => void): Http2SecureServer; - - export function connect(authority: string | url.URL, listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): ClientHttp2Session; - export function connect( - authority: string | url.URL, - options?: ClientSessionOptions | SecureClientSessionOptions, - listener?: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void - ): ClientHttp2Session; -} diff --git a/node_modules/@types/node/https.d.ts b/node_modules/@types/node/https.d.ts deleted file mode 100644 index 24326c9..0000000 --- a/node_modules/@types/node/https.d.ts +++ /dev/null @@ -1,37 +0,0 @@ -declare module "https" { - import * as tls from "tls"; - import * as events from "events"; - import * as http from "http"; - import { URL } from "url"; - - type ServerOptions = tls.SecureContextOptions & tls.TlsOptions & http.ServerOptions; - - type RequestOptions = http.RequestOptions & tls.SecureContextOptions & { - rejectUnauthorized?: boolean; // Defaults to true - servername?: string; // SNI TLS Extension - }; - - interface AgentOptions extends http.AgentOptions, tls.ConnectionOptions { - rejectUnauthorized?: boolean; - maxCachedSessions?: number; - } - - class Agent extends http.Agent { - constructor(options?: AgentOptions); - options: AgentOptions; - } - - interface Server extends http.HttpBase {} - class Server extends tls.Server { - constructor(requestListener?: http.RequestListener); - constructor(options: ServerOptions, requestListener?: http.RequestListener); - } - - function createServer(requestListener?: http.RequestListener): Server; - function createServer(options: ServerOptions, requestListener?: http.RequestListener): Server; - function request(options: RequestOptions | string | URL, callback?: (res: http.IncomingMessage) => void): http.ClientRequest; - function request(url: string | URL, options: RequestOptions, callback?: (res: http.IncomingMessage) => void): http.ClientRequest; - function get(options: RequestOptions | string | URL, callback?: (res: http.IncomingMessage) => void): http.ClientRequest; - function get(url: string | URL, options: RequestOptions, callback?: (res: http.IncomingMessage) => void): http.ClientRequest; - let globalAgent: Agent; -} diff --git a/node_modules/@types/node/index.d.ts b/node_modules/@types/node/index.d.ts deleted file mode 100644 index 0021e58..0000000 --- a/node_modules/@types/node/index.d.ts +++ /dev/null @@ -1,62 +0,0 @@ -// Type definitions for non-npm package Node.js 14.14 -// Project: http://nodejs.org/ -// Definitions by: Microsoft TypeScript -// DefinitelyTyped -// Alberto Schiabel -// Alexander T. -// Alvis HT Tang -// Andrew Makarov -// Benjamin Toueg -// Bruno Scheufler -// Chigozirim C. -// David Junger -// Deividas Bakanas -// Eugene Y. Q. Shen -// Flarna -// Hannes Magnusson -// Hoàng Văn Khải -// Huw -// Kelvin Jin -// Klaus Meinhardt -// Lishude -// Mariusz Wiktorczyk -// Mohsen Azimi -// Nicolas Even -// Nikita Galkin -// Parambir Singh -// Sebastian Silbermann -// Simon Schick -// Thomas den Hollander -// Wilco Bakker -// wwwy3y3 -// Samuel Ainsworth -// Kyle Uehlein -// Jordi Oliveras Rovira -// Thanik Bhongbhibhat -// Marcin Kopacz -// Trivikram Kamat -// Minh Son Nguyen -// Junxiao Shi -// Ilia Baryshnikov -// ExE Boss -// Surasak Chaisurin -// Piotr Błażejewicz -// Anna Henningsen -// Jason Kwok -// Victor Perin -// Yongsheng Zhang -// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped - -// NOTE: These definitions support NodeJS and TypeScript 3.7. -// Typically type modifications should be made in base.d.ts instead of here - -/// - -// NOTE: TypeScript version-specific augmentations can be found in the following paths: -// - ~/base.d.ts - Shared definitions common to all TypeScript versions -// - ~/index.d.ts - Definitions specific to TypeScript 2.8 -// - ~/ts3.5/index.d.ts - Definitions specific to TypeScript 3.5 - -// NOTE: Augmentations for TypeScript 3.5 and later should use individual files for overrides -// within the respective ~/ts3.5 (or later) folder. However, this is disallowed for versions -// prior to TypeScript 3.5, so the older definitions will be found here. diff --git a/node_modules/@types/node/inspector.d.ts b/node_modules/@types/node/inspector.d.ts deleted file mode 100644 index 1c57734..0000000 --- a/node_modules/@types/node/inspector.d.ts +++ /dev/null @@ -1,3041 +0,0 @@ -// tslint:disable-next-line:dt-header -// Type definitions for inspector - -// These definitions are auto-generated. -// Please see https://github.com/DefinitelyTyped/DefinitelyTyped/pull/19330 -// for more information. - -// tslint:disable:max-line-length - -/** - * The inspector module provides an API for interacting with the V8 inspector. - */ -declare module "inspector" { - import { EventEmitter } from 'events'; - - interface InspectorNotification { - method: string; - params: T; - } - - namespace Schema { - /** - * Description of the protocol domain. - */ - interface Domain { - /** - * Domain name. - */ - name: string; - /** - * Domain version. - */ - version: string; - } - - interface GetDomainsReturnType { - /** - * List of supported domains. - */ - domains: Domain[]; - } - } - - namespace Runtime { - /** - * Unique script identifier. - */ - type ScriptId = string; - - /** - * Unique object identifier. - */ - type RemoteObjectId = string; - - /** - * Primitive value which cannot be JSON-stringified. - */ - type UnserializableValue = string; - - /** - * Mirror object referencing original JavaScript object. - */ - interface RemoteObject { - /** - * Object type. - */ - type: string; - /** - * Object subtype hint. Specified for object type values only. - */ - subtype?: string; - /** - * Object class (constructor) name. Specified for object type values only. - */ - className?: string; - /** - * Remote object value in case of primitive values or JSON values (if it was requested). - */ - value?: any; - /** - * Primitive value which can not be JSON-stringified does not have value, but gets this property. - */ - unserializableValue?: UnserializableValue; - /** - * String representation of the object. - */ - description?: string; - /** - * Unique object identifier (for non-primitive values). - */ - objectId?: RemoteObjectId; - /** - * Preview containing abbreviated property values. Specified for object type values only. - * @experimental - */ - preview?: ObjectPreview; - /** - * @experimental - */ - customPreview?: CustomPreview; - } - - /** - * @experimental - */ - interface CustomPreview { - header: string; - hasBody: boolean; - formatterObjectId: RemoteObjectId; - bindRemoteObjectFunctionId: RemoteObjectId; - configObjectId?: RemoteObjectId; - } - - /** - * Object containing abbreviated remote object value. - * @experimental - */ - interface ObjectPreview { - /** - * Object type. - */ - type: string; - /** - * Object subtype hint. Specified for object type values only. - */ - subtype?: string; - /** - * String representation of the object. - */ - description?: string; - /** - * True iff some of the properties or entries of the original object did not fit. - */ - overflow: boolean; - /** - * List of the properties. - */ - properties: PropertyPreview[]; - /** - * List of the entries. Specified for map and set subtype values only. - */ - entries?: EntryPreview[]; - } - - /** - * @experimental - */ - interface PropertyPreview { - /** - * Property name. - */ - name: string; - /** - * Object type. Accessor means that the property itself is an accessor property. - */ - type: string; - /** - * User-friendly property value string. - */ - value?: string; - /** - * Nested value preview. - */ - valuePreview?: ObjectPreview; - /** - * Object subtype hint. Specified for object type values only. - */ - subtype?: string; - } - - /** - * @experimental - */ - interface EntryPreview { - /** - * Preview of the key. Specified for map-like collection entries. - */ - key?: ObjectPreview; - /** - * Preview of the value. - */ - value: ObjectPreview; - } - - /** - * Object property descriptor. - */ - interface PropertyDescriptor { - /** - * Property name or symbol description. - */ - name: string; - /** - * The value associated with the property. - */ - value?: RemoteObject; - /** - * True if the value associated with the property may be changed (data descriptors only). - */ - writable?: boolean; - /** - * A function which serves as a getter for the property, or undefined if there is no getter (accessor descriptors only). - */ - get?: RemoteObject; - /** - * A function which serves as a setter for the property, or undefined if there is no setter (accessor descriptors only). - */ - set?: RemoteObject; - /** - * True if the type of this property descriptor may be changed and if the property may be deleted from the corresponding object. - */ - configurable: boolean; - /** - * True if this property shows up during enumeration of the properties on the corresponding object. - */ - enumerable: boolean; - /** - * True if the result was thrown during the evaluation. - */ - wasThrown?: boolean; - /** - * True if the property is owned for the object. - */ - isOwn?: boolean; - /** - * Property symbol object, if the property is of the symbol type. - */ - symbol?: RemoteObject; - } - - /** - * Object internal property descriptor. This property isn't normally visible in JavaScript code. - */ - interface InternalPropertyDescriptor { - /** - * Conventional property name. - */ - name: string; - /** - * The value associated with the property. - */ - value?: RemoteObject; - } - - /** - * Represents function call argument. Either remote object id objectId, primitive value, unserializable primitive value or neither of (for undefined) them should be specified. - */ - interface CallArgument { - /** - * Primitive value or serializable javascript object. - */ - value?: any; - /** - * Primitive value which can not be JSON-stringified. - */ - unserializableValue?: UnserializableValue; - /** - * Remote object handle. - */ - objectId?: RemoteObjectId; - } - - /** - * Id of an execution context. - */ - type ExecutionContextId = number; - - /** - * Description of an isolated world. - */ - interface ExecutionContextDescription { - /** - * Unique id of the execution context. It can be used to specify in which execution context script evaluation should be performed. - */ - id: ExecutionContextId; - /** - * Execution context origin. - */ - origin: string; - /** - * Human readable name describing given context. - */ - name: string; - /** - * Embedder-specific auxiliary data. - */ - auxData?: {}; - } - - /** - * Detailed information about exception (or error) that was thrown during script compilation or execution. - */ - interface ExceptionDetails { - /** - * Exception id. - */ - exceptionId: number; - /** - * Exception text, which should be used together with exception object when available. - */ - text: string; - /** - * Line number of the exception location (0-based). - */ - lineNumber: number; - /** - * Column number of the exception location (0-based). - */ - columnNumber: number; - /** - * Script ID of the exception location. - */ - scriptId?: ScriptId; - /** - * URL of the exception location, to be used when the script was not reported. - */ - url?: string; - /** - * JavaScript stack trace if available. - */ - stackTrace?: StackTrace; - /** - * Exception object if available. - */ - exception?: RemoteObject; - /** - * Identifier of the context where exception happened. - */ - executionContextId?: ExecutionContextId; - } - - /** - * Number of milliseconds since epoch. - */ - type Timestamp = number; - - /** - * Stack entry for runtime errors and assertions. - */ - interface CallFrame { - /** - * JavaScript function name. - */ - functionName: string; - /** - * JavaScript script id. - */ - scriptId: ScriptId; - /** - * JavaScript script name or url. - */ - url: string; - /** - * JavaScript script line number (0-based). - */ - lineNumber: number; - /** - * JavaScript script column number (0-based). - */ - columnNumber: number; - } - - /** - * Call frames for assertions or error messages. - */ - interface StackTrace { - /** - * String label of this stack trace. For async traces this may be a name of the function that initiated the async call. - */ - description?: string; - /** - * JavaScript function name. - */ - callFrames: CallFrame[]; - /** - * Asynchronous JavaScript stack trace that preceded this stack, if available. - */ - parent?: StackTrace; - /** - * Asynchronous JavaScript stack trace that preceded this stack, if available. - * @experimental - */ - parentId?: StackTraceId; - } - - /** - * Unique identifier of current debugger. - * @experimental - */ - type UniqueDebuggerId = string; - - /** - * If debuggerId is set stack trace comes from another debugger and can be resolved there. This allows to track cross-debugger calls. See Runtime.StackTrace and Debugger.paused for usages. - * @experimental - */ - interface StackTraceId { - id: string; - debuggerId?: UniqueDebuggerId; - } - - interface EvaluateParameterType { - /** - * Expression to evaluate. - */ - expression: string; - /** - * Symbolic group name that can be used to release multiple objects. - */ - objectGroup?: string; - /** - * Determines whether Command Line API should be available during the evaluation. - */ - includeCommandLineAPI?: boolean; - /** - * In silent mode exceptions thrown during evaluation are not reported and do not pause execution. Overrides setPauseOnException state. - */ - silent?: boolean; - /** - * Specifies in which execution context to perform evaluation. If the parameter is omitted the evaluation will be performed in the context of the inspected page. - */ - contextId?: ExecutionContextId; - /** - * Whether the result is expected to be a JSON object that should be sent by value. - */ - returnByValue?: boolean; - /** - * Whether preview should be generated for the result. - * @experimental - */ - generatePreview?: boolean; - /** - * Whether execution should be treated as initiated by user in the UI. - */ - userGesture?: boolean; - /** - * Whether execution should await for resulting value and return once awaited promise is resolved. - */ - awaitPromise?: boolean; - } - - interface AwaitPromiseParameterType { - /** - * Identifier of the promise. - */ - promiseObjectId: RemoteObjectId; - /** - * Whether the result is expected to be a JSON object that should be sent by value. - */ - returnByValue?: boolean; - /** - * Whether preview should be generated for the result. - */ - generatePreview?: boolean; - } - - interface CallFunctionOnParameterType { - /** - * Declaration of the function to call. - */ - functionDeclaration: string; - /** - * Identifier of the object to call function on. Either objectId or executionContextId should be specified. - */ - objectId?: RemoteObjectId; - /** - * Call arguments. All call arguments must belong to the same JavaScript world as the target object. - */ - arguments?: CallArgument[]; - /** - * In silent mode exceptions thrown during evaluation are not reported and do not pause execution. Overrides setPauseOnException state. - */ - silent?: boolean; - /** - * Whether the result is expected to be a JSON object which should be sent by value. - */ - returnByValue?: boolean; - /** - * Whether preview should be generated for the result. - * @experimental - */ - generatePreview?: boolean; - /** - * Whether execution should be treated as initiated by user in the UI. - */ - userGesture?: boolean; - /** - * Whether execution should await for resulting value and return once awaited promise is resolved. - */ - awaitPromise?: boolean; - /** - * Specifies execution context which global object will be used to call function on. Either executionContextId or objectId should be specified. - */ - executionContextId?: ExecutionContextId; - /** - * Symbolic group name that can be used to release multiple objects. If objectGroup is not specified and objectId is, objectGroup will be inherited from object. - */ - objectGroup?: string; - } - - interface GetPropertiesParameterType { - /** - * Identifier of the object to return properties for. - */ - objectId: RemoteObjectId; - /** - * If true, returns properties belonging only to the element itself, not to its prototype chain. - */ - ownProperties?: boolean; - /** - * If true, returns accessor properties (with getter/setter) only; internal properties are not returned either. - * @experimental - */ - accessorPropertiesOnly?: boolean; - /** - * Whether preview should be generated for the results. - * @experimental - */ - generatePreview?: boolean; - } - - interface ReleaseObjectParameterType { - /** - * Identifier of the object to release. - */ - objectId: RemoteObjectId; - } - - interface ReleaseObjectGroupParameterType { - /** - * Symbolic object group name. - */ - objectGroup: string; - } - - interface SetCustomObjectFormatterEnabledParameterType { - enabled: boolean; - } - - interface CompileScriptParameterType { - /** - * Expression to compile. - */ - expression: string; - /** - * Source url to be set for the script. - */ - sourceURL: string; - /** - * Specifies whether the compiled script should be persisted. - */ - persistScript: boolean; - /** - * Specifies in which execution context to perform script run. If the parameter is omitted the evaluation will be performed in the context of the inspected page. - */ - executionContextId?: ExecutionContextId; - } - - interface RunScriptParameterType { - /** - * Id of the script to run. - */ - scriptId: ScriptId; - /** - * Specifies in which execution context to perform script run. If the parameter is omitted the evaluation will be performed in the context of the inspected page. - */ - executionContextId?: ExecutionContextId; - /** - * Symbolic group name that can be used to release multiple objects. - */ - objectGroup?: string; - /** - * In silent mode exceptions thrown during evaluation are not reported and do not pause execution. Overrides setPauseOnException state. - */ - silent?: boolean; - /** - * Determines whether Command Line API should be available during the evaluation. - */ - includeCommandLineAPI?: boolean; - /** - * Whether the result is expected to be a JSON object which should be sent by value. - */ - returnByValue?: boolean; - /** - * Whether preview should be generated for the result. - */ - generatePreview?: boolean; - /** - * Whether execution should await for resulting value and return once awaited promise is resolved. - */ - awaitPromise?: boolean; - } - - interface QueryObjectsParameterType { - /** - * Identifier of the prototype to return objects for. - */ - prototypeObjectId: RemoteObjectId; - } - - interface GlobalLexicalScopeNamesParameterType { - /** - * Specifies in which execution context to lookup global scope variables. - */ - executionContextId?: ExecutionContextId; - } - - interface EvaluateReturnType { - /** - * Evaluation result. - */ - result: RemoteObject; - /** - * Exception details. - */ - exceptionDetails?: ExceptionDetails; - } - - interface AwaitPromiseReturnType { - /** - * Promise result. Will contain rejected value if promise was rejected. - */ - result: RemoteObject; - /** - * Exception details if stack strace is available. - */ - exceptionDetails?: ExceptionDetails; - } - - interface CallFunctionOnReturnType { - /** - * Call result. - */ - result: RemoteObject; - /** - * Exception details. - */ - exceptionDetails?: ExceptionDetails; - } - - interface GetPropertiesReturnType { - /** - * Object properties. - */ - result: PropertyDescriptor[]; - /** - * Internal object properties (only of the element itself). - */ - internalProperties?: InternalPropertyDescriptor[]; - /** - * Exception details. - */ - exceptionDetails?: ExceptionDetails; - } - - interface CompileScriptReturnType { - /** - * Id of the script. - */ - scriptId?: ScriptId; - /** - * Exception details. - */ - exceptionDetails?: ExceptionDetails; - } - - interface RunScriptReturnType { - /** - * Run result. - */ - result: RemoteObject; - /** - * Exception details. - */ - exceptionDetails?: ExceptionDetails; - } - - interface QueryObjectsReturnType { - /** - * Array with objects. - */ - objects: RemoteObject; - } - - interface GlobalLexicalScopeNamesReturnType { - names: string[]; - } - - interface ExecutionContextCreatedEventDataType { - /** - * A newly created execution context. - */ - context: ExecutionContextDescription; - } - - interface ExecutionContextDestroyedEventDataType { - /** - * Id of the destroyed context - */ - executionContextId: ExecutionContextId; - } - - interface ExceptionThrownEventDataType { - /** - * Timestamp of the exception. - */ - timestamp: Timestamp; - exceptionDetails: ExceptionDetails; - } - - interface ExceptionRevokedEventDataType { - /** - * Reason describing why exception was revoked. - */ - reason: string; - /** - * The id of revoked exception, as reported in exceptionThrown. - */ - exceptionId: number; - } - - interface ConsoleAPICalledEventDataType { - /** - * Type of the call. - */ - type: string; - /** - * Call arguments. - */ - args: RemoteObject[]; - /** - * Identifier of the context where the call was made. - */ - executionContextId: ExecutionContextId; - /** - * Call timestamp. - */ - timestamp: Timestamp; - /** - * Stack trace captured when the call was made. - */ - stackTrace?: StackTrace; - /** - * Console context descriptor for calls on non-default console context (not console.*): 'anonymous#unique-logger-id' for call on unnamed context, 'name#unique-logger-id' for call on named context. - * @experimental - */ - context?: string; - } - - interface InspectRequestedEventDataType { - object: RemoteObject; - hints: {}; - } - } - - namespace Debugger { - /** - * Breakpoint identifier. - */ - type BreakpointId = string; - - /** - * Call frame identifier. - */ - type CallFrameId = string; - - /** - * Location in the source code. - */ - interface Location { - /** - * Script identifier as reported in the Debugger.scriptParsed. - */ - scriptId: Runtime.ScriptId; - /** - * Line number in the script (0-based). - */ - lineNumber: number; - /** - * Column number in the script (0-based). - */ - columnNumber?: number; - } - - /** - * Location in the source code. - * @experimental - */ - interface ScriptPosition { - lineNumber: number; - columnNumber: number; - } - - /** - * JavaScript call frame. Array of call frames form the call stack. - */ - interface CallFrame { - /** - * Call frame identifier. This identifier is only valid while the virtual machine is paused. - */ - callFrameId: CallFrameId; - /** - * Name of the JavaScript function called on this call frame. - */ - functionName: string; - /** - * Location in the source code. - */ - functionLocation?: Location; - /** - * Location in the source code. - */ - location: Location; - /** - * JavaScript script name or url. - */ - url: string; - /** - * Scope chain for this call frame. - */ - scopeChain: Scope[]; - /** - * this object for this call frame. - */ - this: Runtime.RemoteObject; - /** - * The value being returned, if the function is at return point. - */ - returnValue?: Runtime.RemoteObject; - } - - /** - * Scope description. - */ - interface Scope { - /** - * Scope type. - */ - type: string; - /** - * Object representing the scope. For global and with scopes it represents the actual object; for the rest of the scopes, it is artificial transient object enumerating scope variables as its properties. - */ - object: Runtime.RemoteObject; - name?: string; - /** - * Location in the source code where scope starts - */ - startLocation?: Location; - /** - * Location in the source code where scope ends - */ - endLocation?: Location; - } - - /** - * Search match for resource. - */ - interface SearchMatch { - /** - * Line number in resource content. - */ - lineNumber: number; - /** - * Line with match content. - */ - lineContent: string; - } - - interface BreakLocation { - /** - * Script identifier as reported in the Debugger.scriptParsed. - */ - scriptId: Runtime.ScriptId; - /** - * Line number in the script (0-based). - */ - lineNumber: number; - /** - * Column number in the script (0-based). - */ - columnNumber?: number; - type?: string; - } - - interface SetBreakpointsActiveParameterType { - /** - * New value for breakpoints active state. - */ - active: boolean; - } - - interface SetSkipAllPausesParameterType { - /** - * New value for skip pauses state. - */ - skip: boolean; - } - - interface SetBreakpointByUrlParameterType { - /** - * Line number to set breakpoint at. - */ - lineNumber: number; - /** - * URL of the resources to set breakpoint on. - */ - url?: string; - /** - * Regex pattern for the URLs of the resources to set breakpoints on. Either url or urlRegex must be specified. - */ - urlRegex?: string; - /** - * Script hash of the resources to set breakpoint on. - */ - scriptHash?: string; - /** - * Offset in the line to set breakpoint at. - */ - columnNumber?: number; - /** - * Expression to use as a breakpoint condition. When specified, debugger will only stop on the breakpoint if this expression evaluates to true. - */ - condition?: string; - } - - interface SetBreakpointParameterType { - /** - * Location to set breakpoint in. - */ - location: Location; - /** - * Expression to use as a breakpoint condition. When specified, debugger will only stop on the breakpoint if this expression evaluates to true. - */ - condition?: string; - } - - interface RemoveBreakpointParameterType { - breakpointId: BreakpointId; - } - - interface GetPossibleBreakpointsParameterType { - /** - * Start of range to search possible breakpoint locations in. - */ - start: Location; - /** - * End of range to search possible breakpoint locations in (excluding). When not specified, end of scripts is used as end of range. - */ - end?: Location; - /** - * Only consider locations which are in the same (non-nested) function as start. - */ - restrictToFunction?: boolean; - } - - interface ContinueToLocationParameterType { - /** - * Location to continue to. - */ - location: Location; - targetCallFrames?: string; - } - - interface PauseOnAsyncCallParameterType { - /** - * Debugger will pause when async call with given stack trace is started. - */ - parentStackTraceId: Runtime.StackTraceId; - } - - interface StepIntoParameterType { - /** - * Debugger will issue additional Debugger.paused notification if any async task is scheduled before next pause. - * @experimental - */ - breakOnAsyncCall?: boolean; - } - - interface GetStackTraceParameterType { - stackTraceId: Runtime.StackTraceId; - } - - interface SearchInContentParameterType { - /** - * Id of the script to search in. - */ - scriptId: Runtime.ScriptId; - /** - * String to search for. - */ - query: string; - /** - * If true, search is case sensitive. - */ - caseSensitive?: boolean; - /** - * If true, treats string parameter as regex. - */ - isRegex?: boolean; - } - - interface SetScriptSourceParameterType { - /** - * Id of the script to edit. - */ - scriptId: Runtime.ScriptId; - /** - * New content of the script. - */ - scriptSource: string; - /** - * If true the change will not actually be applied. Dry run may be used to get result description without actually modifying the code. - */ - dryRun?: boolean; - } - - interface RestartFrameParameterType { - /** - * Call frame identifier to evaluate on. - */ - callFrameId: CallFrameId; - } - - interface GetScriptSourceParameterType { - /** - * Id of the script to get source for. - */ - scriptId: Runtime.ScriptId; - } - - interface SetPauseOnExceptionsParameterType { - /** - * Pause on exceptions mode. - */ - state: string; - } - - interface EvaluateOnCallFrameParameterType { - /** - * Call frame identifier to evaluate on. - */ - callFrameId: CallFrameId; - /** - * Expression to evaluate. - */ - expression: string; - /** - * String object group name to put result into (allows rapid releasing resulting object handles using releaseObjectGroup). - */ - objectGroup?: string; - /** - * Specifies whether command line API should be available to the evaluated expression, defaults to false. - */ - includeCommandLineAPI?: boolean; - /** - * In silent mode exceptions thrown during evaluation are not reported and do not pause execution. Overrides setPauseOnException state. - */ - silent?: boolean; - /** - * Whether the result is expected to be a JSON object that should be sent by value. - */ - returnByValue?: boolean; - /** - * Whether preview should be generated for the result. - * @experimental - */ - generatePreview?: boolean; - /** - * Whether to throw an exception if side effect cannot be ruled out during evaluation. - */ - throwOnSideEffect?: boolean; - } - - interface SetVariableValueParameterType { - /** - * 0-based number of scope as was listed in scope chain. Only 'local', 'closure' and 'catch' scope types are allowed. Other scopes could be manipulated manually. - */ - scopeNumber: number; - /** - * Variable name. - */ - variableName: string; - /** - * New variable value. - */ - newValue: Runtime.CallArgument; - /** - * Id of callframe that holds variable. - */ - callFrameId: CallFrameId; - } - - interface SetReturnValueParameterType { - /** - * New return value. - */ - newValue: Runtime.CallArgument; - } - - interface SetAsyncCallStackDepthParameterType { - /** - * Maximum depth of async call stacks. Setting to 0 will effectively disable collecting async call stacks (default). - */ - maxDepth: number; - } - - interface SetBlackboxPatternsParameterType { - /** - * Array of regexps that will be used to check script url for blackbox state. - */ - patterns: string[]; - } - - interface SetBlackboxedRangesParameterType { - /** - * Id of the script. - */ - scriptId: Runtime.ScriptId; - positions: ScriptPosition[]; - } - - interface EnableReturnType { - /** - * Unique identifier of the debugger. - * @experimental - */ - debuggerId: Runtime.UniqueDebuggerId; - } - - interface SetBreakpointByUrlReturnType { - /** - * Id of the created breakpoint for further reference. - */ - breakpointId: BreakpointId; - /** - * List of the locations this breakpoint resolved into upon addition. - */ - locations: Location[]; - } - - interface SetBreakpointReturnType { - /** - * Id of the created breakpoint for further reference. - */ - breakpointId: BreakpointId; - /** - * Location this breakpoint resolved into. - */ - actualLocation: Location; - } - - interface GetPossibleBreakpointsReturnType { - /** - * List of the possible breakpoint locations. - */ - locations: BreakLocation[]; - } - - interface GetStackTraceReturnType { - stackTrace: Runtime.StackTrace; - } - - interface SearchInContentReturnType { - /** - * List of search matches. - */ - result: SearchMatch[]; - } - - interface SetScriptSourceReturnType { - /** - * New stack trace in case editing has happened while VM was stopped. - */ - callFrames?: CallFrame[]; - /** - * Whether current call stack was modified after applying the changes. - */ - stackChanged?: boolean; - /** - * Async stack trace, if any. - */ - asyncStackTrace?: Runtime.StackTrace; - /** - * Async stack trace, if any. - * @experimental - */ - asyncStackTraceId?: Runtime.StackTraceId; - /** - * Exception details if any. - */ - exceptionDetails?: Runtime.ExceptionDetails; - } - - interface RestartFrameReturnType { - /** - * New stack trace. - */ - callFrames: CallFrame[]; - /** - * Async stack trace, if any. - */ - asyncStackTrace?: Runtime.StackTrace; - /** - * Async stack trace, if any. - * @experimental - */ - asyncStackTraceId?: Runtime.StackTraceId; - } - - interface GetScriptSourceReturnType { - /** - * Script source. - */ - scriptSource: string; - } - - interface EvaluateOnCallFrameReturnType { - /** - * Object wrapper for the evaluation result. - */ - result: Runtime.RemoteObject; - /** - * Exception details. - */ - exceptionDetails?: Runtime.ExceptionDetails; - } - - interface ScriptParsedEventDataType { - /** - * Identifier of the script parsed. - */ - scriptId: Runtime.ScriptId; - /** - * URL or name of the script parsed (if any). - */ - url: string; - /** - * Line offset of the script within the resource with given URL (for script tags). - */ - startLine: number; - /** - * Column offset of the script within the resource with given URL. - */ - startColumn: number; - /** - * Last line of the script. - */ - endLine: number; - /** - * Length of the last line of the script. - */ - endColumn: number; - /** - * Specifies script creation context. - */ - executionContextId: Runtime.ExecutionContextId; - /** - * Content hash of the script. - */ - hash: string; - /** - * Embedder-specific auxiliary data. - */ - executionContextAuxData?: {}; - /** - * True, if this script is generated as a result of the live edit operation. - * @experimental - */ - isLiveEdit?: boolean; - /** - * URL of source map associated with script (if any). - */ - sourceMapURL?: string; - /** - * True, if this script has sourceURL. - */ - hasSourceURL?: boolean; - /** - * True, if this script is ES6 module. - */ - isModule?: boolean; - /** - * This script length. - */ - length?: number; - /** - * JavaScript top stack frame of where the script parsed event was triggered if available. - * @experimental - */ - stackTrace?: Runtime.StackTrace; - } - - interface ScriptFailedToParseEventDataType { - /** - * Identifier of the script parsed. - */ - scriptId: Runtime.ScriptId; - /** - * URL or name of the script parsed (if any). - */ - url: string; - /** - * Line offset of the script within the resource with given URL (for script tags). - */ - startLine: number; - /** - * Column offset of the script within the resource with given URL. - */ - startColumn: number; - /** - * Last line of the script. - */ - endLine: number; - /** - * Length of the last line of the script. - */ - endColumn: number; - /** - * Specifies script creation context. - */ - executionContextId: Runtime.ExecutionContextId; - /** - * Content hash of the script. - */ - hash: string; - /** - * Embedder-specific auxiliary data. - */ - executionContextAuxData?: {}; - /** - * URL of source map associated with script (if any). - */ - sourceMapURL?: string; - /** - * True, if this script has sourceURL. - */ - hasSourceURL?: boolean; - /** - * True, if this script is ES6 module. - */ - isModule?: boolean; - /** - * This script length. - */ - length?: number; - /** - * JavaScript top stack frame of where the script parsed event was triggered if available. - * @experimental - */ - stackTrace?: Runtime.StackTrace; - } - - interface BreakpointResolvedEventDataType { - /** - * Breakpoint unique identifier. - */ - breakpointId: BreakpointId; - /** - * Actual breakpoint location. - */ - location: Location; - } - - interface PausedEventDataType { - /** - * Call stack the virtual machine stopped on. - */ - callFrames: CallFrame[]; - /** - * Pause reason. - */ - reason: string; - /** - * Object containing break-specific auxiliary properties. - */ - data?: {}; - /** - * Hit breakpoints IDs - */ - hitBreakpoints?: string[]; - /** - * Async stack trace, if any. - */ - asyncStackTrace?: Runtime.StackTrace; - /** - * Async stack trace, if any. - * @experimental - */ - asyncStackTraceId?: Runtime.StackTraceId; - /** - * Just scheduled async call will have this stack trace as parent stack during async execution. This field is available only after Debugger.stepInto call with breakOnAsynCall flag. - * @experimental - */ - asyncCallStackTraceId?: Runtime.StackTraceId; - } - } - - namespace Console { - /** - * Console message. - */ - interface ConsoleMessage { - /** - * Message source. - */ - source: string; - /** - * Message severity. - */ - level: string; - /** - * Message text. - */ - text: string; - /** - * URL of the message origin. - */ - url?: string; - /** - * Line number in the resource that generated this message (1-based). - */ - line?: number; - /** - * Column number in the resource that generated this message (1-based). - */ - column?: number; - } - - interface MessageAddedEventDataType { - /** - * Console message that has been added. - */ - message: ConsoleMessage; - } - } - - namespace Profiler { - /** - * Profile node. Holds callsite information, execution statistics and child nodes. - */ - interface ProfileNode { - /** - * Unique id of the node. - */ - id: number; - /** - * Function location. - */ - callFrame: Runtime.CallFrame; - /** - * Number of samples where this node was on top of the call stack. - */ - hitCount?: number; - /** - * Child node ids. - */ - children?: number[]; - /** - * The reason of being not optimized. The function may be deoptimized or marked as don't optimize. - */ - deoptReason?: string; - /** - * An array of source position ticks. - */ - positionTicks?: PositionTickInfo[]; - } - - /** - * Profile. - */ - interface Profile { - /** - * The list of profile nodes. First item is the root node. - */ - nodes: ProfileNode[]; - /** - * Profiling start timestamp in microseconds. - */ - startTime: number; - /** - * Profiling end timestamp in microseconds. - */ - endTime: number; - /** - * Ids of samples top nodes. - */ - samples?: number[]; - /** - * Time intervals between adjacent samples in microseconds. The first delta is relative to the profile startTime. - */ - timeDeltas?: number[]; - } - - /** - * Specifies a number of samples attributed to a certain source position. - */ - interface PositionTickInfo { - /** - * Source line number (1-based). - */ - line: number; - /** - * Number of samples attributed to the source line. - */ - ticks: number; - } - - /** - * Coverage data for a source range. - */ - interface CoverageRange { - /** - * JavaScript script source offset for the range start. - */ - startOffset: number; - /** - * JavaScript script source offset for the range end. - */ - endOffset: number; - /** - * Collected execution count of the source range. - */ - count: number; - } - - /** - * Coverage data for a JavaScript function. - */ - interface FunctionCoverage { - /** - * JavaScript function name. - */ - functionName: string; - /** - * Source ranges inside the function with coverage data. - */ - ranges: CoverageRange[]; - /** - * Whether coverage data for this function has block granularity. - */ - isBlockCoverage: boolean; - } - - /** - * Coverage data for a JavaScript script. - */ - interface ScriptCoverage { - /** - * JavaScript script id. - */ - scriptId: Runtime.ScriptId; - /** - * JavaScript script name or url. - */ - url: string; - /** - * Functions contained in the script that has coverage data. - */ - functions: FunctionCoverage[]; - } - - /** - * Describes a type collected during runtime. - * @experimental - */ - interface TypeObject { - /** - * Name of a type collected with type profiling. - */ - name: string; - } - - /** - * Source offset and types for a parameter or return value. - * @experimental - */ - interface TypeProfileEntry { - /** - * Source offset of the parameter or end of function for return values. - */ - offset: number; - /** - * The types for this parameter or return value. - */ - types: TypeObject[]; - } - - /** - * Type profile data collected during runtime for a JavaScript script. - * @experimental - */ - interface ScriptTypeProfile { - /** - * JavaScript script id. - */ - scriptId: Runtime.ScriptId; - /** - * JavaScript script name or url. - */ - url: string; - /** - * Type profile entries for parameters and return values of the functions in the script. - */ - entries: TypeProfileEntry[]; - } - - interface SetSamplingIntervalParameterType { - /** - * New sampling interval in microseconds. - */ - interval: number; - } - - interface StartPreciseCoverageParameterType { - /** - * Collect accurate call counts beyond simple 'covered' or 'not covered'. - */ - callCount?: boolean; - /** - * Collect block-based coverage. - */ - detailed?: boolean; - } - - interface StopReturnType { - /** - * Recorded profile. - */ - profile: Profile; - } - - interface TakePreciseCoverageReturnType { - /** - * Coverage data for the current isolate. - */ - result: ScriptCoverage[]; - } - - interface GetBestEffortCoverageReturnType { - /** - * Coverage data for the current isolate. - */ - result: ScriptCoverage[]; - } - - interface TakeTypeProfileReturnType { - /** - * Type profile for all scripts since startTypeProfile() was turned on. - */ - result: ScriptTypeProfile[]; - } - - interface ConsoleProfileStartedEventDataType { - id: string; - /** - * Location of console.profile(). - */ - location: Debugger.Location; - /** - * Profile title passed as an argument to console.profile(). - */ - title?: string; - } - - interface ConsoleProfileFinishedEventDataType { - id: string; - /** - * Location of console.profileEnd(). - */ - location: Debugger.Location; - profile: Profile; - /** - * Profile title passed as an argument to console.profile(). - */ - title?: string; - } - } - - namespace HeapProfiler { - /** - * Heap snapshot object id. - */ - type HeapSnapshotObjectId = string; - - /** - * Sampling Heap Profile node. Holds callsite information, allocation statistics and child nodes. - */ - interface SamplingHeapProfileNode { - /** - * Function location. - */ - callFrame: Runtime.CallFrame; - /** - * Allocations size in bytes for the node excluding children. - */ - selfSize: number; - /** - * Child nodes. - */ - children: SamplingHeapProfileNode[]; - } - - /** - * Profile. - */ - interface SamplingHeapProfile { - head: SamplingHeapProfileNode; - } - - interface StartTrackingHeapObjectsParameterType { - trackAllocations?: boolean; - } - - interface StopTrackingHeapObjectsParameterType { - /** - * If true 'reportHeapSnapshotProgress' events will be generated while snapshot is being taken when the tracking is stopped. - */ - reportProgress?: boolean; - } - - interface TakeHeapSnapshotParameterType { - /** - * If true 'reportHeapSnapshotProgress' events will be generated while snapshot is being taken. - */ - reportProgress?: boolean; - } - - interface GetObjectByHeapObjectIdParameterType { - objectId: HeapSnapshotObjectId; - /** - * Symbolic group name that can be used to release multiple objects. - */ - objectGroup?: string; - } - - interface AddInspectedHeapObjectParameterType { - /** - * Heap snapshot object id to be accessible by means of $x command line API. - */ - heapObjectId: HeapSnapshotObjectId; - } - - interface GetHeapObjectIdParameterType { - /** - * Identifier of the object to get heap object id for. - */ - objectId: Runtime.RemoteObjectId; - } - - interface StartSamplingParameterType { - /** - * Average sample interval in bytes. Poisson distribution is used for the intervals. The default value is 32768 bytes. - */ - samplingInterval?: number; - } - - interface GetObjectByHeapObjectIdReturnType { - /** - * Evaluation result. - */ - result: Runtime.RemoteObject; - } - - interface GetHeapObjectIdReturnType { - /** - * Id of the heap snapshot object corresponding to the passed remote object id. - */ - heapSnapshotObjectId: HeapSnapshotObjectId; - } - - interface StopSamplingReturnType { - /** - * Recorded sampling heap profile. - */ - profile: SamplingHeapProfile; - } - - interface GetSamplingProfileReturnType { - /** - * Return the sampling profile being collected. - */ - profile: SamplingHeapProfile; - } - - interface AddHeapSnapshotChunkEventDataType { - chunk: string; - } - - interface ReportHeapSnapshotProgressEventDataType { - done: number; - total: number; - finished?: boolean; - } - - interface LastSeenObjectIdEventDataType { - lastSeenObjectId: number; - timestamp: number; - } - - interface HeapStatsUpdateEventDataType { - /** - * An array of triplets. Each triplet describes a fragment. The first integer is the fragment index, the second integer is a total count of objects for the fragment, the third integer is a total size of the objects for the fragment. - */ - statsUpdate: number[]; - } - } - - namespace NodeTracing { - interface TraceConfig { - /** - * Controls how the trace buffer stores data. - */ - recordMode?: string; - /** - * Included category filters. - */ - includedCategories: string[]; - } - - interface StartParameterType { - traceConfig: TraceConfig; - } - - interface GetCategoriesReturnType { - /** - * A list of supported tracing categories. - */ - categories: string[]; - } - - interface DataCollectedEventDataType { - value: Array<{}>; - } - } - - namespace NodeWorker { - type WorkerID = string; - - /** - * Unique identifier of attached debugging session. - */ - type SessionID = string; - - interface WorkerInfo { - workerId: WorkerID; - type: string; - title: string; - url: string; - } - - interface SendMessageToWorkerParameterType { - message: string; - /** - * Identifier of the session. - */ - sessionId: SessionID; - } - - interface EnableParameterType { - /** - * Whether to new workers should be paused until the frontend sends `Runtime.runIfWaitingForDebugger` - * message to run them. - */ - waitForDebuggerOnStart: boolean; - } - - interface DetachParameterType { - sessionId: SessionID; - } - - interface AttachedToWorkerEventDataType { - /** - * Identifier assigned to the session used to send/receive messages. - */ - sessionId: SessionID; - workerInfo: WorkerInfo; - waitingForDebugger: boolean; - } - - interface DetachedFromWorkerEventDataType { - /** - * Detached session identifier. - */ - sessionId: SessionID; - } - - interface ReceivedMessageFromWorkerEventDataType { - /** - * Identifier of a session which sends a message. - */ - sessionId: SessionID; - message: string; - } - } - - namespace NodeRuntime { - interface NotifyWhenWaitingForDisconnectParameterType { - enabled: boolean; - } - } - - /** - * The inspector.Session is used for dispatching messages to the V8 inspector back-end and receiving message responses and notifications. - */ - class Session extends EventEmitter { - /** - * Create a new instance of the inspector.Session class. - * The inspector session needs to be connected through session.connect() before the messages can be dispatched to the inspector backend. - */ - constructor(); - - /** - * Connects a session to the inspector back-end. - * An exception will be thrown if there is already a connected session established either - * through the API or by a front-end connected to the Inspector WebSocket port. - */ - connect(): void; - - /** - * Immediately close the session. All pending message callbacks will be called with an error. - * session.connect() will need to be called to be able to send messages again. - * Reconnected session will lose all inspector state, such as enabled agents or configured breakpoints. - */ - disconnect(): void; - - /** - * Posts a message to the inspector back-end. callback will be notified when a response is received. - * callback is a function that accepts two optional arguments - error and message-specific result. - */ - post(method: string, params?: {}, callback?: (err: Error | null, params?: {}) => void): void; - post(method: string, callback?: (err: Error | null, params?: {}) => void): void; - - /** - * Returns supported domains. - */ - post(method: "Schema.getDomains", callback?: (err: Error | null, params: Schema.GetDomainsReturnType) => void): void; - - /** - * Evaluates expression on global object. - */ - post(method: "Runtime.evaluate", params?: Runtime.EvaluateParameterType, callback?: (err: Error | null, params: Runtime.EvaluateReturnType) => void): void; - post(method: "Runtime.evaluate", callback?: (err: Error | null, params: Runtime.EvaluateReturnType) => void): void; - - /** - * Add handler to promise with given promise object id. - */ - post(method: "Runtime.awaitPromise", params?: Runtime.AwaitPromiseParameterType, callback?: (err: Error | null, params: Runtime.AwaitPromiseReturnType) => void): void; - post(method: "Runtime.awaitPromise", callback?: (err: Error | null, params: Runtime.AwaitPromiseReturnType) => void): void; - - /** - * Calls function with given declaration on the given object. Object group of the result is inherited from the target object. - */ - post(method: "Runtime.callFunctionOn", params?: Runtime.CallFunctionOnParameterType, callback?: (err: Error | null, params: Runtime.CallFunctionOnReturnType) => void): void; - post(method: "Runtime.callFunctionOn", callback?: (err: Error | null, params: Runtime.CallFunctionOnReturnType) => void): void; - - /** - * Returns properties of a given object. Object group of the result is inherited from the target object. - */ - post(method: "Runtime.getProperties", params?: Runtime.GetPropertiesParameterType, callback?: (err: Error | null, params: Runtime.GetPropertiesReturnType) => void): void; - post(method: "Runtime.getProperties", callback?: (err: Error | null, params: Runtime.GetPropertiesReturnType) => void): void; - - /** - * Releases remote object with given id. - */ - post(method: "Runtime.releaseObject", params?: Runtime.ReleaseObjectParameterType, callback?: (err: Error | null) => void): void; - post(method: "Runtime.releaseObject", callback?: (err: Error | null) => void): void; - - /** - * Releases all remote objects that belong to a given group. - */ - post(method: "Runtime.releaseObjectGroup", params?: Runtime.ReleaseObjectGroupParameterType, callback?: (err: Error | null) => void): void; - post(method: "Runtime.releaseObjectGroup", callback?: (err: Error | null) => void): void; - - /** - * Tells inspected instance to run if it was waiting for debugger to attach. - */ - post(method: "Runtime.runIfWaitingForDebugger", callback?: (err: Error | null) => void): void; - - /** - * Enables reporting of execution contexts creation by means of executionContextCreated event. When the reporting gets enabled the event will be sent immediately for each existing execution context. - */ - post(method: "Runtime.enable", callback?: (err: Error | null) => void): void; - - /** - * Disables reporting of execution contexts creation. - */ - post(method: "Runtime.disable", callback?: (err: Error | null) => void): void; - - /** - * Discards collected exceptions and console API calls. - */ - post(method: "Runtime.discardConsoleEntries", callback?: (err: Error | null) => void): void; - - /** - * @experimental - */ - post(method: "Runtime.setCustomObjectFormatterEnabled", params?: Runtime.SetCustomObjectFormatterEnabledParameterType, callback?: (err: Error | null) => void): void; - post(method: "Runtime.setCustomObjectFormatterEnabled", callback?: (err: Error | null) => void): void; - - /** - * Compiles expression. - */ - post(method: "Runtime.compileScript", params?: Runtime.CompileScriptParameterType, callback?: (err: Error | null, params: Runtime.CompileScriptReturnType) => void): void; - post(method: "Runtime.compileScript", callback?: (err: Error | null, params: Runtime.CompileScriptReturnType) => void): void; - - /** - * Runs script with given id in a given context. - */ - post(method: "Runtime.runScript", params?: Runtime.RunScriptParameterType, callback?: (err: Error | null, params: Runtime.RunScriptReturnType) => void): void; - post(method: "Runtime.runScript", callback?: (err: Error | null, params: Runtime.RunScriptReturnType) => void): void; - - post(method: "Runtime.queryObjects", params?: Runtime.QueryObjectsParameterType, callback?: (err: Error | null, params: Runtime.QueryObjectsReturnType) => void): void; - post(method: "Runtime.queryObjects", callback?: (err: Error | null, params: Runtime.QueryObjectsReturnType) => void): void; - - /** - * Returns all let, const and class variables from global scope. - */ - post( - method: "Runtime.globalLexicalScopeNames", - params?: Runtime.GlobalLexicalScopeNamesParameterType, - callback?: (err: Error | null, params: Runtime.GlobalLexicalScopeNamesReturnType) => void - ): void; - post(method: "Runtime.globalLexicalScopeNames", callback?: (err: Error | null, params: Runtime.GlobalLexicalScopeNamesReturnType) => void): void; - - /** - * Enables debugger for the given page. Clients should not assume that the debugging has been enabled until the result for this command is received. - */ - post(method: "Debugger.enable", callback?: (err: Error | null, params: Debugger.EnableReturnType) => void): void; - - /** - * Disables debugger for given page. - */ - post(method: "Debugger.disable", callback?: (err: Error | null) => void): void; - - /** - * Activates / deactivates all breakpoints on the page. - */ - post(method: "Debugger.setBreakpointsActive", params?: Debugger.SetBreakpointsActiveParameterType, callback?: (err: Error | null) => void): void; - post(method: "Debugger.setBreakpointsActive", callback?: (err: Error | null) => void): void; - - /** - * Makes page not interrupt on any pauses (breakpoint, exception, dom exception etc). - */ - post(method: "Debugger.setSkipAllPauses", params?: Debugger.SetSkipAllPausesParameterType, callback?: (err: Error | null) => void): void; - post(method: "Debugger.setSkipAllPauses", callback?: (err: Error | null) => void): void; - - /** - * Sets JavaScript breakpoint at given location specified either by URL or URL regex. Once this command is issued, all existing parsed scripts will have breakpoints resolved and returned in locations property. Further matching script parsing will result in subsequent breakpointResolved events issued. This logical breakpoint will survive page reloads. - */ - post(method: "Debugger.setBreakpointByUrl", params?: Debugger.SetBreakpointByUrlParameterType, callback?: (err: Error | null, params: Debugger.SetBreakpointByUrlReturnType) => void): void; - post(method: "Debugger.setBreakpointByUrl", callback?: (err: Error | null, params: Debugger.SetBreakpointByUrlReturnType) => void): void; - - /** - * Sets JavaScript breakpoint at a given location. - */ - post(method: "Debugger.setBreakpoint", params?: Debugger.SetBreakpointParameterType, callback?: (err: Error | null, params: Debugger.SetBreakpointReturnType) => void): void; - post(method: "Debugger.setBreakpoint", callback?: (err: Error | null, params: Debugger.SetBreakpointReturnType) => void): void; - - /** - * Removes JavaScript breakpoint. - */ - post(method: "Debugger.removeBreakpoint", params?: Debugger.RemoveBreakpointParameterType, callback?: (err: Error | null) => void): void; - post(method: "Debugger.removeBreakpoint", callback?: (err: Error | null) => void): void; - - /** - * Returns possible locations for breakpoint. scriptId in start and end range locations should be the same. - */ - post( - method: "Debugger.getPossibleBreakpoints", - params?: Debugger.GetPossibleBreakpointsParameterType, - callback?: (err: Error | null, params: Debugger.GetPossibleBreakpointsReturnType) => void - ): void; - post(method: "Debugger.getPossibleBreakpoints", callback?: (err: Error | null, params: Debugger.GetPossibleBreakpointsReturnType) => void): void; - - /** - * Continues execution until specific location is reached. - */ - post(method: "Debugger.continueToLocation", params?: Debugger.ContinueToLocationParameterType, callback?: (err: Error | null) => void): void; - post(method: "Debugger.continueToLocation", callback?: (err: Error | null) => void): void; - - /** - * @experimental - */ - post(method: "Debugger.pauseOnAsyncCall", params?: Debugger.PauseOnAsyncCallParameterType, callback?: (err: Error | null) => void): void; - post(method: "Debugger.pauseOnAsyncCall", callback?: (err: Error | null) => void): void; - - /** - * Steps over the statement. - */ - post(method: "Debugger.stepOver", callback?: (err: Error | null) => void): void; - - /** - * Steps into the function call. - */ - post(method: "Debugger.stepInto", params?: Debugger.StepIntoParameterType, callback?: (err: Error | null) => void): void; - post(method: "Debugger.stepInto", callback?: (err: Error | null) => void): void; - - /** - * Steps out of the function call. - */ - post(method: "Debugger.stepOut", callback?: (err: Error | null) => void): void; - - /** - * Stops on the next JavaScript statement. - */ - post(method: "Debugger.pause", callback?: (err: Error | null) => void): void; - - /** - * This method is deprecated - use Debugger.stepInto with breakOnAsyncCall and Debugger.pauseOnAsyncTask instead. Steps into next scheduled async task if any is scheduled before next pause. Returns success when async task is actually scheduled, returns error if no task were scheduled or another scheduleStepIntoAsync was called. - * @experimental - */ - post(method: "Debugger.scheduleStepIntoAsync", callback?: (err: Error | null) => void): void; - - /** - * Resumes JavaScript execution. - */ - post(method: "Debugger.resume", callback?: (err: Error | null) => void): void; - - /** - * Returns stack trace with given stackTraceId. - * @experimental - */ - post(method: "Debugger.getStackTrace", params?: Debugger.GetStackTraceParameterType, callback?: (err: Error | null, params: Debugger.GetStackTraceReturnType) => void): void; - post(method: "Debugger.getStackTrace", callback?: (err: Error | null, params: Debugger.GetStackTraceReturnType) => void): void; - - /** - * Searches for given string in script content. - */ - post(method: "Debugger.searchInContent", params?: Debugger.SearchInContentParameterType, callback?: (err: Error | null, params: Debugger.SearchInContentReturnType) => void): void; - post(method: "Debugger.searchInContent", callback?: (err: Error | null, params: Debugger.SearchInContentReturnType) => void): void; - - /** - * Edits JavaScript source live. - */ - post(method: "Debugger.setScriptSource", params?: Debugger.SetScriptSourceParameterType, callback?: (err: Error | null, params: Debugger.SetScriptSourceReturnType) => void): void; - post(method: "Debugger.setScriptSource", callback?: (err: Error | null, params: Debugger.SetScriptSourceReturnType) => void): void; - - /** - * Restarts particular call frame from the beginning. - */ - post(method: "Debugger.restartFrame", params?: Debugger.RestartFrameParameterType, callback?: (err: Error | null, params: Debugger.RestartFrameReturnType) => void): void; - post(method: "Debugger.restartFrame", callback?: (err: Error | null, params: Debugger.RestartFrameReturnType) => void): void; - - /** - * Returns source for the script with given id. - */ - post(method: "Debugger.getScriptSource", params?: Debugger.GetScriptSourceParameterType, callback?: (err: Error | null, params: Debugger.GetScriptSourceReturnType) => void): void; - post(method: "Debugger.getScriptSource", callback?: (err: Error | null, params: Debugger.GetScriptSourceReturnType) => void): void; - - /** - * Defines pause on exceptions state. Can be set to stop on all exceptions, uncaught exceptions or no exceptions. Initial pause on exceptions state is none. - */ - post(method: "Debugger.setPauseOnExceptions", params?: Debugger.SetPauseOnExceptionsParameterType, callback?: (err: Error | null) => void): void; - post(method: "Debugger.setPauseOnExceptions", callback?: (err: Error | null) => void): void; - - /** - * Evaluates expression on a given call frame. - */ - post(method: "Debugger.evaluateOnCallFrame", params?: Debugger.EvaluateOnCallFrameParameterType, callback?: (err: Error | null, params: Debugger.EvaluateOnCallFrameReturnType) => void): void; - post(method: "Debugger.evaluateOnCallFrame", callback?: (err: Error | null, params: Debugger.EvaluateOnCallFrameReturnType) => void): void; - - /** - * Changes value of variable in a callframe. Object-based scopes are not supported and must be mutated manually. - */ - post(method: "Debugger.setVariableValue", params?: Debugger.SetVariableValueParameterType, callback?: (err: Error | null) => void): void; - post(method: "Debugger.setVariableValue", callback?: (err: Error | null) => void): void; - - /** - * Changes return value in top frame. Available only at return break position. - * @experimental - */ - post(method: "Debugger.setReturnValue", params?: Debugger.SetReturnValueParameterType, callback?: (err: Error | null) => void): void; - post(method: "Debugger.setReturnValue", callback?: (err: Error | null) => void): void; - - /** - * Enables or disables async call stacks tracking. - */ - post(method: "Debugger.setAsyncCallStackDepth", params?: Debugger.SetAsyncCallStackDepthParameterType, callback?: (err: Error | null) => void): void; - post(method: "Debugger.setAsyncCallStackDepth", callback?: (err: Error | null) => void): void; - - /** - * Replace previous blackbox patterns with passed ones. Forces backend to skip stepping/pausing in scripts with url matching one of the patterns. VM will try to leave blackboxed script by performing 'step in' several times, finally resorting to 'step out' if unsuccessful. - * @experimental - */ - post(method: "Debugger.setBlackboxPatterns", params?: Debugger.SetBlackboxPatternsParameterType, callback?: (err: Error | null) => void): void; - post(method: "Debugger.setBlackboxPatterns", callback?: (err: Error | null) => void): void; - - /** - * Makes backend skip steps in the script in blackboxed ranges. VM will try leave blacklisted scripts by performing 'step in' several times, finally resorting to 'step out' if unsuccessful. Positions array contains positions where blackbox state is changed. First interval isn't blackboxed. Array should be sorted. - * @experimental - */ - post(method: "Debugger.setBlackboxedRanges", params?: Debugger.SetBlackboxedRangesParameterType, callback?: (err: Error | null) => void): void; - post(method: "Debugger.setBlackboxedRanges", callback?: (err: Error | null) => void): void; - - /** - * Enables console domain, sends the messages collected so far to the client by means of the messageAdded notification. - */ - post(method: "Console.enable", callback?: (err: Error | null) => void): void; - - /** - * Disables console domain, prevents further console messages from being reported to the client. - */ - post(method: "Console.disable", callback?: (err: Error | null) => void): void; - - /** - * Does nothing. - */ - post(method: "Console.clearMessages", callback?: (err: Error | null) => void): void; - - post(method: "Profiler.enable", callback?: (err: Error | null) => void): void; - - post(method: "Profiler.disable", callback?: (err: Error | null) => void): void; - - /** - * Changes CPU profiler sampling interval. Must be called before CPU profiles recording started. - */ - post(method: "Profiler.setSamplingInterval", params?: Profiler.SetSamplingIntervalParameterType, callback?: (err: Error | null) => void): void; - post(method: "Profiler.setSamplingInterval", callback?: (err: Error | null) => void): void; - - post(method: "Profiler.start", callback?: (err: Error | null) => void): void; - - post(method: "Profiler.stop", callback?: (err: Error | null, params: Profiler.StopReturnType) => void): void; - - /** - * Enable precise code coverage. Coverage data for JavaScript executed before enabling precise code coverage may be incomplete. Enabling prevents running optimized code and resets execution counters. - */ - post(method: "Profiler.startPreciseCoverage", params?: Profiler.StartPreciseCoverageParameterType, callback?: (err: Error | null) => void): void; - post(method: "Profiler.startPreciseCoverage", callback?: (err: Error | null) => void): void; - - /** - * Disable precise code coverage. Disabling releases unnecessary execution count records and allows executing optimized code. - */ - post(method: "Profiler.stopPreciseCoverage", callback?: (err: Error | null) => void): void; - - /** - * Collect coverage data for the current isolate, and resets execution counters. Precise code coverage needs to have started. - */ - post(method: "Profiler.takePreciseCoverage", callback?: (err: Error | null, params: Profiler.TakePreciseCoverageReturnType) => void): void; - - /** - * Collect coverage data for the current isolate. The coverage data may be incomplete due to garbage collection. - */ - post(method: "Profiler.getBestEffortCoverage", callback?: (err: Error | null, params: Profiler.GetBestEffortCoverageReturnType) => void): void; - - /** - * Enable type profile. - * @experimental - */ - post(method: "Profiler.startTypeProfile", callback?: (err: Error | null) => void): void; - - /** - * Disable type profile. Disabling releases type profile data collected so far. - * @experimental - */ - post(method: "Profiler.stopTypeProfile", callback?: (err: Error | null) => void): void; - - /** - * Collect type profile. - * @experimental - */ - post(method: "Profiler.takeTypeProfile", callback?: (err: Error | null, params: Profiler.TakeTypeProfileReturnType) => void): void; - - post(method: "HeapProfiler.enable", callback?: (err: Error | null) => void): void; - - post(method: "HeapProfiler.disable", callback?: (err: Error | null) => void): void; - - post(method: "HeapProfiler.startTrackingHeapObjects", params?: HeapProfiler.StartTrackingHeapObjectsParameterType, callback?: (err: Error | null) => void): void; - post(method: "HeapProfiler.startTrackingHeapObjects", callback?: (err: Error | null) => void): void; - - post(method: "HeapProfiler.stopTrackingHeapObjects", params?: HeapProfiler.StopTrackingHeapObjectsParameterType, callback?: (err: Error | null) => void): void; - post(method: "HeapProfiler.stopTrackingHeapObjects", callback?: (err: Error | null) => void): void; - - post(method: "HeapProfiler.takeHeapSnapshot", params?: HeapProfiler.TakeHeapSnapshotParameterType, callback?: (err: Error | null) => void): void; - post(method: "HeapProfiler.takeHeapSnapshot", callback?: (err: Error | null) => void): void; - - post(method: "HeapProfiler.collectGarbage", callback?: (err: Error | null) => void): void; - - post( - method: "HeapProfiler.getObjectByHeapObjectId", - params?: HeapProfiler.GetObjectByHeapObjectIdParameterType, - callback?: (err: Error | null, params: HeapProfiler.GetObjectByHeapObjectIdReturnType) => void - ): void; - post(method: "HeapProfiler.getObjectByHeapObjectId", callback?: (err: Error | null, params: HeapProfiler.GetObjectByHeapObjectIdReturnType) => void): void; - - /** - * Enables console to refer to the node with given id via $x (see Command Line API for more details $x functions). - */ - post(method: "HeapProfiler.addInspectedHeapObject", params?: HeapProfiler.AddInspectedHeapObjectParameterType, callback?: (err: Error | null) => void): void; - post(method: "HeapProfiler.addInspectedHeapObject", callback?: (err: Error | null) => void): void; - - post(method: "HeapProfiler.getHeapObjectId", params?: HeapProfiler.GetHeapObjectIdParameterType, callback?: (err: Error | null, params: HeapProfiler.GetHeapObjectIdReturnType) => void): void; - post(method: "HeapProfiler.getHeapObjectId", callback?: (err: Error | null, params: HeapProfiler.GetHeapObjectIdReturnType) => void): void; - - post(method: "HeapProfiler.startSampling", params?: HeapProfiler.StartSamplingParameterType, callback?: (err: Error | null) => void): void; - post(method: "HeapProfiler.startSampling", callback?: (err: Error | null) => void): void; - - post(method: "HeapProfiler.stopSampling", callback?: (err: Error | null, params: HeapProfiler.StopSamplingReturnType) => void): void; - - post(method: "HeapProfiler.getSamplingProfile", callback?: (err: Error | null, params: HeapProfiler.GetSamplingProfileReturnType) => void): void; - - /** - * Gets supported tracing categories. - */ - post(method: "NodeTracing.getCategories", callback?: (err: Error | null, params: NodeTracing.GetCategoriesReturnType) => void): void; - - /** - * Start trace events collection. - */ - post(method: "NodeTracing.start", params?: NodeTracing.StartParameterType, callback?: (err: Error | null) => void): void; - post(method: "NodeTracing.start", callback?: (err: Error | null) => void): void; - - /** - * Stop trace events collection. Remaining collected events will be sent as a sequence of - * dataCollected events followed by tracingComplete event. - */ - post(method: "NodeTracing.stop", callback?: (err: Error | null) => void): void; - - /** - * Sends protocol message over session with given id. - */ - post(method: "NodeWorker.sendMessageToWorker", params?: NodeWorker.SendMessageToWorkerParameterType, callback?: (err: Error | null) => void): void; - post(method: "NodeWorker.sendMessageToWorker", callback?: (err: Error | null) => void): void; - - /** - * Instructs the inspector to attach to running workers. Will also attach to new workers - * as they start - */ - post(method: "NodeWorker.enable", params?: NodeWorker.EnableParameterType, callback?: (err: Error | null) => void): void; - post(method: "NodeWorker.enable", callback?: (err: Error | null) => void): void; - - /** - * Detaches from all running workers and disables attaching to new workers as they are started. - */ - post(method: "NodeWorker.disable", callback?: (err: Error | null) => void): void; - - /** - * Detached from the worker with given sessionId. - */ - post(method: "NodeWorker.detach", params?: NodeWorker.DetachParameterType, callback?: (err: Error | null) => void): void; - post(method: "NodeWorker.detach", callback?: (err: Error | null) => void): void; - - /** - * Enable the `NodeRuntime.waitingForDisconnect`. - */ - post(method: "NodeRuntime.notifyWhenWaitingForDisconnect", params?: NodeRuntime.NotifyWhenWaitingForDisconnectParameterType, callback?: (err: Error | null) => void): void; - post(method: "NodeRuntime.notifyWhenWaitingForDisconnect", callback?: (err: Error | null) => void): void; - - // Events - - addListener(event: string, listener: (...args: any[]) => void): this; - - /** - * Emitted when any notification from the V8 Inspector is received. - */ - addListener(event: "inspectorNotification", listener: (message: InspectorNotification<{}>) => void): this; - - /** - * Issued when new execution context is created. - */ - addListener(event: "Runtime.executionContextCreated", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when execution context is destroyed. - */ - addListener(event: "Runtime.executionContextDestroyed", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when all executionContexts were cleared in browser - */ - addListener(event: "Runtime.executionContextsCleared", listener: () => void): this; - - /** - * Issued when exception was thrown and unhandled. - */ - addListener(event: "Runtime.exceptionThrown", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when unhandled exception was revoked. - */ - addListener(event: "Runtime.exceptionRevoked", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when console API was called. - */ - addListener(event: "Runtime.consoleAPICalled", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when object should be inspected (for example, as a result of inspect() command line API call). - */ - addListener(event: "Runtime.inspectRequested", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when virtual machine parses script. This event is also fired for all known and uncollected scripts upon enabling debugger. - */ - addListener(event: "Debugger.scriptParsed", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when virtual machine fails to parse the script. - */ - addListener(event: "Debugger.scriptFailedToParse", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when breakpoint is resolved to an actual script and location. - */ - addListener(event: "Debugger.breakpointResolved", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria. - */ - addListener(event: "Debugger.paused", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when the virtual machine resumed execution. - */ - addListener(event: "Debugger.resumed", listener: () => void): this; - - /** - * Issued when new console message is added. - */ - addListener(event: "Console.messageAdded", listener: (message: InspectorNotification) => void): this; - - /** - * Sent when new profile recording is started using console.profile() call. - */ - addListener(event: "Profiler.consoleProfileStarted", listener: (message: InspectorNotification) => void): this; - - addListener(event: "Profiler.consoleProfileFinished", listener: (message: InspectorNotification) => void): this; - addListener(event: "HeapProfiler.addHeapSnapshotChunk", listener: (message: InspectorNotification) => void): this; - addListener(event: "HeapProfiler.resetProfiles", listener: () => void): this; - addListener(event: "HeapProfiler.reportHeapSnapshotProgress", listener: (message: InspectorNotification) => void): this; - - /** - * If heap objects tracking has been started then backend regularly sends a current value for last seen object id and corresponding timestamp. If the were changes in the heap since last event then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event. - */ - addListener(event: "HeapProfiler.lastSeenObjectId", listener: (message: InspectorNotification) => void): this; - - /** - * If heap objects tracking has been started then backend may send update for one or more fragments - */ - addListener(event: "HeapProfiler.heapStatsUpdate", listener: (message: InspectorNotification) => void): this; - - /** - * Contains an bucket of collected trace events. - */ - addListener(event: "NodeTracing.dataCollected", listener: (message: InspectorNotification) => void): this; - - /** - * Signals that tracing is stopped and there is no trace buffers pending flush, all data were - * delivered via dataCollected events. - */ - addListener(event: "NodeTracing.tracingComplete", listener: () => void): this; - - /** - * Issued when attached to a worker. - */ - addListener(event: "NodeWorker.attachedToWorker", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when detached from the worker. - */ - addListener(event: "NodeWorker.detachedFromWorker", listener: (message: InspectorNotification) => void): this; - - /** - * Notifies about a new protocol message received from the session - * (session ID is provided in attachedToWorker notification). - */ - addListener(event: "NodeWorker.receivedMessageFromWorker", listener: (message: InspectorNotification) => void): this; - - /** - * This event is fired instead of `Runtime.executionContextDestroyed` when - * enabled. - * It is fired when the Node process finished all code execution and is - * waiting for all frontends to disconnect. - */ - addListener(event: "NodeRuntime.waitingForDisconnect", listener: () => void): this; - - emit(event: string | symbol, ...args: any[]): boolean; - emit(event: "inspectorNotification", message: InspectorNotification<{}>): boolean; - emit(event: "Runtime.executionContextCreated", message: InspectorNotification): boolean; - emit(event: "Runtime.executionContextDestroyed", message: InspectorNotification): boolean; - emit(event: "Runtime.executionContextsCleared"): boolean; - emit(event: "Runtime.exceptionThrown", message: InspectorNotification): boolean; - emit(event: "Runtime.exceptionRevoked", message: InspectorNotification): boolean; - emit(event: "Runtime.consoleAPICalled", message: InspectorNotification): boolean; - emit(event: "Runtime.inspectRequested", message: InspectorNotification): boolean; - emit(event: "Debugger.scriptParsed", message: InspectorNotification): boolean; - emit(event: "Debugger.scriptFailedToParse", message: InspectorNotification): boolean; - emit(event: "Debugger.breakpointResolved", message: InspectorNotification): boolean; - emit(event: "Debugger.paused", message: InspectorNotification): boolean; - emit(event: "Debugger.resumed"): boolean; - emit(event: "Console.messageAdded", message: InspectorNotification): boolean; - emit(event: "Profiler.consoleProfileStarted", message: InspectorNotification): boolean; - emit(event: "Profiler.consoleProfileFinished", message: InspectorNotification): boolean; - emit(event: "HeapProfiler.addHeapSnapshotChunk", message: InspectorNotification): boolean; - emit(event: "HeapProfiler.resetProfiles"): boolean; - emit(event: "HeapProfiler.reportHeapSnapshotProgress", message: InspectorNotification): boolean; - emit(event: "HeapProfiler.lastSeenObjectId", message: InspectorNotification): boolean; - emit(event: "HeapProfiler.heapStatsUpdate", message: InspectorNotification): boolean; - emit(event: "NodeTracing.dataCollected", message: InspectorNotification): boolean; - emit(event: "NodeTracing.tracingComplete"): boolean; - emit(event: "NodeWorker.attachedToWorker", message: InspectorNotification): boolean; - emit(event: "NodeWorker.detachedFromWorker", message: InspectorNotification): boolean; - emit(event: "NodeWorker.receivedMessageFromWorker", message: InspectorNotification): boolean; - emit(event: "NodeRuntime.waitingForDisconnect"): boolean; - - on(event: string, listener: (...args: any[]) => void): this; - - /** - * Emitted when any notification from the V8 Inspector is received. - */ - on(event: "inspectorNotification", listener: (message: InspectorNotification<{}>) => void): this; - - /** - * Issued when new execution context is created. - */ - on(event: "Runtime.executionContextCreated", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when execution context is destroyed. - */ - on(event: "Runtime.executionContextDestroyed", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when all executionContexts were cleared in browser - */ - on(event: "Runtime.executionContextsCleared", listener: () => void): this; - - /** - * Issued when exception was thrown and unhandled. - */ - on(event: "Runtime.exceptionThrown", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when unhandled exception was revoked. - */ - on(event: "Runtime.exceptionRevoked", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when console API was called. - */ - on(event: "Runtime.consoleAPICalled", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when object should be inspected (for example, as a result of inspect() command line API call). - */ - on(event: "Runtime.inspectRequested", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when virtual machine parses script. This event is also fired for all known and uncollected scripts upon enabling debugger. - */ - on(event: "Debugger.scriptParsed", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when virtual machine fails to parse the script. - */ - on(event: "Debugger.scriptFailedToParse", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when breakpoint is resolved to an actual script and location. - */ - on(event: "Debugger.breakpointResolved", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria. - */ - on(event: "Debugger.paused", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when the virtual machine resumed execution. - */ - on(event: "Debugger.resumed", listener: () => void): this; - - /** - * Issued when new console message is added. - */ - on(event: "Console.messageAdded", listener: (message: InspectorNotification) => void): this; - - /** - * Sent when new profile recording is started using console.profile() call. - */ - on(event: "Profiler.consoleProfileStarted", listener: (message: InspectorNotification) => void): this; - - on(event: "Profiler.consoleProfileFinished", listener: (message: InspectorNotification) => void): this; - on(event: "HeapProfiler.addHeapSnapshotChunk", listener: (message: InspectorNotification) => void): this; - on(event: "HeapProfiler.resetProfiles", listener: () => void): this; - on(event: "HeapProfiler.reportHeapSnapshotProgress", listener: (message: InspectorNotification) => void): this; - - /** - * If heap objects tracking has been started then backend regularly sends a current value for last seen object id and corresponding timestamp. If the were changes in the heap since last event then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event. - */ - on(event: "HeapProfiler.lastSeenObjectId", listener: (message: InspectorNotification) => void): this; - - /** - * If heap objects tracking has been started then backend may send update for one or more fragments - */ - on(event: "HeapProfiler.heapStatsUpdate", listener: (message: InspectorNotification) => void): this; - - /** - * Contains an bucket of collected trace events. - */ - on(event: "NodeTracing.dataCollected", listener: (message: InspectorNotification) => void): this; - - /** - * Signals that tracing is stopped and there is no trace buffers pending flush, all data were - * delivered via dataCollected events. - */ - on(event: "NodeTracing.tracingComplete", listener: () => void): this; - - /** - * Issued when attached to a worker. - */ - on(event: "NodeWorker.attachedToWorker", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when detached from the worker. - */ - on(event: "NodeWorker.detachedFromWorker", listener: (message: InspectorNotification) => void): this; - - /** - * Notifies about a new protocol message received from the session - * (session ID is provided in attachedToWorker notification). - */ - on(event: "NodeWorker.receivedMessageFromWorker", listener: (message: InspectorNotification) => void): this; - - /** - * This event is fired instead of `Runtime.executionContextDestroyed` when - * enabled. - * It is fired when the Node process finished all code execution and is - * waiting for all frontends to disconnect. - */ - on(event: "NodeRuntime.waitingForDisconnect", listener: () => void): this; - - once(event: string, listener: (...args: any[]) => void): this; - - /** - * Emitted when any notification from the V8 Inspector is received. - */ - once(event: "inspectorNotification", listener: (message: InspectorNotification<{}>) => void): this; - - /** - * Issued when new execution context is created. - */ - once(event: "Runtime.executionContextCreated", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when execution context is destroyed. - */ - once(event: "Runtime.executionContextDestroyed", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when all executionContexts were cleared in browser - */ - once(event: "Runtime.executionContextsCleared", listener: () => void): this; - - /** - * Issued when exception was thrown and unhandled. - */ - once(event: "Runtime.exceptionThrown", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when unhandled exception was revoked. - */ - once(event: "Runtime.exceptionRevoked", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when console API was called. - */ - once(event: "Runtime.consoleAPICalled", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when object should be inspected (for example, as a result of inspect() command line API call). - */ - once(event: "Runtime.inspectRequested", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when virtual machine parses script. This event is also fired for all known and uncollected scripts upon enabling debugger. - */ - once(event: "Debugger.scriptParsed", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when virtual machine fails to parse the script. - */ - once(event: "Debugger.scriptFailedToParse", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when breakpoint is resolved to an actual script and location. - */ - once(event: "Debugger.breakpointResolved", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria. - */ - once(event: "Debugger.paused", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when the virtual machine resumed execution. - */ - once(event: "Debugger.resumed", listener: () => void): this; - - /** - * Issued when new console message is added. - */ - once(event: "Console.messageAdded", listener: (message: InspectorNotification) => void): this; - - /** - * Sent when new profile recording is started using console.profile() call. - */ - once(event: "Profiler.consoleProfileStarted", listener: (message: InspectorNotification) => void): this; - - once(event: "Profiler.consoleProfileFinished", listener: (message: InspectorNotification) => void): this; - once(event: "HeapProfiler.addHeapSnapshotChunk", listener: (message: InspectorNotification) => void): this; - once(event: "HeapProfiler.resetProfiles", listener: () => void): this; - once(event: "HeapProfiler.reportHeapSnapshotProgress", listener: (message: InspectorNotification) => void): this; - - /** - * If heap objects tracking has been started then backend regularly sends a current value for last seen object id and corresponding timestamp. If the were changes in the heap since last event then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event. - */ - once(event: "HeapProfiler.lastSeenObjectId", listener: (message: InspectorNotification) => void): this; - - /** - * If heap objects tracking has been started then backend may send update for one or more fragments - */ - once(event: "HeapProfiler.heapStatsUpdate", listener: (message: InspectorNotification) => void): this; - - /** - * Contains an bucket of collected trace events. - */ - once(event: "NodeTracing.dataCollected", listener: (message: InspectorNotification) => void): this; - - /** - * Signals that tracing is stopped and there is no trace buffers pending flush, all data were - * delivered via dataCollected events. - */ - once(event: "NodeTracing.tracingComplete", listener: () => void): this; - - /** - * Issued when attached to a worker. - */ - once(event: "NodeWorker.attachedToWorker", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when detached from the worker. - */ - once(event: "NodeWorker.detachedFromWorker", listener: (message: InspectorNotification) => void): this; - - /** - * Notifies about a new protocol message received from the session - * (session ID is provided in attachedToWorker notification). - */ - once(event: "NodeWorker.receivedMessageFromWorker", listener: (message: InspectorNotification) => void): this; - - /** - * This event is fired instead of `Runtime.executionContextDestroyed` when - * enabled. - * It is fired when the Node process finished all code execution and is - * waiting for all frontends to disconnect. - */ - once(event: "NodeRuntime.waitingForDisconnect", listener: () => void): this; - - prependListener(event: string, listener: (...args: any[]) => void): this; - - /** - * Emitted when any notification from the V8 Inspector is received. - */ - prependListener(event: "inspectorNotification", listener: (message: InspectorNotification<{}>) => void): this; - - /** - * Issued when new execution context is created. - */ - prependListener(event: "Runtime.executionContextCreated", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when execution context is destroyed. - */ - prependListener(event: "Runtime.executionContextDestroyed", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when all executionContexts were cleared in browser - */ - prependListener(event: "Runtime.executionContextsCleared", listener: () => void): this; - - /** - * Issued when exception was thrown and unhandled. - */ - prependListener(event: "Runtime.exceptionThrown", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when unhandled exception was revoked. - */ - prependListener(event: "Runtime.exceptionRevoked", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when console API was called. - */ - prependListener(event: "Runtime.consoleAPICalled", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when object should be inspected (for example, as a result of inspect() command line API call). - */ - prependListener(event: "Runtime.inspectRequested", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when virtual machine parses script. This event is also fired for all known and uncollected scripts upon enabling debugger. - */ - prependListener(event: "Debugger.scriptParsed", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when virtual machine fails to parse the script. - */ - prependListener(event: "Debugger.scriptFailedToParse", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when breakpoint is resolved to an actual script and location. - */ - prependListener(event: "Debugger.breakpointResolved", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria. - */ - prependListener(event: "Debugger.paused", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when the virtual machine resumed execution. - */ - prependListener(event: "Debugger.resumed", listener: () => void): this; - - /** - * Issued when new console message is added. - */ - prependListener(event: "Console.messageAdded", listener: (message: InspectorNotification) => void): this; - - /** - * Sent when new profile recording is started using console.profile() call. - */ - prependListener(event: "Profiler.consoleProfileStarted", listener: (message: InspectorNotification) => void): this; - - prependListener(event: "Profiler.consoleProfileFinished", listener: (message: InspectorNotification) => void): this; - prependListener(event: "HeapProfiler.addHeapSnapshotChunk", listener: (message: InspectorNotification) => void): this; - prependListener(event: "HeapProfiler.resetProfiles", listener: () => void): this; - prependListener(event: "HeapProfiler.reportHeapSnapshotProgress", listener: (message: InspectorNotification) => void): this; - - /** - * If heap objects tracking has been started then backend regularly sends a current value for last seen object id and corresponding timestamp. If the were changes in the heap since last event then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event. - */ - prependListener(event: "HeapProfiler.lastSeenObjectId", listener: (message: InspectorNotification) => void): this; - - /** - * If heap objects tracking has been started then backend may send update for one or more fragments - */ - prependListener(event: "HeapProfiler.heapStatsUpdate", listener: (message: InspectorNotification) => void): this; - - /** - * Contains an bucket of collected trace events. - */ - prependListener(event: "NodeTracing.dataCollected", listener: (message: InspectorNotification) => void): this; - - /** - * Signals that tracing is stopped and there is no trace buffers pending flush, all data were - * delivered via dataCollected events. - */ - prependListener(event: "NodeTracing.tracingComplete", listener: () => void): this; - - /** - * Issued when attached to a worker. - */ - prependListener(event: "NodeWorker.attachedToWorker", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when detached from the worker. - */ - prependListener(event: "NodeWorker.detachedFromWorker", listener: (message: InspectorNotification) => void): this; - - /** - * Notifies about a new protocol message received from the session - * (session ID is provided in attachedToWorker notification). - */ - prependListener(event: "NodeWorker.receivedMessageFromWorker", listener: (message: InspectorNotification) => void): this; - - /** - * This event is fired instead of `Runtime.executionContextDestroyed` when - * enabled. - * It is fired when the Node process finished all code execution and is - * waiting for all frontends to disconnect. - */ - prependListener(event: "NodeRuntime.waitingForDisconnect", listener: () => void): this; - - prependOnceListener(event: string, listener: (...args: any[]) => void): this; - - /** - * Emitted when any notification from the V8 Inspector is received. - */ - prependOnceListener(event: "inspectorNotification", listener: (message: InspectorNotification<{}>) => void): this; - - /** - * Issued when new execution context is created. - */ - prependOnceListener(event: "Runtime.executionContextCreated", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when execution context is destroyed. - */ - prependOnceListener(event: "Runtime.executionContextDestroyed", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when all executionContexts were cleared in browser - */ - prependOnceListener(event: "Runtime.executionContextsCleared", listener: () => void): this; - - /** - * Issued when exception was thrown and unhandled. - */ - prependOnceListener(event: "Runtime.exceptionThrown", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when unhandled exception was revoked. - */ - prependOnceListener(event: "Runtime.exceptionRevoked", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when console API was called. - */ - prependOnceListener(event: "Runtime.consoleAPICalled", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when object should be inspected (for example, as a result of inspect() command line API call). - */ - prependOnceListener(event: "Runtime.inspectRequested", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when virtual machine parses script. This event is also fired for all known and uncollected scripts upon enabling debugger. - */ - prependOnceListener(event: "Debugger.scriptParsed", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when virtual machine fails to parse the script. - */ - prependOnceListener(event: "Debugger.scriptFailedToParse", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when breakpoint is resolved to an actual script and location. - */ - prependOnceListener(event: "Debugger.breakpointResolved", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria. - */ - prependOnceListener(event: "Debugger.paused", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when the virtual machine resumed execution. - */ - prependOnceListener(event: "Debugger.resumed", listener: () => void): this; - - /** - * Issued when new console message is added. - */ - prependOnceListener(event: "Console.messageAdded", listener: (message: InspectorNotification) => void): this; - - /** - * Sent when new profile recording is started using console.profile() call. - */ - prependOnceListener(event: "Profiler.consoleProfileStarted", listener: (message: InspectorNotification) => void): this; - - prependOnceListener(event: "Profiler.consoleProfileFinished", listener: (message: InspectorNotification) => void): this; - prependOnceListener(event: "HeapProfiler.addHeapSnapshotChunk", listener: (message: InspectorNotification) => void): this; - prependOnceListener(event: "HeapProfiler.resetProfiles", listener: () => void): this; - prependOnceListener(event: "HeapProfiler.reportHeapSnapshotProgress", listener: (message: InspectorNotification) => void): this; - - /** - * If heap objects tracking has been started then backend regularly sends a current value for last seen object id and corresponding timestamp. If the were changes in the heap since last event then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event. - */ - prependOnceListener(event: "HeapProfiler.lastSeenObjectId", listener: (message: InspectorNotification) => void): this; - - /** - * If heap objects tracking has been started then backend may send update for one or more fragments - */ - prependOnceListener(event: "HeapProfiler.heapStatsUpdate", listener: (message: InspectorNotification) => void): this; - - /** - * Contains an bucket of collected trace events. - */ - prependOnceListener(event: "NodeTracing.dataCollected", listener: (message: InspectorNotification) => void): this; - - /** - * Signals that tracing is stopped and there is no trace buffers pending flush, all data were - * delivered via dataCollected events. - */ - prependOnceListener(event: "NodeTracing.tracingComplete", listener: () => void): this; - - /** - * Issued when attached to a worker. - */ - prependOnceListener(event: "NodeWorker.attachedToWorker", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when detached from the worker. - */ - prependOnceListener(event: "NodeWorker.detachedFromWorker", listener: (message: InspectorNotification) => void): this; - - /** - * Notifies about a new protocol message received from the session - * (session ID is provided in attachedToWorker notification). - */ - prependOnceListener(event: "NodeWorker.receivedMessageFromWorker", listener: (message: InspectorNotification) => void): this; - - /** - * This event is fired instead of `Runtime.executionContextDestroyed` when - * enabled. - * It is fired when the Node process finished all code execution and is - * waiting for all frontends to disconnect. - */ - prependOnceListener(event: "NodeRuntime.waitingForDisconnect", listener: () => void): this; - } - - // Top Level API - - /** - * Activate inspector on host and port. Equivalent to node --inspect=[[host:]port], but can be done programatically after node has started. - * If wait is true, will block until a client has connected to the inspect port and flow control has been passed to the debugger client. - * @param port Port to listen on for inspector connections. Optional, defaults to what was specified on the CLI. - * @param host Host to listen on for inspector connections. Optional, defaults to what was specified on the CLI. - * @param wait Block until a client has connected. Optional, defaults to false. - */ - function open(port?: number, host?: string, wait?: boolean): void; - - /** - * Deactivate the inspector. Blocks until there are no active connections. - */ - function close(): void; - - /** - * Return the URL of the active inspector, or `undefined` if there is none. - */ - function url(): string | undefined; - - /** - * Blocks until a client (existing or connected later) has sent - * `Runtime.runIfWaitingForDebugger` command. - * An exception will be thrown if there is no active inspector. - */ - function waitForDebugger(): void; -} diff --git a/node_modules/@types/node/module.d.ts b/node_modules/@types/node/module.d.ts deleted file mode 100644 index ffb4a6e..0000000 --- a/node_modules/@types/node/module.d.ts +++ /dev/null @@ -1,52 +0,0 @@ -declare module "module" { - import { URL } from "url"; - namespace Module { - /** - * Updates all the live bindings for builtin ES Modules to match the properties of the CommonJS exports. - * It does not add or remove exported names from the ES Modules. - */ - function syncBuiltinESMExports(): void; - - function findSourceMap(path: string, error?: Error): SourceMap; - interface SourceMapPayload { - file: string; - version: number; - sources: string[]; - sourcesContent: string[]; - names: string[]; - mappings: string; - sourceRoot: string; - } - - interface SourceMapping { - generatedLine: number; - generatedColumn: number; - originalSource: string; - originalLine: number; - originalColumn: number; - } - - class SourceMap { - readonly payload: SourceMapPayload; - constructor(payload: SourceMapPayload); - findEntry(line: number, column: number): SourceMapping; - } - } - interface Module extends NodeModule {} - class Module { - static runMain(): void; - static wrap(code: string): string; - - /** - * @deprecated Deprecated since: v12.2.0. Please use createRequire() instead. - */ - static createRequireFromPath(path: string): NodeRequire; - static createRequire(path: string | URL): NodeRequire; - static builtinModules: string[]; - - static Module: typeof Module; - - constructor(id: string, parent?: Module); - } - export = Module; -} diff --git a/node_modules/@types/node/net.d.ts b/node_modules/@types/node/net.d.ts deleted file mode 100644 index f2cb4b1..0000000 --- a/node_modules/@types/node/net.d.ts +++ /dev/null @@ -1,281 +0,0 @@ -declare module "net" { - import * as stream from "stream"; - import * as events from "events"; - import * as dns from "dns"; - - type LookupFunction = (hostname: string, options: dns.LookupOneOptions, callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void) => void; - - interface AddressInfo { - address: string; - family: string; - port: number; - } - - interface SocketConstructorOpts { - fd?: number; - allowHalfOpen?: boolean; - readable?: boolean; - writable?: boolean; - } - - interface OnReadOpts { - buffer: Uint8Array | (() => Uint8Array); - /** - * This function is called for every chunk of incoming data. - * Two arguments are passed to it: the number of bytes written to buffer and a reference to buffer. - * Return false from this function to implicitly pause() the socket. - */ - callback(bytesWritten: number, buf: Uint8Array): boolean; - } - - interface ConnectOpts { - /** - * If specified, incoming data is stored in a single buffer and passed to the supplied callback when data arrives on the socket. - * Note: this will cause the streaming functionality to not provide any data, however events like 'error', 'end', and 'close' will - * still be emitted as normal and methods like pause() and resume() will also behave as expected. - */ - onread?: OnReadOpts; - } - - interface TcpSocketConnectOpts extends ConnectOpts { - port: number; - host?: string; - localAddress?: string; - localPort?: number; - hints?: number; - family?: number; - lookup?: LookupFunction; - } - - interface IpcSocketConnectOpts extends ConnectOpts { - path: string; - } - - type SocketConnectOpts = TcpSocketConnectOpts | IpcSocketConnectOpts; - - class Socket extends stream.Duplex { - constructor(options?: SocketConstructorOpts); - - // Extended base methods - write(buffer: Uint8Array | string, cb?: (err?: Error) => void): boolean; - write(str: Uint8Array | string, encoding?: BufferEncoding, cb?: (err?: Error) => void): boolean; - - connect(options: SocketConnectOpts, connectionListener?: () => void): this; - connect(port: number, host: string, connectionListener?: () => void): this; - connect(port: number, connectionListener?: () => void): this; - connect(path: string, connectionListener?: () => void): this; - - setEncoding(encoding?: BufferEncoding): this; - pause(): this; - resume(): this; - setTimeout(timeout: number, callback?: () => void): this; - setNoDelay(noDelay?: boolean): this; - setKeepAlive(enable?: boolean, initialDelay?: number): this; - address(): AddressInfo | {}; - unref(): this; - ref(): this; - - /** @deprecated since v14.6.0 - Use `writableLength` instead. */ - readonly bufferSize: number; - readonly bytesRead: number; - readonly bytesWritten: number; - readonly connecting: boolean; - readonly destroyed: boolean; - readonly localAddress: string; - readonly localPort: number; - readonly remoteAddress?: string; - readonly remoteFamily?: string; - readonly remotePort?: number; - - // Extended base methods - end(cb?: () => void): void; - end(buffer: Uint8Array | string, cb?: () => void): void; - end(str: Uint8Array | string, encoding?: BufferEncoding, cb?: () => void): void; - - /** - * events.EventEmitter - * 1. close - * 2. connect - * 3. data - * 4. drain - * 5. end - * 6. error - * 7. lookup - * 8. timeout - */ - addListener(event: string, listener: (...args: any[]) => void): this; - addListener(event: "close", listener: (had_error: boolean) => void): this; - addListener(event: "connect", listener: () => void): this; - addListener(event: "data", listener: (data: Buffer) => void): this; - addListener(event: "drain", listener: () => void): this; - addListener(event: "end", listener: () => void): this; - addListener(event: "error", listener: (err: Error) => void): this; - addListener(event: "lookup", listener: (err: Error, address: string, family: string | number, host: string) => void): this; - addListener(event: "timeout", listener: () => void): this; - - emit(event: string | symbol, ...args: any[]): boolean; - emit(event: "close", had_error: boolean): boolean; - emit(event: "connect"): boolean; - emit(event: "data", data: Buffer): boolean; - emit(event: "drain"): boolean; - emit(event: "end"): boolean; - emit(event: "error", err: Error): boolean; - emit(event: "lookup", err: Error, address: string, family: string | number, host: string): boolean; - emit(event: "timeout"): boolean; - - on(event: string, listener: (...args: any[]) => void): this; - on(event: "close", listener: (had_error: boolean) => void): this; - on(event: "connect", listener: () => void): this; - on(event: "data", listener: (data: Buffer) => void): this; - on(event: "drain", listener: () => void): this; - on(event: "end", listener: () => void): this; - on(event: "error", listener: (err: Error) => void): this; - on(event: "lookup", listener: (err: Error, address: string, family: string | number, host: string) => void): this; - on(event: "timeout", listener: () => void): this; - - once(event: string, listener: (...args: any[]) => void): this; - once(event: "close", listener: (had_error: boolean) => void): this; - once(event: "connect", listener: () => void): this; - once(event: "data", listener: (data: Buffer) => void): this; - once(event: "drain", listener: () => void): this; - once(event: "end", listener: () => void): this; - once(event: "error", listener: (err: Error) => void): this; - once(event: "lookup", listener: (err: Error, address: string, family: string | number, host: string) => void): this; - once(event: "timeout", listener: () => void): this; - - prependListener(event: string, listener: (...args: any[]) => void): this; - prependListener(event: "close", listener: (had_error: boolean) => void): this; - prependListener(event: "connect", listener: () => void): this; - prependListener(event: "data", listener: (data: Buffer) => void): this; - prependListener(event: "drain", listener: () => void): this; - prependListener(event: "end", listener: () => void): this; - prependListener(event: "error", listener: (err: Error) => void): this; - prependListener(event: "lookup", listener: (err: Error, address: string, family: string | number, host: string) => void): this; - prependListener(event: "timeout", listener: () => void): this; - - prependOnceListener(event: string, listener: (...args: any[]) => void): this; - prependOnceListener(event: "close", listener: (had_error: boolean) => void): this; - prependOnceListener(event: "connect", listener: () => void): this; - prependOnceListener(event: "data", listener: (data: Buffer) => void): this; - prependOnceListener(event: "drain", listener: () => void): this; - prependOnceListener(event: "end", listener: () => void): this; - prependOnceListener(event: "error", listener: (err: Error) => void): this; - prependOnceListener(event: "lookup", listener: (err: Error, address: string, family: string | number, host: string) => void): this; - prependOnceListener(event: "timeout", listener: () => void): this; - } - - interface ListenOptions { - port?: number; - host?: string; - backlog?: number; - path?: string; - exclusive?: boolean; - readableAll?: boolean; - writableAll?: boolean; - /** - * @default false - */ - ipv6Only?: boolean; - } - - interface ServerOpts { - /** - * Indicates whether half-opened TCP connections are allowed. __Default:__ `false`. - */ - allowHalfOpen?: boolean; - - /** - * Indicates whether the socket should be paused on incoming connections. __Default:__ `false`. - */ - pauseOnConnect?: boolean; - } - - // https://github.com/nodejs/node/blob/master/lib/net.js - class Server extends events.EventEmitter { - constructor(connectionListener?: (socket: Socket) => void); - constructor(options?: ServerOpts, connectionListener?: (socket: Socket) => void); - - listen(port?: number, hostname?: string, backlog?: number, listeningListener?: () => void): this; - listen(port?: number, hostname?: string, listeningListener?: () => void): this; - listen(port?: number, backlog?: number, listeningListener?: () => void): this; - listen(port?: number, listeningListener?: () => void): this; - listen(path: string, backlog?: number, listeningListener?: () => void): this; - listen(path: string, listeningListener?: () => void): this; - listen(options: ListenOptions, listeningListener?: () => void): this; - listen(handle: any, backlog?: number, listeningListener?: () => void): this; - listen(handle: any, listeningListener?: () => void): this; - close(callback?: (err?: Error) => void): this; - address(): AddressInfo | string | null; - getConnections(cb: (error: Error | null, count: number) => void): void; - ref(): this; - unref(): this; - maxConnections: number; - connections: number; - listening: boolean; - - /** - * events.EventEmitter - * 1. close - * 2. connection - * 3. error - * 4. listening - */ - addListener(event: string, listener: (...args: any[]) => void): this; - addListener(event: "close", listener: () => void): this; - addListener(event: "connection", listener: (socket: Socket) => void): this; - addListener(event: "error", listener: (err: Error) => void): this; - addListener(event: "listening", listener: () => void): this; - - emit(event: string | symbol, ...args: any[]): boolean; - emit(event: "close"): boolean; - emit(event: "connection", socket: Socket): boolean; - emit(event: "error", err: Error): boolean; - emit(event: "listening"): boolean; - - on(event: string, listener: (...args: any[]) => void): this; - on(event: "close", listener: () => void): this; - on(event: "connection", listener: (socket: Socket) => void): this; - on(event: "error", listener: (err: Error) => void): this; - on(event: "listening", listener: () => void): this; - - once(event: string, listener: (...args: any[]) => void): this; - once(event: "close", listener: () => void): this; - once(event: "connection", listener: (socket: Socket) => void): this; - once(event: "error", listener: (err: Error) => void): this; - once(event: "listening", listener: () => void): this; - - prependListener(event: string, listener: (...args: any[]) => void): this; - prependListener(event: "close", listener: () => void): this; - prependListener(event: "connection", listener: (socket: Socket) => void): this; - prependListener(event: "error", listener: (err: Error) => void): this; - prependListener(event: "listening", listener: () => void): this; - - prependOnceListener(event: string, listener: (...args: any[]) => void): this; - prependOnceListener(event: "close", listener: () => void): this; - prependOnceListener(event: "connection", listener: (socket: Socket) => void): this; - prependOnceListener(event: "error", listener: (err: Error) => void): this; - prependOnceListener(event: "listening", listener: () => void): this; - } - - interface TcpNetConnectOpts extends TcpSocketConnectOpts, SocketConstructorOpts { - timeout?: number; - } - - interface IpcNetConnectOpts extends IpcSocketConnectOpts, SocketConstructorOpts { - timeout?: number; - } - - type NetConnectOpts = TcpNetConnectOpts | IpcNetConnectOpts; - - function createServer(connectionListener?: (socket: Socket) => void): Server; - function createServer(options?: ServerOpts, connectionListener?: (socket: Socket) => void): Server; - function connect(options: NetConnectOpts, connectionListener?: () => void): Socket; - function connect(port: number, host?: string, connectionListener?: () => void): Socket; - function connect(path: string, connectionListener?: () => void): Socket; - function createConnection(options: NetConnectOpts, connectionListener?: () => void): Socket; - function createConnection(port: number, host?: string, connectionListener?: () => void): Socket; - function createConnection(path: string, connectionListener?: () => void): Socket; - function isIP(input: string): number; - function isIPv4(input: string): boolean; - function isIPv6(input: string): boolean; -} diff --git a/node_modules/@types/node/os.d.ts b/node_modules/@types/node/os.d.ts deleted file mode 100644 index 1aadc68..0000000 --- a/node_modules/@types/node/os.d.ts +++ /dev/null @@ -1,239 +0,0 @@ -declare module "os" { - interface CpuInfo { - model: string; - speed: number; - times: { - user: number; - nice: number; - sys: number; - idle: number; - irq: number; - }; - } - - interface NetworkInterfaceBase { - address: string; - netmask: string; - mac: string; - internal: boolean; - cidr: string | null; - } - - interface NetworkInterfaceInfoIPv4 extends NetworkInterfaceBase { - family: "IPv4"; - } - - interface NetworkInterfaceInfoIPv6 extends NetworkInterfaceBase { - family: "IPv6"; - scopeid: number; - } - - interface UserInfo { - username: T; - uid: number; - gid: number; - shell: T; - homedir: T; - } - - type NetworkInterfaceInfo = NetworkInterfaceInfoIPv4 | NetworkInterfaceInfoIPv6; - - function hostname(): string; - function loadavg(): number[]; - function uptime(): number; - function freemem(): number; - function totalmem(): number; - function cpus(): CpuInfo[]; - function type(): string; - function release(): string; - function networkInterfaces(): NodeJS.Dict; - function homedir(): string; - function userInfo(options: { encoding: 'buffer' }): UserInfo; - function userInfo(options?: { encoding: BufferEncoding }): UserInfo; - - type SignalConstants = { - [key in NodeJS.Signals]: number; - }; - - namespace constants { - const UV_UDP_REUSEADDR: number; - namespace signals {} - const signals: SignalConstants; - namespace errno { - const E2BIG: number; - const EACCES: number; - const EADDRINUSE: number; - const EADDRNOTAVAIL: number; - const EAFNOSUPPORT: number; - const EAGAIN: number; - const EALREADY: number; - const EBADF: number; - const EBADMSG: number; - const EBUSY: number; - const ECANCELED: number; - const ECHILD: number; - const ECONNABORTED: number; - const ECONNREFUSED: number; - const ECONNRESET: number; - const EDEADLK: number; - const EDESTADDRREQ: number; - const EDOM: number; - const EDQUOT: number; - const EEXIST: number; - const EFAULT: number; - const EFBIG: number; - const EHOSTUNREACH: number; - const EIDRM: number; - const EILSEQ: number; - const EINPROGRESS: number; - const EINTR: number; - const EINVAL: number; - const EIO: number; - const EISCONN: number; - const EISDIR: number; - const ELOOP: number; - const EMFILE: number; - const EMLINK: number; - const EMSGSIZE: number; - const EMULTIHOP: number; - const ENAMETOOLONG: number; - const ENETDOWN: number; - const ENETRESET: number; - const ENETUNREACH: number; - const ENFILE: number; - const ENOBUFS: number; - const ENODATA: number; - const ENODEV: number; - const ENOENT: number; - const ENOEXEC: number; - const ENOLCK: number; - const ENOLINK: number; - const ENOMEM: number; - const ENOMSG: number; - const ENOPROTOOPT: number; - const ENOSPC: number; - const ENOSR: number; - const ENOSTR: number; - const ENOSYS: number; - const ENOTCONN: number; - const ENOTDIR: number; - const ENOTEMPTY: number; - const ENOTSOCK: number; - const ENOTSUP: number; - const ENOTTY: number; - const ENXIO: number; - const EOPNOTSUPP: number; - const EOVERFLOW: number; - const EPERM: number; - const EPIPE: number; - const EPROTO: number; - const EPROTONOSUPPORT: number; - const EPROTOTYPE: number; - const ERANGE: number; - const EROFS: number; - const ESPIPE: number; - const ESRCH: number; - const ESTALE: number; - const ETIME: number; - const ETIMEDOUT: number; - const ETXTBSY: number; - const EWOULDBLOCK: number; - const EXDEV: number; - const WSAEINTR: number; - const WSAEBADF: number; - const WSAEACCES: number; - const WSAEFAULT: number; - const WSAEINVAL: number; - const WSAEMFILE: number; - const WSAEWOULDBLOCK: number; - const WSAEINPROGRESS: number; - const WSAEALREADY: number; - const WSAENOTSOCK: number; - const WSAEDESTADDRREQ: number; - const WSAEMSGSIZE: number; - const WSAEPROTOTYPE: number; - const WSAENOPROTOOPT: number; - const WSAEPROTONOSUPPORT: number; - const WSAESOCKTNOSUPPORT: number; - const WSAEOPNOTSUPP: number; - const WSAEPFNOSUPPORT: number; - const WSAEAFNOSUPPORT: number; - const WSAEADDRINUSE: number; - const WSAEADDRNOTAVAIL: number; - const WSAENETDOWN: number; - const WSAENETUNREACH: number; - const WSAENETRESET: number; - const WSAECONNABORTED: number; - const WSAECONNRESET: number; - const WSAENOBUFS: number; - const WSAEISCONN: number; - const WSAENOTCONN: number; - const WSAESHUTDOWN: number; - const WSAETOOMANYREFS: number; - const WSAETIMEDOUT: number; - const WSAECONNREFUSED: number; - const WSAELOOP: number; - const WSAENAMETOOLONG: number; - const WSAEHOSTDOWN: number; - const WSAEHOSTUNREACH: number; - const WSAENOTEMPTY: number; - const WSAEPROCLIM: number; - const WSAEUSERS: number; - const WSAEDQUOT: number; - const WSAESTALE: number; - const WSAEREMOTE: number; - const WSASYSNOTREADY: number; - const WSAVERNOTSUPPORTED: number; - const WSANOTINITIALISED: number; - const WSAEDISCON: number; - const WSAENOMORE: number; - const WSAECANCELLED: number; - const WSAEINVALIDPROCTABLE: number; - const WSAEINVALIDPROVIDER: number; - const WSAEPROVIDERFAILEDINIT: number; - const WSASYSCALLFAILURE: number; - const WSASERVICE_NOT_FOUND: number; - const WSATYPE_NOT_FOUND: number; - const WSA_E_NO_MORE: number; - const WSA_E_CANCELLED: number; - const WSAEREFUSED: number; - } - namespace priority { - const PRIORITY_LOW: number; - const PRIORITY_BELOW_NORMAL: number; - const PRIORITY_NORMAL: number; - const PRIORITY_ABOVE_NORMAL: number; - const PRIORITY_HIGH: number; - const PRIORITY_HIGHEST: number; - } - } - - function arch(): string; - /** - * Returns a string identifying the kernel version. - * On POSIX systems, the operating system release is determined by calling - * [uname(3)][]. On Windows, `pRtlGetVersion` is used, and if it is not available, - * `GetVersionExW()` will be used. See - * https://en.wikipedia.org/wiki/Uname#Examples for more information. - */ - function version(): string; - function platform(): NodeJS.Platform; - function tmpdir(): string; - const EOL: string; - function endianness(): "BE" | "LE"; - /** - * Gets the priority of a process. - * Defaults to current process. - */ - function getPriority(pid?: number): number; - /** - * Sets the priority of the current process. - * @param priority Must be in range of -20 to 19 - */ - function setPriority(priority: number): void; - /** - * Sets the priority of the process specified process. - * @param priority Must be in range of -20 to 19 - */ - function setPriority(pid: number, priority: number): void; -} diff --git a/node_modules/@types/node/package.json b/node_modules/@types/node/package.json deleted file mode 100644 index 5d9ca15..0000000 --- a/node_modules/@types/node/package.json +++ /dev/null @@ -1,256 +0,0 @@ -{ - "name": "@types/node", - "version": "14.14.25", - "description": "TypeScript definitions for Node.js", - "license": "MIT", - "contributors": [ - { - "name": "Microsoft TypeScript", - "url": "https://github.com/Microsoft", - "githubUsername": "Microsoft" - }, - { - "name": "DefinitelyTyped", - "url": "https://github.com/DefinitelyTyped", - "githubUsername": "DefinitelyTyped" - }, - { - "name": "Alberto Schiabel", - "url": "https://github.com/jkomyno", - "githubUsername": "jkomyno" - }, - { - "name": "Alexander T.", - "url": "https://github.com/a-tarasyuk", - "githubUsername": "a-tarasyuk" - }, - { - "name": "Alvis HT Tang", - "url": "https://github.com/alvis", - "githubUsername": "alvis" - }, - { - "name": "Andrew Makarov", - "url": "https://github.com/r3nya", - "githubUsername": "r3nya" - }, - { - "name": "Benjamin Toueg", - "url": "https://github.com/btoueg", - "githubUsername": "btoueg" - }, - { - "name": "Bruno Scheufler", - "url": "https://github.com/brunoscheufler", - "githubUsername": "brunoscheufler" - }, - { - "name": "Chigozirim C.", - "url": "https://github.com/smac89", - "githubUsername": "smac89" - }, - { - "name": "David Junger", - "url": "https://github.com/touffy", - "githubUsername": "touffy" - }, - { - "name": "Deividas Bakanas", - "url": "https://github.com/DeividasBakanas", - "githubUsername": "DeividasBakanas" - }, - { - "name": "Eugene Y. Q. Shen", - "url": "https://github.com/eyqs", - "githubUsername": "eyqs" - }, - { - "name": "Flarna", - "url": "https://github.com/Flarna", - "githubUsername": "Flarna" - }, - { - "name": "Hannes Magnusson", - "url": "https://github.com/Hannes-Magnusson-CK", - "githubUsername": "Hannes-Magnusson-CK" - }, - { - "name": "Hoàng Văn Khải", - "url": "https://github.com/KSXGitHub", - "githubUsername": "KSXGitHub" - }, - { - "name": "Huw", - "url": "https://github.com/hoo29", - "githubUsername": "hoo29" - }, - { - "name": "Kelvin Jin", - "url": "https://github.com/kjin", - "githubUsername": "kjin" - }, - { - "name": "Klaus Meinhardt", - "url": "https://github.com/ajafff", - "githubUsername": "ajafff" - }, - { - "name": "Lishude", - "url": "https://github.com/islishude", - "githubUsername": "islishude" - }, - { - "name": "Mariusz Wiktorczyk", - "url": "https://github.com/mwiktorczyk", - "githubUsername": "mwiktorczyk" - }, - { - "name": "Mohsen Azimi", - "url": "https://github.com/mohsen1", - "githubUsername": "mohsen1" - }, - { - "name": "Nicolas Even", - "url": "https://github.com/n-e", - "githubUsername": "n-e" - }, - { - "name": "Nikita Galkin", - "url": "https://github.com/galkin", - "githubUsername": "galkin" - }, - { - "name": "Parambir Singh", - "url": "https://github.com/parambirs", - "githubUsername": "parambirs" - }, - { - "name": "Sebastian Silbermann", - "url": "https://github.com/eps1lon", - "githubUsername": "eps1lon" - }, - { - "name": "Simon Schick", - "url": "https://github.com/SimonSchick", - "githubUsername": "SimonSchick" - }, - { - "name": "Thomas den Hollander", - "url": "https://github.com/ThomasdenH", - "githubUsername": "ThomasdenH" - }, - { - "name": "Wilco Bakker", - "url": "https://github.com/WilcoBakker", - "githubUsername": "WilcoBakker" - }, - { - "name": "wwwy3y3", - "url": "https://github.com/wwwy3y3", - "githubUsername": "wwwy3y3" - }, - { - "name": "Samuel Ainsworth", - "url": "https://github.com/samuela", - "githubUsername": "samuela" - }, - { - "name": "Kyle Uehlein", - "url": "https://github.com/kuehlein", - "githubUsername": "kuehlein" - }, - { - "name": "Jordi Oliveras Rovira", - "url": "https://github.com/j-oliveras", - "githubUsername": "j-oliveras" - }, - { - "name": "Thanik Bhongbhibhat", - "url": "https://github.com/bhongy", - "githubUsername": "bhongy" - }, - { - "name": "Marcin Kopacz", - "url": "https://github.com/chyzwar", - "githubUsername": "chyzwar" - }, - { - "name": "Trivikram Kamat", - "url": "https://github.com/trivikr", - "githubUsername": "trivikr" - }, - { - "name": "Minh Son Nguyen", - "url": "https://github.com/nguymin4", - "githubUsername": "nguymin4" - }, - { - "name": "Junxiao Shi", - "url": "https://github.com/yoursunny", - "githubUsername": "yoursunny" - }, - { - "name": "Ilia Baryshnikov", - "url": "https://github.com/qwelias", - "githubUsername": "qwelias" - }, - { - "name": "ExE Boss", - "url": "https://github.com/ExE-Boss", - "githubUsername": "ExE-Boss" - }, - { - "name": "Surasak Chaisurin", - "url": "https://github.com/Ryan-Willpower", - "githubUsername": "Ryan-Willpower" - }, - { - "name": "Piotr Błażejewicz", - "url": "https://github.com/peterblazejewicz", - "githubUsername": "peterblazejewicz" - }, - { - "name": "Anna Henningsen", - "url": "https://github.com/addaleax", - "githubUsername": "addaleax" - }, - { - "name": "Jason Kwok", - "url": "https://github.com/JasonHK", - "githubUsername": "JasonHK" - }, - { - "name": "Victor Perin", - "url": "https://github.com/victorperin", - "githubUsername": "victorperin" - }, - { - "name": "Yongsheng Zhang", - "url": "https://github.com/ZYSzys", - "githubUsername": "ZYSzys" - } - ], - "main": "", - "types": "index.d.ts", - "typesVersions": { - "<=3.4": { - "*": [ - "ts3.4/*" - ] - }, - "<=3.6": { - "*": [ - "ts3.6/*" - ] - } - }, - "repository": { - "type": "git", - "url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git", - "directory": "types/node" - }, - "scripts": {}, - "dependencies": {}, - "typesPublisherContentHash": "03fe917af611a5f93079169600cfc62c6f9ba94e93ff60f8601364c2ff26ee32", - "typeScriptVersion": "3.4" -} \ No newline at end of file diff --git a/node_modules/@types/node/path.d.ts b/node_modules/@types/node/path.d.ts deleted file mode 100644 index 0273d58..0000000 --- a/node_modules/@types/node/path.d.ts +++ /dev/null @@ -1,153 +0,0 @@ -declare module "path" { - namespace path { - /** - * A parsed path object generated by path.parse() or consumed by path.format(). - */ - interface ParsedPath { - /** - * The root of the path such as '/' or 'c:\' - */ - root: string; - /** - * The full directory path such as '/home/user/dir' or 'c:\path\dir' - */ - dir: string; - /** - * The file name including extension (if any) such as 'index.html' - */ - base: string; - /** - * The file extension (if any) such as '.html' - */ - ext: string; - /** - * The file name without extension (if any) such as 'index' - */ - name: string; - } - - interface FormatInputPathObject { - /** - * The root of the path such as '/' or 'c:\' - */ - root?: string; - /** - * The full directory path such as '/home/user/dir' or 'c:\path\dir' - */ - dir?: string; - /** - * The file name including extension (if any) such as 'index.html' - */ - base?: string; - /** - * The file extension (if any) such as '.html' - */ - ext?: string; - /** - * The file name without extension (if any) such as 'index' - */ - name?: string; - } - - interface PlatformPath { - /** - * Normalize a string path, reducing '..' and '.' parts. - * When multiple slashes are found, they're replaced by a single one; when the path contains a trailing slash, it is preserved. On Windows backslashes are used. - * - * @param p string path to normalize. - */ - normalize(p: string): string; - /** - * Join all arguments together and normalize the resulting path. - * Arguments must be strings. In v0.8, non-string arguments were silently ignored. In v0.10 and up, an exception is thrown. - * - * @param paths paths to join. - */ - join(...paths: string[]): string; - /** - * The right-most parameter is considered {to}. Other parameters are considered an array of {from}. - * - * Starting from leftmost {from} parameter, resolves {to} to an absolute path. - * - * If {to} isn't already absolute, {from} arguments are prepended in right to left order, - * until an absolute path is found. If after using all {from} paths still no absolute path is found, - * the current working directory is used as well. The resulting path is normalized, - * and trailing slashes are removed unless the path gets resolved to the root directory. - * - * @param pathSegments string paths to join. Non-string arguments are ignored. - */ - resolve(...pathSegments: string[]): string; - /** - * Determines whether {path} is an absolute path. An absolute path will always resolve to the same location, regardless of the working directory. - * - * @param path path to test. - */ - isAbsolute(p: string): boolean; - /** - * Solve the relative path from {from} to {to}. - * At times we have two absolute paths, and we need to derive the relative path from one to the other. This is actually the reverse transform of path.resolve. - */ - relative(from: string, to: string): string; - /** - * Return the directory name of a path. Similar to the Unix dirname command. - * - * @param p the path to evaluate. - */ - dirname(p: string): string; - /** - * Return the last portion of a path. Similar to the Unix basename command. - * Often used to extract the file name from a fully qualified path. - * - * @param p the path to evaluate. - * @param ext optionally, an extension to remove from the result. - */ - basename(p: string, ext?: string): string; - /** - * Return the extension of the path, from the last '.' to end of string in the last portion of the path. - * If there is no '.' in the last portion of the path or the first character of it is '.', then it returns an empty string - * - * @param p the path to evaluate. - */ - extname(p: string): string; - /** - * The platform-specific file separator. '\\' or '/'. - */ - readonly sep: string; - /** - * The platform-specific file delimiter. ';' or ':'. - */ - readonly delimiter: string; - /** - * Returns an object from a path string - the opposite of format(). - * - * @param pathString path to evaluate. - */ - parse(p: string): ParsedPath; - /** - * Returns a path string from an object - the opposite of parse(). - * - * @param pathString path to evaluate. - */ - format(pP: FormatInputPathObject): string; - /** - * On Windows systems only, returns an equivalent namespace-prefixed path for the given path. - * If path is not a string, path will be returned without modifications. - * This method is meaningful only on Windows system. - * On POSIX systems, the method is non-operational and always returns path without modifications. - */ - toNamespacedPath(path: string): string; - /** - * Posix specific pathing. - * Same as parent object on posix. - */ - readonly posix: PlatformPath; - /** - * Windows specific pathing. - * Same as parent object on windows - */ - readonly win32: PlatformPath; - } - } - const path: path.PlatformPath; - export = path; -} diff --git a/node_modules/@types/node/perf_hooks.d.ts b/node_modules/@types/node/perf_hooks.d.ts deleted file mode 100644 index bbea938..0000000 --- a/node_modules/@types/node/perf_hooks.d.ts +++ /dev/null @@ -1,271 +0,0 @@ -declare module 'perf_hooks' { - import { AsyncResource } from 'async_hooks'; - - type EntryType = 'node' | 'mark' | 'measure' | 'gc' | 'function' | 'http2' | 'http'; - - interface PerformanceEntry { - /** - * The total number of milliseconds elapsed for this entry. - * This value will not be meaningful for all Performance Entry types. - */ - readonly duration: number; - - /** - * The name of the performance entry. - */ - readonly name: string; - - /** - * The high resolution millisecond timestamp marking the starting time of the Performance Entry. - */ - readonly startTime: number; - - /** - * The type of the performance entry. - * Currently it may be one of: 'node', 'mark', 'measure', 'gc', or 'function'. - */ - readonly entryType: EntryType; - - /** - * When `performanceEntry.entryType` is equal to 'gc', `the performance.kind` property identifies - * the type of garbage collection operation that occurred. - * See perf_hooks.constants for valid values. - */ - readonly kind?: number; - - /** - * When `performanceEntry.entryType` is equal to 'gc', the `performance.flags` - * property contains additional information about garbage collection operation. - * See perf_hooks.constants for valid values. - */ - readonly flags?: number; - } - - interface PerformanceNodeTiming extends PerformanceEntry { - /** - * The high resolution millisecond timestamp at which the Node.js process completed bootstrap. - */ - readonly bootstrapComplete: number; - - /** - * The high resolution millisecond timestamp at which the Node.js process completed bootstrapping. - * If bootstrapping has not yet finished, the property has the value of -1. - */ - readonly environment: number; - - /** - * The high resolution millisecond timestamp at which the Node.js environment was initialized. - */ - readonly idleTime: number; - - /** - * The high resolution millisecond timestamp of the amount of time the event loop has been idle - * within the event loop's event provider (e.g. `epoll_wait`). This does not take CPU usage - * into consideration. If the event loop has not yet started (e.g., in the first tick of the main script), - * the property has the value of 0. - */ - readonly loopExit: number; - - /** - * The high resolution millisecond timestamp at which the Node.js event loop started. - * If the event loop has not yet started (e.g., in the first tick of the main script), the property has the value of -1. - */ - readonly loopStart: number; - - /** - * The high resolution millisecond timestamp at which the V8 platform was initialized. - */ - readonly v8Start: number; - } - - interface EventLoopUtilization { - idle: number; - active: number; - utilization: number; - } - - interface Performance { - /** - * If name is not provided, removes all PerformanceMark objects from the Performance Timeline. - * If name is provided, removes only the named mark. - * @param name - */ - clearMarks(name?: string): void; - - /** - * Creates a new PerformanceMark entry in the Performance Timeline. - * A PerformanceMark is a subclass of PerformanceEntry whose performanceEntry.entryType is always 'mark', - * and whose performanceEntry.duration is always 0. - * Performance marks are used to mark specific significant moments in the Performance Timeline. - * @param name - */ - mark(name?: string): void; - - /** - * Creates a new PerformanceMeasure entry in the Performance Timeline. - * A PerformanceMeasure is a subclass of PerformanceEntry whose performanceEntry.entryType is always 'measure', - * and whose performanceEntry.duration measures the number of milliseconds elapsed since startMark and endMark. - * - * The startMark argument may identify any existing PerformanceMark in the the Performance Timeline, or may identify - * any of the timestamp properties provided by the PerformanceNodeTiming class. If the named startMark does not exist, - * then startMark is set to timeOrigin by default. - * - * The endMark argument must identify any existing PerformanceMark in the the Performance Timeline or any of the timestamp - * properties provided by the PerformanceNodeTiming class. If the named endMark does not exist, an error will be thrown. - * @param name - * @param startMark - * @param endMark - */ - measure(name: string, startMark: string, endMark: string): void; - - /** - * An instance of the PerformanceNodeTiming class that provides performance metrics for specific Node.js operational milestones. - */ - readonly nodeTiming: PerformanceNodeTiming; - - /** - * @return the current high resolution millisecond timestamp - */ - now(): number; - - /** - * The timeOrigin specifies the high resolution millisecond timestamp from which all performance metric durations are measured. - */ - readonly timeOrigin: number; - - /** - * Wraps a function within a new function that measures the running time of the wrapped function. - * A PerformanceObserver must be subscribed to the 'function' event type in order for the timing details to be accessed. - * @param fn - */ - timerify any>(fn: T): T; - - /** - * eventLoopUtilization is similar to CPU utilization except that it is calculated using high precision wall-clock time. - * It represents the percentage of time the event loop has spent outside the event loop's event provider (e.g. epoll_wait). - * No other CPU idle time is taken into consideration. - * - * @param util1 The result of a previous call to eventLoopUtilization() - * @param util2 The result of a previous call to eventLoopUtilization() prior to util1 - */ - eventLoopUtilization(util1?: EventLoopUtilization, util2?: EventLoopUtilization): EventLoopUtilization; - } - - interface PerformanceObserverEntryList { - /** - * @return a list of PerformanceEntry objects in chronological order with respect to performanceEntry.startTime. - */ - getEntries(): PerformanceEntry[]; - - /** - * @return a list of PerformanceEntry objects in chronological order with respect to performanceEntry.startTime - * whose performanceEntry.name is equal to name, and optionally, whose performanceEntry.entryType is equal to type. - */ - getEntriesByName(name: string, type?: EntryType): PerformanceEntry[]; - - /** - * @return Returns a list of PerformanceEntry objects in chronological order with respect to performanceEntry.startTime - * whose performanceEntry.entryType is equal to type. - */ - getEntriesByType(type: EntryType): PerformanceEntry[]; - } - - type PerformanceObserverCallback = (list: PerformanceObserverEntryList, observer: PerformanceObserver) => void; - - class PerformanceObserver extends AsyncResource { - constructor(callback: PerformanceObserverCallback); - - /** - * Disconnects the PerformanceObserver instance from all notifications. - */ - disconnect(): void; - - /** - * Subscribes the PerformanceObserver instance to notifications of new PerformanceEntry instances identified by options.entryTypes. - * When options.buffered is false, the callback will be invoked once for every PerformanceEntry instance. - * Property buffered defaults to false. - * @param options - */ - observe(options: { entryTypes: ReadonlyArray; buffered?: boolean }): void; - } - - namespace constants { - const NODE_PERFORMANCE_GC_MAJOR: number; - const NODE_PERFORMANCE_GC_MINOR: number; - const NODE_PERFORMANCE_GC_INCREMENTAL: number; - const NODE_PERFORMANCE_GC_WEAKCB: number; - - const NODE_PERFORMANCE_GC_FLAGS_NO: number; - const NODE_PERFORMANCE_GC_FLAGS_CONSTRUCT_RETAINED: number; - const NODE_PERFORMANCE_GC_FLAGS_FORCED: number; - const NODE_PERFORMANCE_GC_FLAGS_SYNCHRONOUS_PHANTOM_PROCESSING: number; - const NODE_PERFORMANCE_GC_FLAGS_ALL_AVAILABLE_GARBAGE: number; - const NODE_PERFORMANCE_GC_FLAGS_ALL_EXTERNAL_MEMORY: number; - const NODE_PERFORMANCE_GC_FLAGS_SCHEDULE_IDLE: number; - } - - const performance: Performance; - - interface EventLoopMonitorOptions { - /** - * The sampling rate in milliseconds. - * Must be greater than zero. - * @default 10 - */ - resolution?: number; - } - - interface EventLoopDelayMonitor { - /** - * Enables the event loop delay sample timer. Returns `true` if the timer was started, `false` if it was already started. - */ - enable(): boolean; - /** - * Disables the event loop delay sample timer. Returns `true` if the timer was stopped, `false` if it was already stopped. - */ - disable(): boolean; - - /** - * Resets the collected histogram data. - */ - reset(): void; - - /** - * Returns the value at the given percentile. - * @param percentile A percentile value between 1 and 100. - */ - percentile(percentile: number): number; - - /** - * A `Map` object detailing the accumulated percentile distribution. - */ - readonly percentiles: Map; - - /** - * The number of times the event loop delay exceeded the maximum 1 hour eventloop delay threshold. - */ - readonly exceeds: number; - - /** - * The minimum recorded event loop delay. - */ - readonly min: number; - - /** - * The maximum recorded event loop delay. - */ - readonly max: number; - - /** - * The mean of the recorded event loop delays. - */ - readonly mean: number; - - /** - * The standard deviation of the recorded event loop delays. - */ - readonly stddev: number; - } - - function monitorEventLoopDelay(options?: EventLoopMonitorOptions): EventLoopDelayMonitor; -} diff --git a/node_modules/@types/node/process.d.ts b/node_modules/@types/node/process.d.ts deleted file mode 100644 index 65fe5ca..0000000 --- a/node_modules/@types/node/process.d.ts +++ /dev/null @@ -1,408 +0,0 @@ -declare module "process" { - import * as tty from "tty"; - - global { - var process: NodeJS.Process; - - namespace NodeJS { - // this namespace merge is here because these are specifically used - // as the type for process.stdin, process.stdout, and process.stderr. - // they can't live in tty.d.ts because we need to disambiguate the imported name. - interface ReadStream extends tty.ReadStream {} - interface WriteStream extends tty.WriteStream {} - - interface MemoryUsage { - rss: number; - heapTotal: number; - heapUsed: number; - external: number; - arrayBuffers: number; - } - - interface CpuUsage { - user: number; - system: number; - } - - interface ProcessRelease { - name: string; - sourceUrl?: string; - headersUrl?: string; - libUrl?: string; - lts?: string; - } - - interface ProcessVersions extends Dict { - http_parser: string; - node: string; - v8: string; - ares: string; - uv: string; - zlib: string; - modules: string; - openssl: string; - } - - type Platform = 'aix' - | 'android' - | 'darwin' - | 'freebsd' - | 'linux' - | 'openbsd' - | 'sunos' - | 'win32' - | 'cygwin' - | 'netbsd'; - - type Signals = - "SIGABRT" | "SIGALRM" | "SIGBUS" | "SIGCHLD" | "SIGCONT" | "SIGFPE" | "SIGHUP" | "SIGILL" | "SIGINT" | "SIGIO" | - "SIGIOT" | "SIGKILL" | "SIGPIPE" | "SIGPOLL" | "SIGPROF" | "SIGPWR" | "SIGQUIT" | "SIGSEGV" | "SIGSTKFLT" | - "SIGSTOP" | "SIGSYS" | "SIGTERM" | "SIGTRAP" | "SIGTSTP" | "SIGTTIN" | "SIGTTOU" | "SIGUNUSED" | "SIGURG" | - "SIGUSR1" | "SIGUSR2" | "SIGVTALRM" | "SIGWINCH" | "SIGXCPU" | "SIGXFSZ" | "SIGBREAK" | "SIGLOST" | "SIGINFO"; - - type MultipleResolveType = 'resolve' | 'reject'; - - type BeforeExitListener = (code: number) => void; - type DisconnectListener = () => void; - type ExitListener = (code: number) => void; - type RejectionHandledListener = (promise: Promise) => void; - type UncaughtExceptionListener = (error: Error) => void; - type UnhandledRejectionListener = (reason: {} | null | undefined, promise: Promise) => void; - type WarningListener = (warning: Error) => void; - type MessageListener = (message: any, sendHandle: any) => void; - type SignalsListener = (signal: Signals) => void; - type NewListenerListener = (type: string | symbol, listener: (...args: any[]) => void) => void; - type RemoveListenerListener = (type: string | symbol, listener: (...args: any[]) => void) => void; - type MultipleResolveListener = (type: MultipleResolveType, promise: Promise, value: any) => void; - - interface Socket extends ReadWriteStream { - isTTY?: true; - } - - // Alias for compatibility - interface ProcessEnv extends Dict {} - - interface HRTime { - (time?: [number, number]): [number, number]; - bigint(): bigint; - } - - interface ProcessReport { - /** - * Directory where the report is written. - * working directory of the Node.js process. - * @default '' indicating that reports are written to the current - */ - directory: string; - - /** - * Filename where the report is written. - * The default value is the empty string. - * @default '' the output filename will be comprised of a timestamp, - * PID, and sequence number. - */ - filename: string; - - /** - * Returns a JSON-formatted diagnostic report for the running process. - * The report's JavaScript stack trace is taken from err, if present. - */ - getReport(err?: Error): string; - - /** - * If true, a diagnostic report is generated on fatal errors, - * such as out of memory errors or failed C++ assertions. - * @default false - */ - reportOnFatalError: boolean; - - /** - * If true, a diagnostic report is generated when the process - * receives the signal specified by process.report.signal. - * @defaul false - */ - reportOnSignal: boolean; - - /** - * If true, a diagnostic report is generated on uncaught exception. - * @default false - */ - reportOnUncaughtException: boolean; - - /** - * The signal used to trigger the creation of a diagnostic report. - * @default 'SIGUSR2' - */ - signal: Signals; - - /** - * Writes a diagnostic report to a file. If filename is not provided, the default filename - * includes the date, time, PID, and a sequence number. - * The report's JavaScript stack trace is taken from err, if present. - * - * @param fileName Name of the file where the report is written. - * This should be a relative path, that will be appended to the directory specified in - * `process.report.directory`, or the current working directory of the Node.js process, - * if unspecified. - * @param error A custom error used for reporting the JavaScript stack. - * @return Filename of the generated report. - */ - writeReport(fileName?: string): string; - writeReport(error?: Error): string; - writeReport(fileName?: string, err?: Error): string; - } - - interface ResourceUsage { - fsRead: number; - fsWrite: number; - involuntaryContextSwitches: number; - ipcReceived: number; - ipcSent: number; - majorPageFault: number; - maxRSS: number; - minorPageFault: number; - sharedMemorySize: number; - signalsCount: number; - swappedOut: number; - systemCPUTime: number; - unsharedDataSize: number; - unsharedStackSize: number; - userCPUTime: number; - voluntaryContextSwitches: number; - } - - interface Process extends EventEmitter { - /** - * Can also be a tty.WriteStream, not typed due to limitations. - */ - stdout: WriteStream & { - fd: 1; - }; - /** - * Can also be a tty.WriteStream, not typed due to limitations. - */ - stderr: WriteStream & { - fd: 2; - }; - stdin: ReadStream & { - fd: 0; - }; - openStdin(): Socket; - argv: string[]; - argv0: string; - execArgv: string[]; - execPath: string; - abort(): never; - chdir(directory: string): void; - cwd(): string; - debugPort: number; - emitWarning(warning: string | Error, name?: string, ctor?: Function): void; - env: ProcessEnv; - exit(code?: number): never; - exitCode?: number; - getgid(): number; - setgid(id: number | string): void; - getuid(): number; - setuid(id: number | string): void; - geteuid(): number; - seteuid(id: number | string): void; - getegid(): number; - setegid(id: number | string): void; - getgroups(): number[]; - setgroups(groups: ReadonlyArray): void; - setUncaughtExceptionCaptureCallback(cb: ((err: Error) => void) | null): void; - hasUncaughtExceptionCaptureCallback(): boolean; - version: string; - versions: ProcessVersions; - config: { - target_defaults: { - cflags: any[]; - default_configuration: string; - defines: string[]; - include_dirs: string[]; - libraries: string[]; - }; - variables: { - clang: number; - host_arch: string; - node_install_npm: boolean; - node_install_waf: boolean; - node_prefix: string; - node_shared_openssl: boolean; - node_shared_v8: boolean; - node_shared_zlib: boolean; - node_use_dtrace: boolean; - node_use_etw: boolean; - node_use_openssl: boolean; - target_arch: string; - v8_no_strict_aliasing: number; - v8_use_snapshot: boolean; - visibility: string; - }; - }; - kill(pid: number, signal?: string | number): true; - pid: number; - ppid: number; - title: string; - arch: string; - platform: Platform; - /** @deprecated since v14.0.0 - use `require.main` instead. */ - mainModule?: Module; - memoryUsage(): MemoryUsage; - cpuUsage(previousValue?: CpuUsage): CpuUsage; - nextTick(callback: Function, ...args: any[]): void; - release: ProcessRelease; - features: { - inspector: boolean; - debug: boolean; - uv: boolean; - ipv6: boolean; - tls_alpn: boolean; - tls_sni: boolean; - tls_ocsp: boolean; - tls: boolean; - }; - /** - * @deprecated since v14.0.0 - Calling process.umask() with no argument causes - * the process-wide umask to be written twice. This introduces a race condition between threads, - * and is a potential security vulnerability. There is no safe, cross-platform alternative API. - */ - umask(): number; - /** - * Can only be set if not in worker thread. - */ - umask(mask: string | number): number; - uptime(): number; - hrtime: HRTime; - domain: Domain; - - // Worker - send?(message: any, sendHandle?: any, options?: { swallowErrors?: boolean}, callback?: (error: Error | null) => void): boolean; - disconnect(): void; - connected: boolean; - - /** - * The `process.allowedNodeEnvironmentFlags` property is a special, - * read-only `Set` of flags allowable within the [`NODE_OPTIONS`][] - * environment variable. - */ - allowedNodeEnvironmentFlags: ReadonlySet; - - /** - * Only available with `--experimental-report` - */ - report?: ProcessReport; - - resourceUsage(): ResourceUsage; - - traceDeprecation: boolean; - - /* EventEmitter */ - addListener(event: "beforeExit", listener: BeforeExitListener): this; - addListener(event: "disconnect", listener: DisconnectListener): this; - addListener(event: "exit", listener: ExitListener): this; - addListener(event: "rejectionHandled", listener: RejectionHandledListener): this; - addListener(event: "uncaughtException", listener: UncaughtExceptionListener): this; - addListener(event: "uncaughtExceptionMonitor", listener: UncaughtExceptionListener): this; - addListener(event: "unhandledRejection", listener: UnhandledRejectionListener): this; - addListener(event: "warning", listener: WarningListener): this; - addListener(event: "message", listener: MessageListener): this; - addListener(event: Signals, listener: SignalsListener): this; - addListener(event: "newListener", listener: NewListenerListener): this; - addListener(event: "removeListener", listener: RemoveListenerListener): this; - addListener(event: "multipleResolves", listener: MultipleResolveListener): this; - - emit(event: "beforeExit", code: number): boolean; - emit(event: "disconnect"): boolean; - emit(event: "exit", code: number): boolean; - emit(event: "rejectionHandled", promise: Promise): boolean; - emit(event: "uncaughtException", error: Error): boolean; - emit(event: "uncaughtExceptionMonitor", error: Error): boolean; - emit(event: "unhandledRejection", reason: any, promise: Promise): boolean; - emit(event: "warning", warning: Error): boolean; - emit(event: "message", message: any, sendHandle: any): this; - emit(event: Signals, signal: Signals): boolean; - emit(event: "newListener", eventName: string | symbol, listener: (...args: any[]) => void): this; - emit(event: "removeListener", eventName: string, listener: (...args: any[]) => void): this; - emit(event: "multipleResolves", listener: MultipleResolveListener): this; - - on(event: "beforeExit", listener: BeforeExitListener): this; - on(event: "disconnect", listener: DisconnectListener): this; - on(event: "exit", listener: ExitListener): this; - on(event: "rejectionHandled", listener: RejectionHandledListener): this; - on(event: "uncaughtException", listener: UncaughtExceptionListener): this; - on(event: "uncaughtExceptionMonitor", listener: UncaughtExceptionListener): this; - on(event: "unhandledRejection", listener: UnhandledRejectionListener): this; - on(event: "warning", listener: WarningListener): this; - on(event: "message", listener: MessageListener): this; - on(event: Signals, listener: SignalsListener): this; - on(event: "newListener", listener: NewListenerListener): this; - on(event: "removeListener", listener: RemoveListenerListener): this; - on(event: "multipleResolves", listener: MultipleResolveListener): this; - on(event: string | symbol, listener: (...args: any[]) => void): this; - - once(event: "beforeExit", listener: BeforeExitListener): this; - once(event: "disconnect", listener: DisconnectListener): this; - once(event: "exit", listener: ExitListener): this; - once(event: "rejectionHandled", listener: RejectionHandledListener): this; - once(event: "uncaughtException", listener: UncaughtExceptionListener): this; - once(event: "uncaughtExceptionMonitor", listener: UncaughtExceptionListener): this; - once(event: "unhandledRejection", listener: UnhandledRejectionListener): this; - once(event: "warning", listener: WarningListener): this; - once(event: "message", listener: MessageListener): this; - once(event: Signals, listener: SignalsListener): this; - once(event: "newListener", listener: NewListenerListener): this; - once(event: "removeListener", listener: RemoveListenerListener): this; - once(event: "multipleResolves", listener: MultipleResolveListener): this; - - prependListener(event: "beforeExit", listener: BeforeExitListener): this; - prependListener(event: "disconnect", listener: DisconnectListener): this; - prependListener(event: "exit", listener: ExitListener): this; - prependListener(event: "rejectionHandled", listener: RejectionHandledListener): this; - prependListener(event: "uncaughtException", listener: UncaughtExceptionListener): this; - prependListener(event: "uncaughtExceptionMonitor", listener: UncaughtExceptionListener): this; - prependListener(event: "unhandledRejection", listener: UnhandledRejectionListener): this; - prependListener(event: "warning", listener: WarningListener): this; - prependListener(event: "message", listener: MessageListener): this; - prependListener(event: Signals, listener: SignalsListener): this; - prependListener(event: "newListener", listener: NewListenerListener): this; - prependListener(event: "removeListener", listener: RemoveListenerListener): this; - prependListener(event: "multipleResolves", listener: MultipleResolveListener): this; - - prependOnceListener(event: "beforeExit", listener: BeforeExitListener): this; - prependOnceListener(event: "disconnect", listener: DisconnectListener): this; - prependOnceListener(event: "exit", listener: ExitListener): this; - prependOnceListener(event: "rejectionHandled", listener: RejectionHandledListener): this; - prependOnceListener(event: "uncaughtException", listener: UncaughtExceptionListener): this; - prependOnceListener(event: "uncaughtExceptionMonitor", listener: UncaughtExceptionListener): this; - prependOnceListener(event: "unhandledRejection", listener: UnhandledRejectionListener): this; - prependOnceListener(event: "warning", listener: WarningListener): this; - prependOnceListener(event: "message", listener: MessageListener): this; - prependOnceListener(event: Signals, listener: SignalsListener): this; - prependOnceListener(event: "newListener", listener: NewListenerListener): this; - prependOnceListener(event: "removeListener", listener: RemoveListenerListener): this; - prependOnceListener(event: "multipleResolves", listener: MultipleResolveListener): this; - - listeners(event: "beforeExit"): BeforeExitListener[]; - listeners(event: "disconnect"): DisconnectListener[]; - listeners(event: "exit"): ExitListener[]; - listeners(event: "rejectionHandled"): RejectionHandledListener[]; - listeners(event: "uncaughtException"): UncaughtExceptionListener[]; - listeners(event: "uncaughtExceptionMonitor"): UncaughtExceptionListener[]; - listeners(event: "unhandledRejection"): UnhandledRejectionListener[]; - listeners(event: "warning"): WarningListener[]; - listeners(event: "message"): MessageListener[]; - listeners(event: Signals): SignalsListener[]; - listeners(event: "newListener"): NewListenerListener[]; - listeners(event: "removeListener"): RemoveListenerListener[]; - listeners(event: "multipleResolves"): MultipleResolveListener[]; - } - - interface Global { - process: Process; - } - } - } - - export = process; -} diff --git a/node_modules/@types/node/punycode.d.ts b/node_modules/@types/node/punycode.d.ts deleted file mode 100644 index 2b771d4..0000000 --- a/node_modules/@types/node/punycode.d.ts +++ /dev/null @@ -1,68 +0,0 @@ -declare module "punycode" { - /** - * @deprecated since v7.0.0 - * The version of the punycode module bundled in Node.js is being deprecated. - * In a future major version of Node.js this module will be removed. - * Users currently depending on the punycode module should switch to using - * the userland-provided Punycode.js module instead. - */ - function decode(string: string): string; - /** - * @deprecated since v7.0.0 - * The version of the punycode module bundled in Node.js is being deprecated. - * In a future major version of Node.js this module will be removed. - * Users currently depending on the punycode module should switch to using - * the userland-provided Punycode.js module instead. - */ - function encode(string: string): string; - /** - * @deprecated since v7.0.0 - * The version of the punycode module bundled in Node.js is being deprecated. - * In a future major version of Node.js this module will be removed. - * Users currently depending on the punycode module should switch to using - * the userland-provided Punycode.js module instead. - */ - function toUnicode(domain: string): string; - /** - * @deprecated since v7.0.0 - * The version of the punycode module bundled in Node.js is being deprecated. - * In a future major version of Node.js this module will be removed. - * Users currently depending on the punycode module should switch to using - * the userland-provided Punycode.js module instead. - */ - function toASCII(domain: string): string; - /** - * @deprecated since v7.0.0 - * The version of the punycode module bundled in Node.js is being deprecated. - * In a future major version of Node.js this module will be removed. - * Users currently depending on the punycode module should switch to using - * the userland-provided Punycode.js module instead. - */ - const ucs2: ucs2; - interface ucs2 { - /** - * @deprecated since v7.0.0 - * The version of the punycode module bundled in Node.js is being deprecated. - * In a future major version of Node.js this module will be removed. - * Users currently depending on the punycode module should switch to using - * the userland-provided Punycode.js module instead. - */ - decode(string: string): number[]; - /** - * @deprecated since v7.0.0 - * The version of the punycode module bundled in Node.js is being deprecated. - * In a future major version of Node.js this module will be removed. - * Users currently depending on the punycode module should switch to using - * the userland-provided Punycode.js module instead. - */ - encode(codePoints: ReadonlyArray): string; - } - /** - * @deprecated since v7.0.0 - * The version of the punycode module bundled in Node.js is being deprecated. - * In a future major version of Node.js this module will be removed. - * Users currently depending on the punycode module should switch to using - * the userland-provided Punycode.js module instead. - */ - const version: string; -} diff --git a/node_modules/@types/node/querystring.d.ts b/node_modules/@types/node/querystring.d.ts deleted file mode 100644 index 3e204e7..0000000 --- a/node_modules/@types/node/querystring.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -declare module "querystring" { - interface StringifyOptions { - encodeURIComponent?: (str: string) => string; - } - - interface ParseOptions { - maxKeys?: number; - decodeURIComponent?: (str: string) => string; - } - - interface ParsedUrlQuery extends NodeJS.Dict { } - - interface ParsedUrlQueryInput extends NodeJS.Dict | ReadonlyArray | ReadonlyArray | null> { - } - - function stringify(obj?: ParsedUrlQueryInput, sep?: string, eq?: string, options?: StringifyOptions): string; - function parse(str: string, sep?: string, eq?: string, options?: ParseOptions): ParsedUrlQuery; - /** - * The querystring.encode() function is an alias for querystring.stringify(). - */ - const encode: typeof stringify; - /** - * The querystring.decode() function is an alias for querystring.parse(). - */ - const decode: typeof parse; - function escape(str: string): string; - function unescape(str: string): string; -} diff --git a/node_modules/@types/node/readline.d.ts b/node_modules/@types/node/readline.d.ts deleted file mode 100644 index fbe4836..0000000 --- a/node_modules/@types/node/readline.d.ts +++ /dev/null @@ -1,171 +0,0 @@ -declare module "readline" { - import * as events from "events"; - import * as stream from "stream"; - - interface Key { - sequence?: string; - name?: string; - ctrl?: boolean; - meta?: boolean; - shift?: boolean; - } - - class Interface extends events.EventEmitter { - readonly terminal: boolean; - - // Need direct access to line/cursor data, for use in external processes - // see: https://github.com/nodejs/node/issues/30347 - /** The current input data */ - readonly line: string; - /** The current cursor position in the input line */ - readonly cursor: number; - - /** - * NOTE: According to the documentation: - * - * > Instances of the `readline.Interface` class are constructed using the - * > `readline.createInterface()` method. - * - * @see https://nodejs.org/dist/latest-v10.x/docs/api/readline.html#readline_class_interface - */ - protected constructor(input: NodeJS.ReadableStream, output?: NodeJS.WritableStream, completer?: Completer | AsyncCompleter, terminal?: boolean); - /** - * NOTE: According to the documentation: - * - * > Instances of the `readline.Interface` class are constructed using the - * > `readline.createInterface()` method. - * - * @see https://nodejs.org/dist/latest-v10.x/docs/api/readline.html#readline_class_interface - */ - protected constructor(options: ReadLineOptions); - - setPrompt(prompt: string): void; - prompt(preserveCursor?: boolean): void; - question(query: string, callback: (answer: string) => void): void; - pause(): this; - resume(): this; - close(): void; - write(data: string | Buffer, key?: Key): void; - - /** - * Returns the real position of the cursor in relation to the input - * prompt + string. Long input (wrapping) strings, as well as multiple - * line prompts are included in the calculations. - */ - getCursorPos(): CursorPos; - - /** - * events.EventEmitter - * 1. close - * 2. line - * 3. pause - * 4. resume - * 5. SIGCONT - * 6. SIGINT - * 7. SIGTSTP - */ - - addListener(event: string, listener: (...args: any[]) => void): this; - addListener(event: "close", listener: () => void): this; - addListener(event: "line", listener: (input: string) => void): this; - addListener(event: "pause", listener: () => void): this; - addListener(event: "resume", listener: () => void): this; - addListener(event: "SIGCONT", listener: () => void): this; - addListener(event: "SIGINT", listener: () => void): this; - addListener(event: "SIGTSTP", listener: () => void): this; - - emit(event: string | symbol, ...args: any[]): boolean; - emit(event: "close"): boolean; - emit(event: "line", input: string): boolean; - emit(event: "pause"): boolean; - emit(event: "resume"): boolean; - emit(event: "SIGCONT"): boolean; - emit(event: "SIGINT"): boolean; - emit(event: "SIGTSTP"): boolean; - - on(event: string, listener: (...args: any[]) => void): this; - on(event: "close", listener: () => void): this; - on(event: "line", listener: (input: string) => void): this; - on(event: "pause", listener: () => void): this; - on(event: "resume", listener: () => void): this; - on(event: "SIGCONT", listener: () => void): this; - on(event: "SIGINT", listener: () => void): this; - on(event: "SIGTSTP", listener: () => void): this; - - once(event: string, listener: (...args: any[]) => void): this; - once(event: "close", listener: () => void): this; - once(event: "line", listener: (input: string) => void): this; - once(event: "pause", listener: () => void): this; - once(event: "resume", listener: () => void): this; - once(event: "SIGCONT", listener: () => void): this; - once(event: "SIGINT", listener: () => void): this; - once(event: "SIGTSTP", listener: () => void): this; - - prependListener(event: string, listener: (...args: any[]) => void): this; - prependListener(event: "close", listener: () => void): this; - prependListener(event: "line", listener: (input: string) => void): this; - prependListener(event: "pause", listener: () => void): this; - prependListener(event: "resume", listener: () => void): this; - prependListener(event: "SIGCONT", listener: () => void): this; - prependListener(event: "SIGINT", listener: () => void): this; - prependListener(event: "SIGTSTP", listener: () => void): this; - - prependOnceListener(event: string, listener: (...args: any[]) => void): this; - prependOnceListener(event: "close", listener: () => void): this; - prependOnceListener(event: "line", listener: (input: string) => void): this; - prependOnceListener(event: "pause", listener: () => void): this; - prependOnceListener(event: "resume", listener: () => void): this; - prependOnceListener(event: "SIGCONT", listener: () => void): this; - prependOnceListener(event: "SIGINT", listener: () => void): this; - prependOnceListener(event: "SIGTSTP", listener: () => void): this; - [Symbol.asyncIterator](): AsyncIterableIterator; - } - - type ReadLine = Interface; // type forwarded for backwards compatiblity - - type Completer = (line: string) => CompleterResult; - type AsyncCompleter = (line: string, callback: (err?: null | Error, result?: CompleterResult) => void) => any; - - type CompleterResult = [string[], string]; - - interface ReadLineOptions { - input: NodeJS.ReadableStream; - output?: NodeJS.WritableStream; - completer?: Completer | AsyncCompleter; - terminal?: boolean; - historySize?: number; - prompt?: string; - crlfDelay?: number; - removeHistoryDuplicates?: boolean; - escapeCodeTimeout?: number; - tabSize?: number; - } - - function createInterface(input: NodeJS.ReadableStream, output?: NodeJS.WritableStream, completer?: Completer | AsyncCompleter, terminal?: boolean): Interface; - function createInterface(options: ReadLineOptions): Interface; - function emitKeypressEvents(stream: NodeJS.ReadableStream, readlineInterface?: Interface): void; - - type Direction = -1 | 0 | 1; - - interface CursorPos { - rows: number; - cols: number; - } - - /** - * Clears the current line of this WriteStream in a direction identified by `dir`. - */ - function clearLine(stream: NodeJS.WritableStream, dir: Direction, callback?: () => void): boolean; - /** - * Clears this `WriteStream` from the current cursor down. - */ - function clearScreenDown(stream: NodeJS.WritableStream, callback?: () => void): boolean; - /** - * Moves this WriteStream's cursor to the specified position. - */ - function cursorTo(stream: NodeJS.WritableStream, x: number, y?: number, callback?: () => void): boolean; - /** - * Moves this WriteStream's cursor relative to its current position. - */ - function moveCursor(stream: NodeJS.WritableStream, dx: number, dy: number, callback?: () => void): boolean; -} diff --git a/node_modules/@types/node/repl.d.ts b/node_modules/@types/node/repl.d.ts deleted file mode 100644 index 4985b52..0000000 --- a/node_modules/@types/node/repl.d.ts +++ /dev/null @@ -1,395 +0,0 @@ -declare module "repl" { - import { Interface, Completer, AsyncCompleter } from "readline"; - import { Context } from "vm"; - import { InspectOptions } from "util"; - - interface ReplOptions { - /** - * The input prompt to display. - * Default: `"> "` - */ - prompt?: string; - /** - * The `Readable` stream from which REPL input will be read. - * Default: `process.stdin` - */ - input?: NodeJS.ReadableStream; - /** - * The `Writable` stream to which REPL output will be written. - * Default: `process.stdout` - */ - output?: NodeJS.WritableStream; - /** - * If `true`, specifies that the output should be treated as a TTY terminal, and have - * ANSI/VT100 escape codes written to it. - * Default: checking the value of the `isTTY` property on the output stream upon - * instantiation. - */ - terminal?: boolean; - /** - * The function to be used when evaluating each given line of input. - * Default: an async wrapper for the JavaScript `eval()` function. An `eval` function can - * error with `repl.Recoverable` to indicate the input was incomplete and prompt for - * additional lines. - * - * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_default_evaluation - * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_custom_evaluation_functions - */ - eval?: REPLEval; - /** - * Defines if the repl prints output previews or not. - * @default `true` Always `false` in case `terminal` is falsy. - */ - preview?: boolean; - /** - * If `true`, specifies that the default `writer` function should include ANSI color - * styling to REPL output. If a custom `writer` function is provided then this has no - * effect. - * Default: the REPL instance's `terminal` value. - */ - useColors?: boolean; - /** - * If `true`, specifies that the default evaluation function will use the JavaScript - * `global` as the context as opposed to creating a new separate context for the REPL - * instance. The node CLI REPL sets this value to `true`. - * Default: `false`. - */ - useGlobal?: boolean; - /** - * If `true`, specifies that the default writer will not output the return value of a - * command if it evaluates to `undefined`. - * Default: `false`. - */ - ignoreUndefined?: boolean; - /** - * The function to invoke to format the output of each command before writing to `output`. - * Default: a wrapper for `util.inspect`. - * - * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_customizing_repl_output - */ - writer?: REPLWriter; - /** - * An optional function used for custom Tab auto completion. - * - * @see https://nodejs.org/dist/latest-v11.x/docs/api/readline.html#readline_use_of_the_completer_function - */ - completer?: Completer | AsyncCompleter; - /** - * A flag that specifies whether the default evaluator executes all JavaScript commands in - * strict mode or default (sloppy) mode. - * Accepted values are: - * - `repl.REPL_MODE_SLOPPY` - evaluates expressions in sloppy mode. - * - `repl.REPL_MODE_STRICT` - evaluates expressions in strict mode. This is equivalent to - * prefacing every repl statement with `'use strict'`. - */ - replMode?: typeof REPL_MODE_SLOPPY | typeof REPL_MODE_STRICT; - /** - * Stop evaluating the current piece of code when `SIGINT` is received, i.e. `Ctrl+C` is - * pressed. This cannot be used together with a custom `eval` function. - * Default: `false`. - */ - breakEvalOnSigint?: boolean; - } - - type REPLEval = (this: REPLServer, evalCmd: string, context: Context, file: string, cb: (err: Error | null, result: any) => void) => void; - type REPLWriter = (this: REPLServer, obj: any) => string; - - /** - * This is the default "writer" value, if none is passed in the REPL options, - * and it can be overridden by custom print functions. - */ - const writer: REPLWriter & { options: InspectOptions }; - - type REPLCommandAction = (this: REPLServer, text: string) => void; - - interface REPLCommand { - /** - * Help text to be displayed when `.help` is entered. - */ - help?: string; - /** - * The function to execute, optionally accepting a single string argument. - */ - action: REPLCommandAction; - } - - /** - * Provides a customizable Read-Eval-Print-Loop (REPL). - * - * Instances of `repl.REPLServer` will accept individual lines of user input, evaluate those - * according to a user-defined evaluation function, then output the result. Input and output - * may be from `stdin` and `stdout`, respectively, or may be connected to any Node.js `stream`. - * - * Instances of `repl.REPLServer` support automatic completion of inputs, simplistic Emacs-style - * line editing, multi-line inputs, ANSI-styled output, saving and restoring current REPL session - * state, error recovery, and customizable evaluation functions. - * - * Instances of `repl.REPLServer` are created using the `repl.start()` method and _should not_ - * be created directly using the JavaScript `new` keyword. - * - * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_repl - */ - class REPLServer extends Interface { - /** - * The `vm.Context` provided to the `eval` function to be used for JavaScript - * evaluation. - */ - readonly context: Context; - /** - * @deprecated since v14.3.0 - Use `input` instead. - */ - readonly inputStream: NodeJS.ReadableStream; - /** - * @deprecated since v14.3.0 - Use `output` instead. - */ - readonly outputStream: NodeJS.WritableStream; - /** - * The `Readable` stream from which REPL input will be read. - */ - readonly input: NodeJS.ReadableStream; - /** - * The `Writable` stream to which REPL output will be written. - */ - readonly output: NodeJS.WritableStream; - /** - * The commands registered via `replServer.defineCommand()`. - */ - readonly commands: NodeJS.ReadOnlyDict; - /** - * A value indicating whether the REPL is currently in "editor mode". - * - * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_commands_and_special_keys - */ - readonly editorMode: boolean; - /** - * A value indicating whether the `_` variable has been assigned. - * - * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_assignment_of_the_underscore_variable - */ - readonly underscoreAssigned: boolean; - /** - * The last evaluation result from the REPL (assigned to the `_` variable inside of the REPL). - * - * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_assignment_of_the_underscore_variable - */ - readonly last: any; - /** - * A value indicating whether the `_error` variable has been assigned. - * - * @since v9.8.0 - * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_assignment_of_the_underscore_variable - */ - readonly underscoreErrAssigned: boolean; - /** - * The last error raised inside the REPL (assigned to the `_error` variable inside of the REPL). - * - * @since v9.8.0 - * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_assignment_of_the_underscore_variable - */ - readonly lastError: any; - /** - * Specified in the REPL options, this is the function to be used when evaluating each - * given line of input. If not specified in the REPL options, this is an async wrapper - * for the JavaScript `eval()` function. - */ - readonly eval: REPLEval; - /** - * Specified in the REPL options, this is a value indicating whether the default - * `writer` function should include ANSI color styling to REPL output. - */ - readonly useColors: boolean; - /** - * Specified in the REPL options, this is a value indicating whether the default `eval` - * function will use the JavaScript `global` as the context as opposed to creating a new - * separate context for the REPL instance. - */ - readonly useGlobal: boolean; - /** - * Specified in the REPL options, this is a value indicating whether the default `writer` - * function should output the result of a command if it evaluates to `undefined`. - */ - readonly ignoreUndefined: boolean; - /** - * Specified in the REPL options, this is the function to invoke to format the output of - * each command before writing to `outputStream`. If not specified in the REPL options, - * this will be a wrapper for `util.inspect`. - */ - readonly writer: REPLWriter; - /** - * Specified in the REPL options, this is the function to use for custom Tab auto-completion. - */ - readonly completer: Completer | AsyncCompleter; - /** - * Specified in the REPL options, this is a flag that specifies whether the default `eval` - * function should execute all JavaScript commands in strict mode or default (sloppy) mode. - * Possible values are: - * - `repl.REPL_MODE_SLOPPY` - evaluates expressions in sloppy mode. - * - `repl.REPL_MODE_STRICT` - evaluates expressions in strict mode. This is equivalent to - * prefacing every repl statement with `'use strict'`. - */ - readonly replMode: typeof REPL_MODE_SLOPPY | typeof REPL_MODE_STRICT; - - /** - * NOTE: According to the documentation: - * - * > Instances of `repl.REPLServer` are created using the `repl.start()` method and - * > _should not_ be created directly using the JavaScript `new` keyword. - * - * `REPLServer` cannot be subclassed due to implementation specifics in NodeJS. - * - * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_class_replserver - */ - private constructor(); - - /** - * Used to add new `.`-prefixed commands to the REPL instance. Such commands are invoked - * by typing a `.` followed by the `keyword`. - * - * @param keyword The command keyword (_without_ a leading `.` character). - * @param cmd The function to invoke when the command is processed. - * - * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_replserver_definecommand_keyword_cmd - */ - defineCommand(keyword: string, cmd: REPLCommandAction | REPLCommand): void; - /** - * Readies the REPL instance for input from the user, printing the configured `prompt` to a - * new line in the `output` and resuming the `input` to accept new input. - * - * When multi-line input is being entered, an ellipsis is printed rather than the 'prompt'. - * - * This method is primarily intended to be called from within the action function for - * commands registered using the `replServer.defineCommand()` method. - * - * @param preserveCursor When `true`, the cursor placement will not be reset to `0`. - */ - displayPrompt(preserveCursor?: boolean): void; - /** - * Clears any command that has been buffered but not yet executed. - * - * This method is primarily intended to be called from within the action function for - * commands registered using the `replServer.defineCommand()` method. - * - * @since v9.0.0 - */ - clearBufferedCommand(): void; - - /** - * Initializes a history log file for the REPL instance. When executing the - * Node.js binary and using the command line REPL, a history file is initialized - * by default. However, this is not the case when creating a REPL - * programmatically. Use this method to initialize a history log file when working - * with REPL instances programmatically. - * @param path The path to the history file - */ - setupHistory(path: string, cb: (err: Error | null, repl: this) => void): void; - - /** - * events.EventEmitter - * 1. close - inherited from `readline.Interface` - * 2. line - inherited from `readline.Interface` - * 3. pause - inherited from `readline.Interface` - * 4. resume - inherited from `readline.Interface` - * 5. SIGCONT - inherited from `readline.Interface` - * 6. SIGINT - inherited from `readline.Interface` - * 7. SIGTSTP - inherited from `readline.Interface` - * 8. exit - * 9. reset - */ - - addListener(event: string, listener: (...args: any[]) => void): this; - addListener(event: "close", listener: () => void): this; - addListener(event: "line", listener: (input: string) => void): this; - addListener(event: "pause", listener: () => void): this; - addListener(event: "resume", listener: () => void): this; - addListener(event: "SIGCONT", listener: () => void): this; - addListener(event: "SIGINT", listener: () => void): this; - addListener(event: "SIGTSTP", listener: () => void): this; - addListener(event: "exit", listener: () => void): this; - addListener(event: "reset", listener: (context: Context) => void): this; - - emit(event: string | symbol, ...args: any[]): boolean; - emit(event: "close"): boolean; - emit(event: "line", input: string): boolean; - emit(event: "pause"): boolean; - emit(event: "resume"): boolean; - emit(event: "SIGCONT"): boolean; - emit(event: "SIGINT"): boolean; - emit(event: "SIGTSTP"): boolean; - emit(event: "exit"): boolean; - emit(event: "reset", context: Context): boolean; - - on(event: string, listener: (...args: any[]) => void): this; - on(event: "close", listener: () => void): this; - on(event: "line", listener: (input: string) => void): this; - on(event: "pause", listener: () => void): this; - on(event: "resume", listener: () => void): this; - on(event: "SIGCONT", listener: () => void): this; - on(event: "SIGINT", listener: () => void): this; - on(event: "SIGTSTP", listener: () => void): this; - on(event: "exit", listener: () => void): this; - on(event: "reset", listener: (context: Context) => void): this; - - once(event: string, listener: (...args: any[]) => void): this; - once(event: "close", listener: () => void): this; - once(event: "line", listener: (input: string) => void): this; - once(event: "pause", listener: () => void): this; - once(event: "resume", listener: () => void): this; - once(event: "SIGCONT", listener: () => void): this; - once(event: "SIGINT", listener: () => void): this; - once(event: "SIGTSTP", listener: () => void): this; - once(event: "exit", listener: () => void): this; - once(event: "reset", listener: (context: Context) => void): this; - - prependListener(event: string, listener: (...args: any[]) => void): this; - prependListener(event: "close", listener: () => void): this; - prependListener(event: "line", listener: (input: string) => void): this; - prependListener(event: "pause", listener: () => void): this; - prependListener(event: "resume", listener: () => void): this; - prependListener(event: "SIGCONT", listener: () => void): this; - prependListener(event: "SIGINT", listener: () => void): this; - prependListener(event: "SIGTSTP", listener: () => void): this; - prependListener(event: "exit", listener: () => void): this; - prependListener(event: "reset", listener: (context: Context) => void): this; - - prependOnceListener(event: string, listener: (...args: any[]) => void): this; - prependOnceListener(event: "close", listener: () => void): this; - prependOnceListener(event: "line", listener: (input: string) => void): this; - prependOnceListener(event: "pause", listener: () => void): this; - prependOnceListener(event: "resume", listener: () => void): this; - prependOnceListener(event: "SIGCONT", listener: () => void): this; - prependOnceListener(event: "SIGINT", listener: () => void): this; - prependOnceListener(event: "SIGTSTP", listener: () => void): this; - prependOnceListener(event: "exit", listener: () => void): this; - prependOnceListener(event: "reset", listener: (context: Context) => void): this; - } - - /** - * A flag passed in the REPL options. Evaluates expressions in sloppy mode. - */ - const REPL_MODE_SLOPPY: unique symbol; - - /** - * A flag passed in the REPL options. Evaluates expressions in strict mode. - * This is equivalent to prefacing every repl statement with `'use strict'`. - */ - const REPL_MODE_STRICT: unique symbol; - - /** - * Creates and starts a `repl.REPLServer` instance. - * - * @param options The options for the `REPLServer`. If `options` is a string, then it specifies - * the input prompt. - */ - function start(options?: string | ReplOptions): REPLServer; - - /** - * Indicates a recoverable error that a `REPLServer` can use to support multi-line input. - * - * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_recoverable_errors - */ - class Recoverable extends SyntaxError { - err: Error; - - constructor(err: Error); - } -} diff --git a/node_modules/@types/node/stream.d.ts b/node_modules/@types/node/stream.d.ts deleted file mode 100644 index 485d503..0000000 --- a/node_modules/@types/node/stream.d.ts +++ /dev/null @@ -1,354 +0,0 @@ -declare module 'stream' { - import EventEmitter = require('events'); - - class internal extends EventEmitter { - pipe(destination: T, options?: { end?: boolean; }): T; - } - - namespace internal { - class Stream extends internal { - constructor(opts?: ReadableOptions); - } - - interface ReadableOptions { - highWaterMark?: number; - encoding?: BufferEncoding; - objectMode?: boolean; - read?(this: Readable, size: number): void; - destroy?(this: Readable, error: Error | null, callback: (error: Error | null) => void): void; - autoDestroy?: boolean; - } - - class Readable extends Stream implements NodeJS.ReadableStream { - /** - * A utility method for creating Readable Streams out of iterators. - */ - static from(iterable: Iterable | AsyncIterable, options?: ReadableOptions): Readable; - - readable: boolean; - readonly readableEncoding: BufferEncoding | null; - readonly readableEnded: boolean; - readonly readableFlowing: boolean | null; - readonly readableHighWaterMark: number; - readonly readableLength: number; - readonly readableObjectMode: boolean; - destroyed: boolean; - constructor(opts?: ReadableOptions); - _read(size: number): void; - read(size?: number): any; - setEncoding(encoding: BufferEncoding): this; - pause(): this; - resume(): this; - isPaused(): boolean; - unpipe(destination?: NodeJS.WritableStream): this; - unshift(chunk: any, encoding?: BufferEncoding): void; - wrap(oldStream: NodeJS.ReadableStream): this; - push(chunk: any, encoding?: BufferEncoding): boolean; - _destroy(error: Error | null, callback: (error?: Error | null) => void): void; - destroy(error?: Error): void; - - /** - * Event emitter - * The defined events on documents including: - * 1. close - * 2. data - * 3. end - * 4. error - * 5. pause - * 6. readable - * 7. resume - */ - addListener(event: "close", listener: () => void): this; - addListener(event: "data", listener: (chunk: any) => void): this; - addListener(event: "end", listener: () => void): this; - addListener(event: "error", listener: (err: Error) => void): this; - addListener(event: "pause", listener: () => void): this; - addListener(event: "readable", listener: () => void): this; - addListener(event: "resume", listener: () => void): this; - addListener(event: string | symbol, listener: (...args: any[]) => void): this; - - emit(event: "close"): boolean; - emit(event: "data", chunk: any): boolean; - emit(event: "end"): boolean; - emit(event: "error", err: Error): boolean; - emit(event: "pause"): boolean; - emit(event: "readable"): boolean; - emit(event: "resume"): boolean; - emit(event: string | symbol, ...args: any[]): boolean; - - on(event: "close", listener: () => void): this; - on(event: "data", listener: (chunk: any) => void): this; - on(event: "end", listener: () => void): this; - on(event: "error", listener: (err: Error) => void): this; - on(event: "pause", listener: () => void): this; - on(event: "readable", listener: () => void): this; - on(event: "resume", listener: () => void): this; - on(event: string | symbol, listener: (...args: any[]) => void): this; - - once(event: "close", listener: () => void): this; - once(event: "data", listener: (chunk: any) => void): this; - once(event: "end", listener: () => void): this; - once(event: "error", listener: (err: Error) => void): this; - once(event: "pause", listener: () => void): this; - once(event: "readable", listener: () => void): this; - once(event: "resume", listener: () => void): this; - once(event: string | symbol, listener: (...args: any[]) => void): this; - - prependListener(event: "close", listener: () => void): this; - prependListener(event: "data", listener: (chunk: any) => void): this; - prependListener(event: "end", listener: () => void): this; - prependListener(event: "error", listener: (err: Error) => void): this; - prependListener(event: "pause", listener: () => void): this; - prependListener(event: "readable", listener: () => void): this; - prependListener(event: "resume", listener: () => void): this; - prependListener(event: string | symbol, listener: (...args: any[]) => void): this; - - prependOnceListener(event: "close", listener: () => void): this; - prependOnceListener(event: "data", listener: (chunk: any) => void): this; - prependOnceListener(event: "end", listener: () => void): this; - prependOnceListener(event: "error", listener: (err: Error) => void): this; - prependOnceListener(event: "pause", listener: () => void): this; - prependOnceListener(event: "readable", listener: () => void): this; - prependOnceListener(event: "resume", listener: () => void): this; - prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; - - removeListener(event: "close", listener: () => void): this; - removeListener(event: "data", listener: (chunk: any) => void): this; - removeListener(event: "end", listener: () => void): this; - removeListener(event: "error", listener: (err: Error) => void): this; - removeListener(event: "pause", listener: () => void): this; - removeListener(event: "readable", listener: () => void): this; - removeListener(event: "resume", listener: () => void): this; - removeListener(event: string | symbol, listener: (...args: any[]) => void): this; - - [Symbol.asyncIterator](): AsyncIterableIterator; - } - - interface WritableOptions { - highWaterMark?: number; - decodeStrings?: boolean; - defaultEncoding?: BufferEncoding; - objectMode?: boolean; - emitClose?: boolean; - write?(this: Writable, chunk: any, encoding: BufferEncoding, callback: (error?: Error | null) => void): void; - writev?(this: Writable, chunks: Array<{ chunk: any, encoding: BufferEncoding }>, callback: (error?: Error | null) => void): void; - destroy?(this: Writable, error: Error | null, callback: (error: Error | null) => void): void; - final?(this: Writable, callback: (error?: Error | null) => void): void; - autoDestroy?: boolean; - } - - class Writable extends Stream implements NodeJS.WritableStream { - readonly writable: boolean; - readonly writableEnded: boolean; - readonly writableFinished: boolean; - readonly writableHighWaterMark: number; - readonly writableLength: number; - readonly writableObjectMode: boolean; - readonly writableCorked: number; - destroyed: boolean; - constructor(opts?: WritableOptions); - _write(chunk: any, encoding: BufferEncoding, callback: (error?: Error | null) => void): void; - _writev?(chunks: Array<{ chunk: any, encoding: BufferEncoding }>, callback: (error?: Error | null) => void): void; - _destroy(error: Error | null, callback: (error?: Error | null) => void): void; - _final(callback: (error?: Error | null) => void): void; - write(chunk: any, cb?: (error: Error | null | undefined) => void): boolean; - write(chunk: any, encoding: BufferEncoding, cb?: (error: Error | null | undefined) => void): boolean; - setDefaultEncoding(encoding: BufferEncoding): this; - end(cb?: () => void): void; - end(chunk: any, cb?: () => void): void; - end(chunk: any, encoding: BufferEncoding, cb?: () => void): void; - cork(): void; - uncork(): void; - destroy(error?: Error): void; - - /** - * Event emitter - * The defined events on documents including: - * 1. close - * 2. drain - * 3. error - * 4. finish - * 5. pipe - * 6. unpipe - */ - addListener(event: "close", listener: () => void): this; - addListener(event: "drain", listener: () => void): this; - addListener(event: "error", listener: (err: Error) => void): this; - addListener(event: "finish", listener: () => void): this; - addListener(event: "pipe", listener: (src: Readable) => void): this; - addListener(event: "unpipe", listener: (src: Readable) => void): this; - addListener(event: string | symbol, listener: (...args: any[]) => void): this; - - emit(event: "close"): boolean; - emit(event: "drain"): boolean; - emit(event: "error", err: Error): boolean; - emit(event: "finish"): boolean; - emit(event: "pipe", src: Readable): boolean; - emit(event: "unpipe", src: Readable): boolean; - emit(event: string | symbol, ...args: any[]): boolean; - - on(event: "close", listener: () => void): this; - on(event: "drain", listener: () => void): this; - on(event: "error", listener: (err: Error) => void): this; - on(event: "finish", listener: () => void): this; - on(event: "pipe", listener: (src: Readable) => void): this; - on(event: "unpipe", listener: (src: Readable) => void): this; - on(event: string | symbol, listener: (...args: any[]) => void): this; - - once(event: "close", listener: () => void): this; - once(event: "drain", listener: () => void): this; - once(event: "error", listener: (err: Error) => void): this; - once(event: "finish", listener: () => void): this; - once(event: "pipe", listener: (src: Readable) => void): this; - once(event: "unpipe", listener: (src: Readable) => void): this; - once(event: string | symbol, listener: (...args: any[]) => void): this; - - prependListener(event: "close", listener: () => void): this; - prependListener(event: "drain", listener: () => void): this; - prependListener(event: "error", listener: (err: Error) => void): this; - prependListener(event: "finish", listener: () => void): this; - prependListener(event: "pipe", listener: (src: Readable) => void): this; - prependListener(event: "unpipe", listener: (src: Readable) => void): this; - prependListener(event: string | symbol, listener: (...args: any[]) => void): this; - - prependOnceListener(event: "close", listener: () => void): this; - prependOnceListener(event: "drain", listener: () => void): this; - prependOnceListener(event: "error", listener: (err: Error) => void): this; - prependOnceListener(event: "finish", listener: () => void): this; - prependOnceListener(event: "pipe", listener: (src: Readable) => void): this; - prependOnceListener(event: "unpipe", listener: (src: Readable) => void): this; - prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; - - removeListener(event: "close", listener: () => void): this; - removeListener(event: "drain", listener: () => void): this; - removeListener(event: "error", listener: (err: Error) => void): this; - removeListener(event: "finish", listener: () => void): this; - removeListener(event: "pipe", listener: (src: Readable) => void): this; - removeListener(event: "unpipe", listener: (src: Readable) => void): this; - removeListener(event: string | symbol, listener: (...args: any[]) => void): this; - } - - interface DuplexOptions extends ReadableOptions, WritableOptions { - allowHalfOpen?: boolean; - readableObjectMode?: boolean; - writableObjectMode?: boolean; - readableHighWaterMark?: number; - writableHighWaterMark?: number; - writableCorked?: number; - read?(this: Duplex, size: number): void; - write?(this: Duplex, chunk: any, encoding: BufferEncoding, callback: (error?: Error | null) => void): void; - writev?(this: Duplex, chunks: Array<{ chunk: any, encoding: BufferEncoding }>, callback: (error?: Error | null) => void): void; - final?(this: Duplex, callback: (error?: Error | null) => void): void; - destroy?(this: Duplex, error: Error | null, callback: (error: Error | null) => void): void; - } - - // Note: Duplex extends both Readable and Writable. - class Duplex extends Readable implements Writable { - readonly writable: boolean; - readonly writableEnded: boolean; - readonly writableFinished: boolean; - readonly writableHighWaterMark: number; - readonly writableLength: number; - readonly writableObjectMode: boolean; - readonly writableCorked: number; - constructor(opts?: DuplexOptions); - _write(chunk: any, encoding: BufferEncoding, callback: (error?: Error | null) => void): void; - _writev?(chunks: Array<{ chunk: any, encoding: BufferEncoding }>, callback: (error?: Error | null) => void): void; - _destroy(error: Error | null, callback: (error: Error | null) => void): void; - _final(callback: (error?: Error | null) => void): void; - write(chunk: any, encoding?: BufferEncoding, cb?: (error: Error | null | undefined) => void): boolean; - write(chunk: any, cb?: (error: Error | null | undefined) => void): boolean; - setDefaultEncoding(encoding: BufferEncoding): this; - end(cb?: () => void): void; - end(chunk: any, cb?: () => void): void; - end(chunk: any, encoding?: BufferEncoding, cb?: () => void): void; - cork(): void; - uncork(): void; - } - - type TransformCallback = (error?: Error | null, data?: any) => void; - - interface TransformOptions extends DuplexOptions { - read?(this: Transform, size: number): void; - write?(this: Transform, chunk: any, encoding: BufferEncoding, callback: (error?: Error | null) => void): void; - writev?(this: Transform, chunks: Array<{ chunk: any, encoding: BufferEncoding }>, callback: (error?: Error | null) => void): void; - final?(this: Transform, callback: (error?: Error | null) => void): void; - destroy?(this: Transform, error: Error | null, callback: (error: Error | null) => void): void; - transform?(this: Transform, chunk: any, encoding: BufferEncoding, callback: TransformCallback): void; - flush?(this: Transform, callback: TransformCallback): void; - } - - class Transform extends Duplex { - constructor(opts?: TransformOptions); - _transform(chunk: any, encoding: BufferEncoding, callback: TransformCallback): void; - _flush(callback: TransformCallback): void; - } - - class PassThrough extends Transform { } - - interface FinishedOptions { - error?: boolean; - readable?: boolean; - writable?: boolean; - } - function finished(stream: NodeJS.ReadableStream | NodeJS.WritableStream | NodeJS.ReadWriteStream, options: FinishedOptions, callback: (err?: NodeJS.ErrnoException | null) => void): () => void; - function finished(stream: NodeJS.ReadableStream | NodeJS.WritableStream | NodeJS.ReadWriteStream, callback: (err?: NodeJS.ErrnoException | null) => void): () => void; - namespace finished { - function __promisify__(stream: NodeJS.ReadableStream | NodeJS.WritableStream | NodeJS.ReadWriteStream, options?: FinishedOptions): Promise; - } - - function pipeline(stream1: NodeJS.ReadableStream, stream2: T, callback?: (err: NodeJS.ErrnoException | null) => void): T; - function pipeline(stream1: NodeJS.ReadableStream, stream2: NodeJS.ReadWriteStream, stream3: T, callback?: (err: NodeJS.ErrnoException | null) => void): T; - function pipeline( - stream1: NodeJS.ReadableStream, - stream2: NodeJS.ReadWriteStream, - stream3: NodeJS.ReadWriteStream, - stream4: T, - callback?: (err: NodeJS.ErrnoException | null) => void, - ): T; - function pipeline( - stream1: NodeJS.ReadableStream, - stream2: NodeJS.ReadWriteStream, - stream3: NodeJS.ReadWriteStream, - stream4: NodeJS.ReadWriteStream, - stream5: T, - callback?: (err: NodeJS.ErrnoException | null) => void, - ): T; - function pipeline( - streams: ReadonlyArray, - callback?: (err: NodeJS.ErrnoException | null) => void, - ): NodeJS.WritableStream; - function pipeline( - stream1: NodeJS.ReadableStream, - stream2: NodeJS.ReadWriteStream | NodeJS.WritableStream, - ...streams: Array void)>, - ): NodeJS.WritableStream; - namespace pipeline { - function __promisify__(stream1: NodeJS.ReadableStream, stream2: NodeJS.WritableStream): Promise; - function __promisify__(stream1: NodeJS.ReadableStream, stream2: NodeJS.ReadWriteStream, stream3: NodeJS.WritableStream): Promise; - function __promisify__(stream1: NodeJS.ReadableStream, stream2: NodeJS.ReadWriteStream, stream3: NodeJS.ReadWriteStream, stream4: NodeJS.WritableStream): Promise; - function __promisify__( - stream1: NodeJS.ReadableStream, - stream2: NodeJS.ReadWriteStream, - stream3: NodeJS.ReadWriteStream, - stream4: NodeJS.ReadWriteStream, - stream5: NodeJS.WritableStream, - ): Promise; - function __promisify__(streams: ReadonlyArray): Promise; - function __promisify__( - stream1: NodeJS.ReadableStream, - stream2: NodeJS.ReadWriteStream | NodeJS.WritableStream, - ...streams: Array, - ): Promise; - } - - interface Pipe { - close(): void; - hasRef(): boolean; - ref(): void; - unref(): void; - } - } - - export = internal; -} diff --git a/node_modules/@types/node/string_decoder.d.ts b/node_modules/@types/node/string_decoder.d.ts deleted file mode 100644 index a6a4060..0000000 --- a/node_modules/@types/node/string_decoder.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -declare module "string_decoder" { - class StringDecoder { - constructor(encoding?: BufferEncoding); - write(buffer: Buffer): string; - end(buffer?: Buffer): string; - } -} diff --git a/node_modules/@types/node/timers.d.ts b/node_modules/@types/node/timers.d.ts deleted file mode 100644 index e64a673..0000000 --- a/node_modules/@types/node/timers.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -declare module "timers" { - function setTimeout(callback: (...args: any[]) => void, ms: number, ...args: any[]): NodeJS.Timeout; - namespace setTimeout { - function __promisify__(ms: number): Promise; - function __promisify__(ms: number, value: T): Promise; - } - function clearTimeout(timeoutId: NodeJS.Timeout): void; - function setInterval(callback: (...args: any[]) => void, ms: number, ...args: any[]): NodeJS.Timeout; - function clearInterval(intervalId: NodeJS.Timeout): void; - function setImmediate(callback: (...args: any[]) => void, ...args: any[]): NodeJS.Immediate; - namespace setImmediate { - function __promisify__(): Promise; - function __promisify__(value: T): Promise; - } - function clearImmediate(immediateId: NodeJS.Immediate): void; -} diff --git a/node_modules/@types/node/tls.d.ts b/node_modules/@types/node/tls.d.ts deleted file mode 100644 index 03e1963..0000000 --- a/node_modules/@types/node/tls.d.ts +++ /dev/null @@ -1,782 +0,0 @@ -declare module "tls" { - import * as crypto from "crypto"; - import * as dns from "dns"; - import * as net from "net"; - import * as stream from "stream"; - - const CLIENT_RENEG_LIMIT: number; - const CLIENT_RENEG_WINDOW: number; - - interface Certificate { - /** - * Country code. - */ - C: string; - /** - * Street. - */ - ST: string; - /** - * Locality. - */ - L: string; - /** - * Organization. - */ - O: string; - /** - * Organizational unit. - */ - OU: string; - /** - * Common name. - */ - CN: string; - } - - interface PeerCertificate { - subject: Certificate; - issuer: Certificate; - subjectaltname: string; - infoAccess: NodeJS.Dict; - modulus: string; - exponent: string; - valid_from: string; - valid_to: string; - fingerprint: string; - fingerprint256: string; - ext_key_usage: string[]; - serialNumber: string; - raw: Buffer; - } - - interface DetailedPeerCertificate extends PeerCertificate { - issuerCertificate: DetailedPeerCertificate; - } - - interface CipherNameAndProtocol { - /** - * The cipher name. - */ - name: string; - /** - * SSL/TLS protocol version. - */ - version: string; - - /** - * IETF name for the cipher suite. - */ - standardName: string; - } - - interface EphemeralKeyInfo { - /** - * The supported types are 'DH' and 'ECDH'. - */ - type: string; - /** - * The name property is available only when type is 'ECDH'. - */ - name?: string; - /** - * The size of parameter of an ephemeral key exchange. - */ - size: number; - } - - interface KeyObject { - /** - * Private keys in PEM format. - */ - pem: string | Buffer; - /** - * Optional passphrase. - */ - passphrase?: string; - } - - interface PxfObject { - /** - * PFX or PKCS12 encoded private key and certificate chain. - */ - buf: string | Buffer; - /** - * Optional passphrase. - */ - passphrase?: string; - } - - interface TLSSocketOptions extends SecureContextOptions, CommonConnectionOptions { - /** - * If true the TLS socket will be instantiated in server-mode. - * Defaults to false. - */ - isServer?: boolean; - /** - * An optional net.Server instance. - */ - server?: net.Server; - - /** - * An optional Buffer instance containing a TLS session. - */ - session?: Buffer; - /** - * If true, specifies that the OCSP status request extension will be - * added to the client hello and an 'OCSPResponse' event will be - * emitted on the socket before establishing a secure communication - */ - requestOCSP?: boolean; - } - - class TLSSocket extends net.Socket { - /** - * Construct a new tls.TLSSocket object from an existing TCP socket. - */ - constructor(socket: net.Socket, options?: TLSSocketOptions); - - /** - * A boolean that is true if the peer certificate was signed by one of the specified CAs, otherwise false. - */ - authorized: boolean; - /** - * The reason why the peer's certificate has not been verified. - * This property becomes available only when tlsSocket.authorized === false. - */ - authorizationError: Error; - /** - * Static boolean value, always true. - * May be used to distinguish TLS sockets from regular ones. - */ - encrypted: boolean; - - /** - * String containing the selected ALPN protocol. - * When ALPN has no selected protocol, tlsSocket.alpnProtocol equals false. - */ - alpnProtocol?: string; - - /** - * Returns an object representing the local certificate. The returned - * object has some properties corresponding to the fields of the - * certificate. - * - * See tls.TLSSocket.getPeerCertificate() for an example of the - * certificate structure. - * - * If there is no local certificate, an empty object will be returned. - * If the socket has been destroyed, null will be returned. - */ - getCertificate(): PeerCertificate | object | null; - /** - * Returns an object representing the cipher name and the SSL/TLS protocol version of the current connection. - * @returns Returns an object representing the cipher name - * and the SSL/TLS protocol version of the current connection. - */ - getCipher(): CipherNameAndProtocol; - /** - * Returns an object representing the type, name, and size of parameter - * of an ephemeral key exchange in Perfect Forward Secrecy on a client - * connection. It returns an empty object when the key exchange is not - * ephemeral. As this is only supported on a client socket; null is - * returned if called on a server socket. The supported types are 'DH' - * and 'ECDH'. The name property is available only when type is 'ECDH'. - * - * For example: { type: 'ECDH', name: 'prime256v1', size: 256 }. - */ - getEphemeralKeyInfo(): EphemeralKeyInfo | object | null; - /** - * Returns the latest Finished message that has - * been sent to the socket as part of a SSL/TLS handshake, or undefined - * if no Finished message has been sent yet. - * - * As the Finished messages are message digests of the complete - * handshake (with a total of 192 bits for TLS 1.0 and more for SSL - * 3.0), they can be used for external authentication procedures when - * the authentication provided by SSL/TLS is not desired or is not - * enough. - * - * Corresponds to the SSL_get_finished routine in OpenSSL and may be - * used to implement the tls-unique channel binding from RFC 5929. - */ - getFinished(): Buffer | undefined; - /** - * Returns an object representing the peer's certificate. - * The returned object has some properties corresponding to the field of the certificate. - * If detailed argument is true the full chain with issuer property will be returned, - * if false only the top certificate without issuer property. - * If the peer does not provide a certificate, it returns null or an empty object. - * @param detailed - If true; the full chain with issuer property will be returned. - * @returns An object representing the peer's certificate. - */ - getPeerCertificate(detailed: true): DetailedPeerCertificate; - getPeerCertificate(detailed?: false): PeerCertificate; - getPeerCertificate(detailed?: boolean): PeerCertificate | DetailedPeerCertificate; - /** - * Returns the latest Finished message that is expected or has actually - * been received from the socket as part of a SSL/TLS handshake, or - * undefined if there is no Finished message so far. - * - * As the Finished messages are message digests of the complete - * handshake (with a total of 192 bits for TLS 1.0 and more for SSL - * 3.0), they can be used for external authentication procedures when - * the authentication provided by SSL/TLS is not desired or is not - * enough. - * - * Corresponds to the SSL_get_peer_finished routine in OpenSSL and may - * be used to implement the tls-unique channel binding from RFC 5929. - */ - getPeerFinished(): Buffer | undefined; - /** - * Returns a string containing the negotiated SSL/TLS protocol version of the current connection. - * The value `'unknown'` will be returned for connected sockets that have not completed the handshaking process. - * The value `null` will be returned for server sockets or disconnected client sockets. - * See https://www.openssl.org/docs/man1.0.2/ssl/SSL_get_version.html for more information. - * @returns negotiated SSL/TLS protocol version of the current connection - */ - getProtocol(): string | null; - /** - * Could be used to speed up handshake establishment when reconnecting to the server. - * @returns ASN.1 encoded TLS session or undefined if none was negotiated. - */ - getSession(): Buffer | undefined; - /** - * Returns a list of signature algorithms shared between the server and - * the client in the order of decreasing preference. - */ - getSharedSigalgs(): string[]; - /** - * NOTE: Works only with client TLS sockets. - * Useful only for debugging, for session reuse provide session option to tls.connect(). - * @returns TLS session ticket or undefined if none was negotiated. - */ - getTLSTicket(): Buffer | undefined; - /** - * Returns true if the session was reused, false otherwise. - */ - isSessionReused(): boolean; - /** - * Initiate TLS renegotiation process. - * - * NOTE: Can be used to request peer's certificate after the secure connection has been established. - * ANOTHER NOTE: When running as the server, socket will be destroyed with an error after handshakeTimeout timeout. - * @param options - The options may contain the following fields: rejectUnauthorized, - * requestCert (See tls.createServer() for details). - * @param callback - callback(err) will be executed with null as err, once the renegotiation - * is successfully completed. - * @return `undefined` when socket is destroy, `false` if negotiaion can't be initiated. - */ - renegotiate(options: { rejectUnauthorized?: boolean, requestCert?: boolean }, callback: (err: Error | null) => void): undefined | boolean; - /** - * Set maximum TLS fragment size (default and maximum value is: 16384, minimum is: 512). - * Smaller fragment size decreases buffering latency on the client: large fragments are buffered by - * the TLS layer until the entire fragment is received and its integrity is verified; - * large fragments can span multiple roundtrips, and their processing can be delayed due to packet - * loss or reordering. However, smaller fragments add extra TLS framing bytes and CPU overhead, - * which may decrease overall server throughput. - * @param size - TLS fragment size (default and maximum value is: 16384, minimum is: 512). - * @returns Returns true on success, false otherwise. - */ - setMaxSendFragment(size: number): boolean; - - /** - * Disables TLS renegotiation for this TLSSocket instance. Once called, - * attempts to renegotiate will trigger an 'error' event on the - * TLSSocket. - */ - disableRenegotiation(): void; - - /** - * When enabled, TLS packet trace information is written to `stderr`. This can be - * used to debug TLS connection problems. - * - * Note: The format of the output is identical to the output of `openssl s_client - * -trace` or `openssl s_server -trace`. While it is produced by OpenSSL's - * `SSL_trace()` function, the format is undocumented, can change without notice, - * and should not be relied on. - */ - enableTrace(): void; - - /** - * @param length number of bytes to retrieve from keying material - * @param label an application specific label, typically this will be a value from the - * [IANA Exporter Label Registry](https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#exporter-labels). - * @param context optionally provide a context. - */ - exportKeyingMaterial(length: number, label: string, context: Buffer): Buffer; - - addListener(event: string, listener: (...args: any[]) => void): this; - addListener(event: "OCSPResponse", listener: (response: Buffer) => void): this; - addListener(event: "secureConnect", listener: () => void): this; - addListener(event: "session", listener: (session: Buffer) => void): this; - addListener(event: "keylog", listener: (line: Buffer) => void): this; - - emit(event: string | symbol, ...args: any[]): boolean; - emit(event: "OCSPResponse", response: Buffer): boolean; - emit(event: "secureConnect"): boolean; - emit(event: "session", session: Buffer): boolean; - emit(event: "keylog", line: Buffer): boolean; - - on(event: string, listener: (...args: any[]) => void): this; - on(event: "OCSPResponse", listener: (response: Buffer) => void): this; - on(event: "secureConnect", listener: () => void): this; - on(event: "session", listener: (session: Buffer) => void): this; - on(event: "keylog", listener: (line: Buffer) => void): this; - - once(event: string, listener: (...args: any[]) => void): this; - once(event: "OCSPResponse", listener: (response: Buffer) => void): this; - once(event: "secureConnect", listener: () => void): this; - once(event: "session", listener: (session: Buffer) => void): this; - once(event: "keylog", listener: (line: Buffer) => void): this; - - prependListener(event: string, listener: (...args: any[]) => void): this; - prependListener(event: "OCSPResponse", listener: (response: Buffer) => void): this; - prependListener(event: "secureConnect", listener: () => void): this; - prependListener(event: "session", listener: (session: Buffer) => void): this; - prependListener(event: "keylog", listener: (line: Buffer) => void): this; - - prependOnceListener(event: string, listener: (...args: any[]) => void): this; - prependOnceListener(event: "OCSPResponse", listener: (response: Buffer) => void): this; - prependOnceListener(event: "secureConnect", listener: () => void): this; - prependOnceListener(event: "session", listener: (session: Buffer) => void): this; - prependOnceListener(event: "keylog", listener: (line: Buffer) => void): this; - } - - interface CommonConnectionOptions { - /** - * An optional TLS context object from tls.createSecureContext() - */ - secureContext?: SecureContext; - - /** - * When enabled, TLS packet trace information is written to `stderr`. This can be - * used to debug TLS connection problems. - * @default false - */ - enableTrace?: boolean; - /** - * If true the server will request a certificate from clients that - * connect and attempt to verify that certificate. Defaults to - * false. - */ - requestCert?: boolean; - /** - * An array of strings or a Buffer naming possible ALPN protocols. - * (Protocols should be ordered by their priority.) - */ - ALPNProtocols?: string[] | Uint8Array[] | Uint8Array; - /** - * SNICallback(servername, cb) A function that will be - * called if the client supports SNI TLS extension. Two arguments - * will be passed when called: servername and cb. SNICallback should - * invoke cb(null, ctx), where ctx is a SecureContext instance. - * (tls.createSecureContext(...) can be used to get a proper - * SecureContext.) If SNICallback wasn't provided the default callback - * with high-level API will be used (see below). - */ - SNICallback?: (servername: string, cb: (err: Error | null, ctx: SecureContext) => void) => void; - /** - * If true the server will reject any connection which is not - * authorized with the list of supplied CAs. This option only has an - * effect if requestCert is true. - * @default true - */ - rejectUnauthorized?: boolean; - } - - interface TlsOptions extends SecureContextOptions, CommonConnectionOptions, net.ServerOpts { - /** - * Abort the connection if the SSL/TLS handshake does not finish in the - * specified number of milliseconds. A 'tlsClientError' is emitted on - * the tls.Server object whenever a handshake times out. Default: - * 120000 (120 seconds). - */ - handshakeTimeout?: number; - /** - * The number of seconds after which a TLS session created by the - * server will no longer be resumable. See Session Resumption for more - * information. Default: 300. - */ - sessionTimeout?: number; - /** - * 48-bytes of cryptographically strong pseudo-random data. - */ - ticketKeys?: Buffer; - - /** - * - * @param socket - * @param identity identity parameter sent from the client. - * @return pre-shared key that must either be - * a buffer or `null` to stop the negotiation process. Returned PSK must be - * compatible with the selected cipher's digest. - * - * When negotiating TLS-PSK (pre-shared keys), this function is called - * with the identity provided by the client. - * If the return value is `null` the negotiation process will stop and an - * "unknown_psk_identity" alert message will be sent to the other party. - * If the server wishes to hide the fact that the PSK identity was not known, - * the callback must provide some random data as `psk` to make the connection - * fail with "decrypt_error" before negotiation is finished. - * PSK ciphers are disabled by default, and using TLS-PSK thus - * requires explicitly specifying a cipher suite with the `ciphers` option. - * More information can be found in the RFC 4279. - */ - - pskCallback?(socket: TLSSocket, identity: string): DataView | NodeJS.TypedArray | null; - /** - * hint to send to a client to help - * with selecting the identity during TLS-PSK negotiation. Will be ignored - * in TLS 1.3. Upon failing to set pskIdentityHint `tlsClientError` will be - * emitted with `ERR_TLS_PSK_SET_IDENTIY_HINT_FAILED` code. - */ - pskIdentityHint?: string; - } - - interface PSKCallbackNegotation { - psk: DataView | NodeJS.TypedArray; - identity: string; - } - - interface ConnectionOptions extends SecureContextOptions, CommonConnectionOptions { - host?: string; - port?: number; - path?: string; // Creates unix socket connection to path. If this option is specified, `host` and `port` are ignored. - socket?: net.Socket; // Establish secure connection on a given socket rather than creating a new socket - checkServerIdentity?: typeof checkServerIdentity; - servername?: string; // SNI TLS Extension - session?: Buffer; - minDHSize?: number; - lookup?: net.LookupFunction; - timeout?: number; - /** - * When negotiating TLS-PSK (pre-shared keys), this function is called - * with optional identity `hint` provided by the server or `null` - * in case of TLS 1.3 where `hint` was removed. - * It will be necessary to provide a custom `tls.checkServerIdentity()` - * for the connection as the default one will try to check hostname/IP - * of the server against the certificate but that's not applicable for PSK - * because there won't be a certificate present. - * More information can be found in the RFC 4279. - * - * @param hint message sent from the server to help client - * decide which identity to use during negotiation. - * Always `null` if TLS 1.3 is used. - * @returns Return `null` to stop the negotiation process. `psk` must be - * compatible with the selected cipher's digest. - * `identity` must use UTF-8 encoding. - */ - pskCallback?(hint: string | null): PSKCallbackNegotation | null; - } - - class Server extends net.Server { - constructor(secureConnectionListener?: (socket: TLSSocket) => void); - constructor(options: TlsOptions, secureConnectionListener?: (socket: TLSSocket) => void); - - /** - * The server.addContext() method adds a secure context that will be - * used if the client request's SNI name matches the supplied hostname - * (or wildcard). - */ - addContext(hostName: string, credentials: SecureContextOptions): void; - /** - * Returns the session ticket keys. - */ - getTicketKeys(): Buffer; - /** - * - * The server.setSecureContext() method replaces the - * secure context of an existing server. Existing connections to the - * server are not interrupted. - */ - setSecureContext(details: SecureContextOptions): void; - /** - * The server.setSecureContext() method replaces the secure context of - * an existing server. Existing connections to the server are not - * interrupted. - */ - setTicketKeys(keys: Buffer): void; - - /** - * events.EventEmitter - * 1. tlsClientError - * 2. newSession - * 3. OCSPRequest - * 4. resumeSession - * 5. secureConnection - * 6. keylog - */ - addListener(event: string, listener: (...args: any[]) => void): this; - addListener(event: "tlsClientError", listener: (err: Error, tlsSocket: TLSSocket) => void): this; - addListener(event: "newSession", listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void): this; - addListener(event: "OCSPRequest", listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this; - addListener(event: "resumeSession", listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void): this; - addListener(event: "secureConnection", listener: (tlsSocket: TLSSocket) => void): this; - addListener(event: "keylog", listener: (line: Buffer, tlsSocket: TLSSocket) => void): this; - - emit(event: string | symbol, ...args: any[]): boolean; - emit(event: "tlsClientError", err: Error, tlsSocket: TLSSocket): boolean; - emit(event: "newSession", sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void): boolean; - emit(event: "OCSPRequest", certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void): boolean; - emit(event: "resumeSession", sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void): boolean; - emit(event: "secureConnection", tlsSocket: TLSSocket): boolean; - emit(event: "keylog", line: Buffer, tlsSocket: TLSSocket): boolean; - - on(event: string, listener: (...args: any[]) => void): this; - on(event: "tlsClientError", listener: (err: Error, tlsSocket: TLSSocket) => void): this; - on(event: "newSession", listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void): this; - on(event: "OCSPRequest", listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this; - on(event: "resumeSession", listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void): this; - on(event: "secureConnection", listener: (tlsSocket: TLSSocket) => void): this; - on(event: "keylog", listener: (line: Buffer, tlsSocket: TLSSocket) => void): this; - - once(event: string, listener: (...args: any[]) => void): this; - once(event: "tlsClientError", listener: (err: Error, tlsSocket: TLSSocket) => void): this; - once(event: "newSession", listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void): this; - once(event: "OCSPRequest", listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this; - once(event: "resumeSession", listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void): this; - once(event: "secureConnection", listener: (tlsSocket: TLSSocket) => void): this; - once(event: "keylog", listener: (line: Buffer, tlsSocket: TLSSocket) => void): this; - - prependListener(event: string, listener: (...args: any[]) => void): this; - prependListener(event: "tlsClientError", listener: (err: Error, tlsSocket: TLSSocket) => void): this; - prependListener(event: "newSession", listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void): this; - prependListener(event: "OCSPRequest", listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this; - prependListener(event: "resumeSession", listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void): this; - prependListener(event: "secureConnection", listener: (tlsSocket: TLSSocket) => void): this; - prependListener(event: "keylog", listener: (line: Buffer, tlsSocket: TLSSocket) => void): this; - - prependOnceListener(event: string, listener: (...args: any[]) => void): this; - prependOnceListener(event: "tlsClientError", listener: (err: Error, tlsSocket: TLSSocket) => void): this; - prependOnceListener(event: "newSession", listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void): this; - prependOnceListener(event: "OCSPRequest", listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this; - prependOnceListener(event: "resumeSession", listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void): this; - prependOnceListener(event: "secureConnection", listener: (tlsSocket: TLSSocket) => void): this; - prependOnceListener(event: "keylog", listener: (line: Buffer, tlsSocket: TLSSocket) => void): this; - } - - interface SecurePair { - encrypted: TLSSocket; - cleartext: TLSSocket; - } - - type SecureVersion = 'TLSv1.3' | 'TLSv1.2' | 'TLSv1.1' | 'TLSv1'; - - interface SecureContextOptions { - /** - * Optionally override the trusted CA certificates. Default is to trust - * the well-known CAs curated by Mozilla. Mozilla's CAs are completely - * replaced when CAs are explicitly specified using this option. - */ - ca?: string | Buffer | Array; - /** - * Cert chains in PEM format. One cert chain should be provided per - * private key. Each cert chain should consist of the PEM formatted - * certificate for a provided private key, followed by the PEM - * formatted intermediate certificates (if any), in order, and not - * including the root CA (the root CA must be pre-known to the peer, - * see ca). When providing multiple cert chains, they do not have to - * be in the same order as their private keys in key. If the - * intermediate certificates are not provided, the peer will not be - * able to validate the certificate, and the handshake will fail. - */ - cert?: string | Buffer | Array; - /** - * Colon-separated list of supported signature algorithms. The list - * can contain digest algorithms (SHA256, MD5 etc.), public key - * algorithms (RSA-PSS, ECDSA etc.), combination of both (e.g - * 'RSA+SHA384') or TLS v1.3 scheme names (e.g. rsa_pss_pss_sha512). - */ - sigalgs?: string; - /** - * Cipher suite specification, replacing the default. For more - * information, see modifying the default cipher suite. Permitted - * ciphers can be obtained via tls.getCiphers(). Cipher names must be - * uppercased in order for OpenSSL to accept them. - */ - ciphers?: string; - /** - * Name of an OpenSSL engine which can provide the client certificate. - */ - clientCertEngine?: string; - /** - * PEM formatted CRLs (Certificate Revocation Lists). - */ - crl?: string | Buffer | Array; - /** - * Diffie Hellman parameters, required for Perfect Forward Secrecy. Use - * openssl dhparam to create the parameters. The key length must be - * greater than or equal to 1024 bits or else an error will be thrown. - * Although 1024 bits is permissible, use 2048 bits or larger for - * stronger security. If omitted or invalid, the parameters are - * silently discarded and DHE ciphers will not be available. - */ - dhparam?: string | Buffer; - /** - * A string describing a named curve or a colon separated list of curve - * NIDs or names, for example P-521:P-384:P-256, to use for ECDH key - * agreement. Set to auto to select the curve automatically. Use - * crypto.getCurves() to obtain a list of available curve names. On - * recent releases, openssl ecparam -list_curves will also display the - * name and description of each available elliptic curve. Default: - * tls.DEFAULT_ECDH_CURVE. - */ - ecdhCurve?: string; - /** - * Attempt to use the server's cipher suite preferences instead of the - * client's. When true, causes SSL_OP_CIPHER_SERVER_PREFERENCE to be - * set in secureOptions - */ - honorCipherOrder?: boolean; - /** - * Private keys in PEM format. PEM allows the option of private keys - * being encrypted. Encrypted keys will be decrypted with - * options.passphrase. Multiple keys using different algorithms can be - * provided either as an array of unencrypted key strings or buffers, - * or an array of objects in the form {pem: [, - * passphrase: ]}. The object form can only occur in an array. - * object.passphrase is optional. Encrypted keys will be decrypted with - * object.passphrase if provided, or options.passphrase if it is not. - */ - key?: string | Buffer | Array; - /** - * Name of an OpenSSL engine to get private key from. Should be used - * together with privateKeyIdentifier. - */ - privateKeyEngine?: string; - /** - * Identifier of a private key managed by an OpenSSL engine. Should be - * used together with privateKeyEngine. Should not be set together with - * key, because both options define a private key in different ways. - */ - privateKeyIdentifier?: string; - /** - * Optionally set the maximum TLS version to allow. One - * of `'TLSv1.3'`, `'TLSv1.2'`, `'TLSv1.1'`, or `'TLSv1'`. Cannot be specified along with the - * `secureProtocol` option, use one or the other. - * **Default:** `'TLSv1.3'`, unless changed using CLI options. Using - * `--tls-max-v1.2` sets the default to `'TLSv1.2'`. Using `--tls-max-v1.3` sets the default to - * `'TLSv1.3'`. If multiple of the options are provided, the highest maximum is used. - */ - maxVersion?: SecureVersion; - /** - * Optionally set the minimum TLS version to allow. One - * of `'TLSv1.3'`, `'TLSv1.2'`, `'TLSv1.1'`, or `'TLSv1'`. Cannot be specified along with the - * `secureProtocol` option, use one or the other. It is not recommended to use - * less than TLSv1.2, but it may be required for interoperability. - * **Default:** `'TLSv1.2'`, unless changed using CLI options. Using - * `--tls-v1.0` sets the default to `'TLSv1'`. Using `--tls-v1.1` sets the default to - * `'TLSv1.1'`. Using `--tls-min-v1.3` sets the default to - * 'TLSv1.3'. If multiple of the options are provided, the lowest minimum is used. - */ - minVersion?: SecureVersion; - /** - * Shared passphrase used for a single private key and/or a PFX. - */ - passphrase?: string; - /** - * PFX or PKCS12 encoded private key and certificate chain. pfx is an - * alternative to providing key and cert individually. PFX is usually - * encrypted, if it is, passphrase will be used to decrypt it. Multiple - * PFX can be provided either as an array of unencrypted PFX buffers, - * or an array of objects in the form {buf: [, - * passphrase: ]}. The object form can only occur in an array. - * object.passphrase is optional. Encrypted PFX will be decrypted with - * object.passphrase if provided, or options.passphrase if it is not. - */ - pfx?: string | Buffer | Array; - /** - * Optionally affect the OpenSSL protocol behavior, which is not - * usually necessary. This should be used carefully if at all! Value is - * a numeric bitmask of the SSL_OP_* options from OpenSSL Options - */ - secureOptions?: number; // Value is a numeric bitmask of the `SSL_OP_*` options - /** - * Legacy mechanism to select the TLS protocol version to use, it does - * not support independent control of the minimum and maximum version, - * and does not support limiting the protocol to TLSv1.3. Use - * minVersion and maxVersion instead. The possible values are listed as - * SSL_METHODS, use the function names as strings. For example, use - * 'TLSv1_1_method' to force TLS version 1.1, or 'TLS_method' to allow - * any TLS protocol version up to TLSv1.3. It is not recommended to use - * TLS versions less than 1.2, but it may be required for - * interoperability. Default: none, see minVersion. - */ - secureProtocol?: string; - /** - * Opaque identifier used by servers to ensure session state is not - * shared between applications. Unused by clients. - */ - sessionIdContext?: string; - /** - * 48-bytes of cryptographically strong pseudo-random data. - * See Session Resumption for more information. - */ - ticketKeys?: Buffer; - /** - * The number of seconds after which a TLS session created by the - * server will no longer be resumable. See Session Resumption for more - * information. Default: 300. - */ - sessionTimeout?: number; - } - - interface SecureContext { - context: any; - } - - /* - * Verifies the certificate `cert` is issued to host `host`. - * @host The hostname to verify the certificate against - * @cert PeerCertificate representing the peer's certificate - * - * Returns Error object, populating it with the reason, host and cert on failure. On success, returns undefined. - */ - function checkServerIdentity(host: string, cert: PeerCertificate): Error | undefined; - function createServer(secureConnectionListener?: (socket: TLSSocket) => void): Server; - function createServer(options: TlsOptions, secureConnectionListener?: (socket: TLSSocket) => void): Server; - function connect(options: ConnectionOptions, secureConnectListener?: () => void): TLSSocket; - function connect(port: number, host?: string, options?: ConnectionOptions, secureConnectListener?: () => void): TLSSocket; - function connect(port: number, options?: ConnectionOptions, secureConnectListener?: () => void): TLSSocket; - /** - * @deprecated since v0.11.3 Use `tls.TLSSocket` instead. - */ - function createSecurePair(credentials?: SecureContext, isServer?: boolean, requestCert?: boolean, rejectUnauthorized?: boolean): SecurePair; - function createSecureContext(options?: SecureContextOptions): SecureContext; - function getCiphers(): string[]; - - /** - * The default curve name to use for ECDH key agreement in a tls server. - * The default value is 'auto'. See tls.createSecureContext() for further - * information. - */ - let DEFAULT_ECDH_CURVE: string; - /** - * The default value of the maxVersion option of - * tls.createSecureContext(). It can be assigned any of the supported TLS - * protocol versions, 'TLSv1.3', 'TLSv1.2', 'TLSv1.1', or 'TLSv1'. Default: - * 'TLSv1.3', unless changed using CLI options. Using --tls-max-v1.2 sets - * the default to 'TLSv1.2'. Using --tls-max-v1.3 sets the default to - * 'TLSv1.3'. If multiple of the options are provided, the highest maximum - * is used. - */ - let DEFAULT_MAX_VERSION: SecureVersion; - /** - * The default value of the minVersion option of tls.createSecureContext(). - * It can be assigned any of the supported TLS protocol versions, - * 'TLSv1.3', 'TLSv1.2', 'TLSv1.1', or 'TLSv1'. Default: 'TLSv1.2', unless - * changed using CLI options. Using --tls-min-v1.0 sets the default to - * 'TLSv1'. Using --tls-min-v1.1 sets the default to 'TLSv1.1'. Using - * --tls-min-v1.3 sets the default to 'TLSv1.3'. If multiple of the options - * are provided, the lowest minimum is used. - */ - let DEFAULT_MIN_VERSION: SecureVersion; - - /** - * An immutable array of strings representing the root certificates (in PEM - * format) used for verifying peer certificates. This is the default value - * of the ca option to tls.createSecureContext(). - */ - const rootCertificates: ReadonlyArray; -} diff --git a/node_modules/@types/node/trace_events.d.ts b/node_modules/@types/node/trace_events.d.ts deleted file mode 100644 index 1f3a89c..0000000 --- a/node_modules/@types/node/trace_events.d.ts +++ /dev/null @@ -1,61 +0,0 @@ -declare module "trace_events" { - /** - * The `Tracing` object is used to enable or disable tracing for sets of - * categories. Instances are created using the - * `trace_events.createTracing()` method. - * - * When created, the `Tracing` object is disabled. Calling the - * `tracing.enable()` method adds the categories to the set of enabled trace - * event categories. Calling `tracing.disable()` will remove the categories - * from the set of enabled trace event categories. - */ - interface Tracing { - /** - * A comma-separated list of the trace event categories covered by this - * `Tracing` object. - */ - readonly categories: string; - - /** - * Disables this `Tracing` object. - * - * Only trace event categories _not_ covered by other enabled `Tracing` - * objects and _not_ specified by the `--trace-event-categories` flag - * will be disabled. - */ - disable(): void; - - /** - * Enables this `Tracing` object for the set of categories covered by - * the `Tracing` object. - */ - enable(): void; - - /** - * `true` only if the `Tracing` object has been enabled. - */ - readonly enabled: boolean; - } - - interface CreateTracingOptions { - /** - * An array of trace category names. Values included in the array are - * coerced to a string when possible. An error will be thrown if the - * value cannot be coerced. - */ - categories: string[]; - } - - /** - * Creates and returns a Tracing object for the given set of categories. - */ - function createTracing(options: CreateTracingOptions): Tracing; - - /** - * Returns a comma-separated list of all currently-enabled trace event - * categories. The current set of enabled trace event categories is - * determined by the union of all currently-enabled `Tracing` objects and - * any categories enabled using the `--trace-event-categories` flag. - */ - function getEnabledCategories(): string | undefined; -} diff --git a/node_modules/@types/node/ts3.4/assert.d.ts b/node_modules/@types/node/ts3.4/assert.d.ts deleted file mode 100644 index 37e24f5..0000000 --- a/node_modules/@types/node/ts3.4/assert.d.ts +++ /dev/null @@ -1,98 +0,0 @@ -declare module 'assert' { - /** An alias of `assert.ok()`. */ - function assert(value: any, message?: string | Error): void; - namespace assert { - class AssertionError extends Error { - actual: any; - expected: any; - operator: string; - generatedMessage: boolean; - code: 'ERR_ASSERTION'; - - constructor(options?: { - /** If provided, the error message is set to this value. */ - message?: string; - /** The `actual` property on the error instance. */ - actual?: any; - /** The `expected` property on the error instance. */ - expected?: any; - /** The `operator` property on the error instance. */ - operator?: string; - /** If provided, the generated stack trace omits frames before this function. */ - // tslint:disable-next-line:ban-types - stackStartFn?: Function; - }); - } - - class CallTracker { - calls(exact?: number): () => void; - calls any>(fn?: Func, exact?: number): Func; - report(): CallTrackerReportInformation[]; - verify(): void; - } - interface CallTrackerReportInformation { - message: string; - /** The actual number of times the function was called. */ - actual: number; - /** The number of times the function was expected to be called. */ - expected: number; - /** The name of the function that is wrapped. */ - operator: string; - /** A stack trace of the function. */ - stack: object; - } - - type AssertPredicate = RegExp | (new () => object) | ((thrown: any) => boolean) | object | Error; - - function fail(message?: string | Error): never; - /** @deprecated since v10.0.0 - use fail([message]) or other assert functions instead. */ - function fail( - actual: any, - expected: any, - message?: string | Error, - operator?: string, - // tslint:disable-next-line:ban-types - stackStartFn?: Function, - ): never; - function ok(value: any, message?: string | Error): void; - /** @deprecated since v9.9.0 - use strictEqual() instead. */ - function equal(actual: any, expected: any, message?: string | Error): void; - /** @deprecated since v9.9.0 - use notStrictEqual() instead. */ - function notEqual(actual: any, expected: any, message?: string | Error): void; - /** @deprecated since v9.9.0 - use deepStrictEqual() instead. */ - function deepEqual(actual: any, expected: any, message?: string | Error): void; - /** @deprecated since v9.9.0 - use notDeepStrictEqual() instead. */ - function notDeepEqual(actual: any, expected: any, message?: string | Error): void; - function strictEqual(actual: any, expected: any, message?: string | Error): void; - function notStrictEqual(actual: any, expected: any, message?: string | Error): void; - function deepStrictEqual(actual: any, expected: any, message?: string | Error): void; - function notDeepStrictEqual(actual: any, expected: any, message?: string | Error): void; - - function throws(block: () => any, message?: string | Error): void; - function throws(block: () => any, error: AssertPredicate, message?: string | Error): void; - function doesNotThrow(block: () => any, message?: string | Error): void; - function doesNotThrow(block: () => any, error: AssertPredicate, message?: string | Error): void; - - function ifError(value: any): void; - - function rejects(block: (() => Promise) | Promise, message?: string | Error): Promise; - function rejects( - block: (() => Promise) | Promise, - error: AssertPredicate, - message?: string | Error, - ): Promise; - function doesNotReject(block: (() => Promise) | Promise, message?: string | Error): Promise; - function doesNotReject( - block: (() => Promise) | Promise, - error: AssertPredicate, - message?: string | Error, - ): Promise; - - function match(value: string, regExp: RegExp, message?: string | Error): void; - function doesNotMatch(value: string, regExp: RegExp, message?: string | Error): void; - - const strict: typeof assert; - } - - export = assert; -} diff --git a/node_modules/@types/node/ts3.4/base.d.ts b/node_modules/@types/node/ts3.4/base.d.ts deleted file mode 100644 index 2ea04f5..0000000 --- a/node_modules/@types/node/ts3.4/base.d.ts +++ /dev/null @@ -1,56 +0,0 @@ -// NOTE: These definitions support NodeJS and TypeScript 3.2 - 3.4. - -// NOTE: TypeScript version-specific augmentations can be found in the following paths: -// - ~/base.d.ts - Shared definitions common to all TypeScript versions -// - ~/index.d.ts - Definitions specific to TypeScript 2.1 -// - ~/ts3.2/base.d.ts - Definitions specific to TypeScript 3.2 -// - ~/ts3.2/index.d.ts - Definitions specific to TypeScript 3.2 with global and assert pulled in - -// Reference required types from the default lib: -/// -/// -/// -/// - -// Base definitions for all NodeJS modules that are not specific to any version of TypeScript: - -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// diff --git a/node_modules/@types/node/ts3.4/globals.global.d.ts b/node_modules/@types/node/ts3.4/globals.global.d.ts deleted file mode 100644 index 8e85466..0000000 --- a/node_modules/@types/node/ts3.4/globals.global.d.ts +++ /dev/null @@ -1 +0,0 @@ -declare var global: NodeJS.Global; diff --git a/node_modules/@types/node/ts3.4/index.d.ts b/node_modules/@types/node/ts3.4/index.d.ts deleted file mode 100644 index 506b32a..0000000 --- a/node_modules/@types/node/ts3.4/index.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -// NOTE: These definitions support NodeJS and TypeScript 3.2 - 3.4. -// This is required to enable globalThis support for global in ts3.5 without causing errors -// This is required to enable typing assert in ts3.7 without causing errors -// Typically type modifiations should be made in base.d.ts instead of here - -/// -/// -/// diff --git a/node_modules/@types/node/ts3.6/base.d.ts b/node_modules/@types/node/ts3.6/base.d.ts deleted file mode 100644 index 05afa40..0000000 --- a/node_modules/@types/node/ts3.6/base.d.ts +++ /dev/null @@ -1,22 +0,0 @@ -// NOTE: These definitions support NodeJS and TypeScript 3.5. - -// NOTE: TypeScript version-specific augmentations can be found in the following paths: -// - ~/base.d.ts - Shared definitions common to all TypeScript versions -// - ~/index.d.ts - Definitions specific to TypeScript 2.1 -// - ~/ts3.5/base.d.ts - Definitions specific to TypeScript 3.5 -// - ~/ts3.5/index.d.ts - Definitions specific to TypeScript 3.5 with assert pulled in - -// Reference required types from the default lib: -/// -/// -/// -/// - -// Base definitions for all NodeJS modules that are not specific to any version of TypeScript: -/// - -// TypeScript 3.5-specific augmentations: -/// - -// TypeScript 3.5-specific augmentations: -/// diff --git a/node_modules/@types/node/ts3.6/index.d.ts b/node_modules/@types/node/ts3.6/index.d.ts deleted file mode 100644 index 7e6b98c..0000000 --- a/node_modules/@types/node/ts3.6/index.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -// NOTE: These definitions support NodeJS and TypeScript 3.5 - 3.6. -// This is required to enable typing assert in ts3.7 without causing errors -// Typically type modifications should be made in base.d.ts instead of here - -/// - -/// diff --git a/node_modules/@types/node/tty.d.ts b/node_modules/@types/node/tty.d.ts deleted file mode 100644 index 7854366..0000000 --- a/node_modules/@types/node/tty.d.ts +++ /dev/null @@ -1,66 +0,0 @@ -declare module "tty" { - import * as net from "net"; - - function isatty(fd: number): boolean; - class ReadStream extends net.Socket { - constructor(fd: number, options?: net.SocketConstructorOpts); - isRaw: boolean; - setRawMode(mode: boolean): this; - isTTY: boolean; - } - /** - * -1 - to the left from cursor - * 0 - the entire line - * 1 - to the right from cursor - */ - type Direction = -1 | 0 | 1; - class WriteStream extends net.Socket { - constructor(fd: number); - addListener(event: string, listener: (...args: any[]) => void): this; - addListener(event: "resize", listener: () => void): this; - - emit(event: string | symbol, ...args: any[]): boolean; - emit(event: "resize"): boolean; - - on(event: string, listener: (...args: any[]) => void): this; - on(event: "resize", listener: () => void): this; - - once(event: string, listener: (...args: any[]) => void): this; - once(event: "resize", listener: () => void): this; - - prependListener(event: string, listener: (...args: any[]) => void): this; - prependListener(event: "resize", listener: () => void): this; - - prependOnceListener(event: string, listener: (...args: any[]) => void): this; - prependOnceListener(event: "resize", listener: () => void): this; - - /** - * Clears the current line of this WriteStream in a direction identified by `dir`. - */ - clearLine(dir: Direction, callback?: () => void): boolean; - /** - * Clears this `WriteStream` from the current cursor down. - */ - clearScreenDown(callback?: () => void): boolean; - /** - * Moves this WriteStream's cursor to the specified position. - */ - cursorTo(x: number, y?: number, callback?: () => void): boolean; - cursorTo(x: number, callback: () => void): boolean; - /** - * Moves this WriteStream's cursor relative to its current position. - */ - moveCursor(dx: number, dy: number, callback?: () => void): boolean; - /** - * @default `process.env` - */ - getColorDepth(env?: {}): number; - hasColors(depth?: number): boolean; - hasColors(env?: {}): boolean; - hasColors(depth: number, env?: {}): boolean; - getWindowSize(): [number, number]; - columns: number; - rows: number; - isTTY: boolean; - } -} diff --git a/node_modules/@types/node/url.d.ts b/node_modules/@types/node/url.d.ts deleted file mode 100644 index 24c7afc..0000000 --- a/node_modules/@types/node/url.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -declare module "url" { - import { ParsedUrlQuery, ParsedUrlQueryInput } from 'querystring'; - - // Input to `url.format` - interface UrlObject { - auth?: string | null; - hash?: string | null; - host?: string | null; - hostname?: string | null; - href?: string | null; - pathname?: string | null; - protocol?: string | null; - search?: string | null; - slashes?: boolean | null; - port?: string | number | null; - query?: string | null | ParsedUrlQueryInput; - } - - // Output of `url.parse` - interface Url { - auth: string | null; - hash: string | null; - host: string | null; - hostname: string | null; - href: string; - path: string | null; - pathname: string | null; - protocol: string | null; - search: string | null; - slashes: boolean | null; - port: string | null; - query: string | null | ParsedUrlQuery; - } - - interface UrlWithParsedQuery extends Url { - query: ParsedUrlQuery; - } - - interface UrlWithStringQuery extends Url { - query: string | null; - } - - /** @deprecated since v11.0.0 - Use the WHATWG URL API. */ - function parse(urlStr: string): UrlWithStringQuery; - /** @deprecated since v11.0.0 - Use the WHATWG URL API. */ - function parse(urlStr: string, parseQueryString: false | undefined, slashesDenoteHost?: boolean): UrlWithStringQuery; - /** @deprecated since v11.0.0 - Use the WHATWG URL API. */ - function parse(urlStr: string, parseQueryString: true, slashesDenoteHost?: boolean): UrlWithParsedQuery; - /** @deprecated since v11.0.0 - Use the WHATWG URL API. */ - function parse(urlStr: string, parseQueryString: boolean, slashesDenoteHost?: boolean): Url; - - function format(URL: URL, options?: URLFormatOptions): string; - /** @deprecated since v11.0.0 - Use the WHATWG URL API. */ - function format(urlObject: UrlObject | string): string; - /** @deprecated since v11.0.0 - Use the WHATWG URL API. */ - function resolve(from: string, to: string): string; - - function domainToASCII(domain: string): string; - function domainToUnicode(domain: string): string; - - /** - * This function ensures the correct decodings of percent-encoded characters as - * well as ensuring a cross-platform valid absolute path string. - * @param url The file URL string or URL object to convert to a path. - */ - function fileURLToPath(url: string | URL): string; - - /** - * This function ensures that path is resolved absolutely, and that the URL - * control characters are correctly encoded when converting into a File URL. - * @param url The path to convert to a File URL. - */ - function pathToFileURL(url: string): URL; - - interface URLFormatOptions { - auth?: boolean; - fragment?: boolean; - search?: boolean; - unicode?: boolean; - } - - class URL { - constructor(input: string, base?: string | URL); - hash: string; - host: string; - hostname: string; - href: string; - readonly origin: string; - password: string; - pathname: string; - port: string; - protocol: string; - search: string; - readonly searchParams: URLSearchParams; - username: string; - toString(): string; - toJSON(): string; - } - - class URLSearchParams implements Iterable<[string, string]> { - constructor(init?: URLSearchParams | string | NodeJS.Dict> | Iterable<[string, string]> | ReadonlyArray<[string, string]>); - append(name: string, value: string): void; - delete(name: string): void; - entries(): IterableIterator<[string, string]>; - forEach(callback: (value: string, name: string, searchParams: this) => void): void; - get(name: string): string | null; - getAll(name: string): string[]; - has(name: string): boolean; - keys(): IterableIterator; - set(name: string, value: string): void; - sort(): void; - toString(): string; - values(): IterableIterator; - [Symbol.iterator](): IterableIterator<[string, string]>; - } -} diff --git a/node_modules/@types/node/util.d.ts b/node_modules/@types/node/util.d.ts deleted file mode 100644 index f83a853..0000000 --- a/node_modules/@types/node/util.d.ts +++ /dev/null @@ -1,207 +0,0 @@ -declare module "util" { - interface InspectOptions extends NodeJS.InspectOptions { } - type Style = 'special' | 'number' | 'bigint' | 'boolean' | 'undefined' | 'null' | 'string' | 'symbol' | 'date' | 'regexp' | 'module'; - type CustomInspectFunction = (depth: number, options: InspectOptionsStylized) => string; - interface InspectOptionsStylized extends InspectOptions { - stylize(text: string, styleType: Style): string; - } - function format(format?: any, ...param: any[]): string; - function formatWithOptions(inspectOptions: InspectOptions, format?: any, ...param: any[]): string; - /** @deprecated since v0.11.3 - use a third party module instead. */ - function log(string: string): void; - function inspect(object: any, showHidden?: boolean, depth?: number | null, color?: boolean): string; - function inspect(object: any, options: InspectOptions): string; - namespace inspect { - let colors: NodeJS.Dict<[number, number]>; - let styles: { - [K in Style]: string - }; - let defaultOptions: InspectOptions; - /** - * Allows changing inspect settings from the repl. - */ - let replDefaults: InspectOptions; - const custom: unique symbol; - } - /** @deprecated since v4.0.0 - use `Array.isArray()` instead. */ - function isArray(object: any): object is any[]; - /** @deprecated since v4.0.0 - use `util.types.isRegExp()` instead. */ - function isRegExp(object: any): object is RegExp; - /** @deprecated since v4.0.0 - use `util.types.isDate()` instead. */ - function isDate(object: any): object is Date; - /** @deprecated since v4.0.0 - use `util.types.isNativeError()` instead. */ - function isError(object: any): object is Error; - function inherits(constructor: any, superConstructor: any): void; - function debuglog(key: string): (msg: string, ...param: any[]) => void; - /** @deprecated since v4.0.0 - use `typeof value === 'boolean'` instead. */ - function isBoolean(object: any): object is boolean; - /** @deprecated since v4.0.0 - use `Buffer.isBuffer()` instead. */ - function isBuffer(object: any): object is Buffer; - /** @deprecated since v4.0.0 - use `typeof value === 'function'` instead. */ - function isFunction(object: any): boolean; - /** @deprecated since v4.0.0 - use `value === null` instead. */ - function isNull(object: any): object is null; - /** @deprecated since v4.0.0 - use `value === null || value === undefined` instead. */ - function isNullOrUndefined(object: any): object is null | undefined; - /** @deprecated since v4.0.0 - use `typeof value === 'number'` instead. */ - function isNumber(object: any): object is number; - /** @deprecated since v4.0.0 - use `value !== null && typeof value === 'object'` instead. */ - function isObject(object: any): boolean; - /** @deprecated since v4.0.0 - use `(typeof value !== 'object' && typeof value !== 'function') || value === null` instead. */ - function isPrimitive(object: any): boolean; - /** @deprecated since v4.0.0 - use `typeof value === 'string'` instead. */ - function isString(object: any): object is string; - /** @deprecated since v4.0.0 - use `typeof value === 'symbol'` instead. */ - function isSymbol(object: any): object is symbol; - /** @deprecated since v4.0.0 - use `value === undefined` instead. */ - function isUndefined(object: any): object is undefined; - function deprecate(fn: T, message: string, code?: string): T; - function isDeepStrictEqual(val1: any, val2: any): boolean; - - function callbackify(fn: () => Promise): (callback: (err: NodeJS.ErrnoException) => void) => void; - function callbackify(fn: () => Promise): (callback: (err: NodeJS.ErrnoException, result: TResult) => void) => void; - function callbackify(fn: (arg1: T1) => Promise): (arg1: T1, callback: (err: NodeJS.ErrnoException) => void) => void; - function callbackify(fn: (arg1: T1) => Promise): (arg1: T1, callback: (err: NodeJS.ErrnoException, result: TResult) => void) => void; - function callbackify(fn: (arg1: T1, arg2: T2) => Promise): (arg1: T1, arg2: T2, callback: (err: NodeJS.ErrnoException) => void) => void; - function callbackify(fn: (arg1: T1, arg2: T2) => Promise): (arg1: T1, arg2: T2, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void; - function callbackify(fn: (arg1: T1, arg2: T2, arg3: T3) => Promise): (arg1: T1, arg2: T2, arg3: T3, callback: (err: NodeJS.ErrnoException) => void) => void; - function callbackify( - fn: (arg1: T1, arg2: T2, arg3: T3) => Promise): (arg1: T1, arg2: T2, arg3: T3, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void; - function callbackify( - fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: NodeJS.ErrnoException) => void) => void; - function callbackify( - fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void; - function callbackify( - fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: NodeJS.ErrnoException) => void) => void; - function callbackify( - fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise, - ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void; - function callbackify( - fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6) => Promise, - ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6, callback: (err: NodeJS.ErrnoException) => void) => void; - function callbackify( - fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6) => Promise - ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void; - - interface CustomPromisifyLegacy extends Function { - __promisify__: TCustom; - } - - interface CustomPromisifySymbol extends Function { - [promisify.custom]: TCustom; - } - - type CustomPromisify = CustomPromisifySymbol | CustomPromisifyLegacy; - - function promisify(fn: CustomPromisify): TCustom; - function promisify(fn: (callback: (err: any, result: TResult) => void) => void): () => Promise; - function promisify(fn: (callback: (err?: any) => void) => void): () => Promise; - function promisify(fn: (arg1: T1, callback: (err: any, result: TResult) => void) => void): (arg1: T1) => Promise; - function promisify(fn: (arg1: T1, callback: (err?: any) => void) => void): (arg1: T1) => Promise; - function promisify(fn: (arg1: T1, arg2: T2, callback: (err: any, result: TResult) => void) => void): (arg1: T1, arg2: T2) => Promise; - function promisify(fn: (arg1: T1, arg2: T2, callback: (err?: any) => void) => void): (arg1: T1, arg2: T2) => Promise; - function promisify(fn: (arg1: T1, arg2: T2, arg3: T3, callback: (err: any, result: TResult) => void) => void): - (arg1: T1, arg2: T2, arg3: T3) => Promise; - function promisify(fn: (arg1: T1, arg2: T2, arg3: T3, callback: (err?: any) => void) => void): (arg1: T1, arg2: T2, arg3: T3) => Promise; - function promisify( - fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: any, result: TResult) => void) => void, - ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise; - function promisify(fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err?: any) => void) => void): - (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise; - function promisify( - fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: any, result: TResult) => void) => void, - ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise; - function promisify( - fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err?: any) => void) => void, - ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise; - function promisify(fn: Function): Function; - namespace promisify { - const custom: unique symbol; - } - - namespace types { - function isAnyArrayBuffer(object: any): object is ArrayBufferLike; - function isArgumentsObject(object: any): object is IArguments; - function isArrayBuffer(object: any): object is ArrayBuffer; - function isArrayBufferView(object: any): object is NodeJS.ArrayBufferView; - function isAsyncFunction(object: any): boolean; - function isBigInt64Array(value: any): value is BigInt64Array; - function isBigUint64Array(value: any): value is BigUint64Array; - function isBooleanObject(object: any): object is Boolean; - function isBoxedPrimitive(object: any): object is String | Number | BigInt | Boolean | Symbol; - function isDataView(object: any): object is DataView; - function isDate(object: any): object is Date; - function isExternal(object: any): boolean; - function isFloat32Array(object: any): object is Float32Array; - function isFloat64Array(object: any): object is Float64Array; - function isGeneratorFunction(object: any): object is GeneratorFunction; - function isGeneratorObject(object: any): object is Generator; - function isInt8Array(object: any): object is Int8Array; - function isInt16Array(object: any): object is Int16Array; - function isInt32Array(object: any): object is Int32Array; - function isMap( - object: T | {}, - ): object is T extends ReadonlyMap - ? unknown extends T - ? never - : ReadonlyMap - : Map; - function isMapIterator(object: any): boolean; - function isModuleNamespaceObject(value: any): boolean; - function isNativeError(object: any): object is Error; - function isNumberObject(object: any): object is Number; - function isPromise(object: any): object is Promise; - function isProxy(object: any): boolean; - function isRegExp(object: any): object is RegExp; - function isSet( - object: T | {}, - ): object is T extends ReadonlySet - ? unknown extends T - ? never - : ReadonlySet - : Set; - function isSetIterator(object: any): boolean; - function isSharedArrayBuffer(object: any): object is SharedArrayBuffer; - function isStringObject(object: any): object is String; - function isSymbolObject(object: any): object is Symbol; - function isTypedArray(object: any): object is NodeJS.TypedArray; - function isUint8Array(object: any): object is Uint8Array; - function isUint8ClampedArray(object: any): object is Uint8ClampedArray; - function isUint16Array(object: any): object is Uint16Array; - function isUint32Array(object: any): object is Uint32Array; - function isWeakMap(object: any): object is WeakMap; - function isWeakSet(object: any): object is WeakSet; - } - - class TextDecoder { - readonly encoding: string; - readonly fatal: boolean; - readonly ignoreBOM: boolean; - constructor( - encoding?: string, - options?: { fatal?: boolean; ignoreBOM?: boolean } - ); - decode( - input?: NodeJS.ArrayBufferView | ArrayBuffer | null, - options?: { stream?: boolean } - ): string; - } - - interface EncodeIntoResult { - /** - * The read Unicode code units of input. - */ - - read: number; - /** - * The written UTF-8 bytes of output. - */ - written: number; - } - - class TextEncoder { - readonly encoding: string; - encode(input?: string): Uint8Array; - encodeInto(input: string, output: Uint8Array): EncodeIntoResult; - } -} diff --git a/node_modules/@types/node/v8.d.ts b/node_modules/@types/node/v8.d.ts deleted file mode 100644 index 7d95082..0000000 --- a/node_modules/@types/node/v8.d.ts +++ /dev/null @@ -1,187 +0,0 @@ -declare module "v8" { - import { Readable } from "stream"; - - interface HeapSpaceInfo { - space_name: string; - space_size: number; - space_used_size: number; - space_available_size: number; - physical_space_size: number; - } - - // ** Signifies if the --zap_code_space option is enabled or not. 1 == enabled, 0 == disabled. */ - type DoesZapCodeSpaceFlag = 0 | 1; - - interface HeapInfo { - total_heap_size: number; - total_heap_size_executable: number; - total_physical_size: number; - total_available_size: number; - used_heap_size: number; - heap_size_limit: number; - malloced_memory: number; - peak_malloced_memory: number; - does_zap_garbage: DoesZapCodeSpaceFlag; - number_of_native_contexts: number; - number_of_detached_contexts: number; - } - - interface HeapCodeStatistics { - code_and_metadata_size: number; - bytecode_and_metadata_size: number; - external_script_source_size: number; - } - - /** - * Returns an integer representing a "version tag" derived from the V8 version, command line flags and detected CPU features. - * This is useful for determining whether a vm.Script cachedData buffer is compatible with this instance of V8. - */ - function cachedDataVersionTag(): number; - - function getHeapStatistics(): HeapInfo; - function getHeapSpaceStatistics(): HeapSpaceInfo[]; - function setFlagsFromString(flags: string): void; - /** - * Generates a snapshot of the current V8 heap and returns a Readable - * Stream that may be used to read the JSON serialized representation. - * This conversation was marked as resolved by joyeecheung - * This JSON stream format is intended to be used with tools such as - * Chrome DevTools. The JSON schema is undocumented and specific to the - * V8 engine, and may change from one version of V8 to the next. - */ - function getHeapSnapshot(): Readable; - - /** - * - * @param fileName The file path where the V8 heap snapshot is to be - * saved. If not specified, a file name with the pattern - * `'Heap-${yyyymmdd}-${hhmmss}-${pid}-${thread_id}.heapsnapshot'` will be - * generated, where `{pid}` will be the PID of the Node.js process, - * `{thread_id}` will be `0` when `writeHeapSnapshot()` is called from - * the main Node.js thread or the id of a worker thread. - */ - function writeHeapSnapshot(fileName?: string): string; - - function getHeapCodeStatistics(): HeapCodeStatistics; - - class Serializer { - /** - * Writes out a header, which includes the serialization format version. - */ - writeHeader(): void; - - /** - * Serializes a JavaScript value and adds the serialized representation to the internal buffer. - * This throws an error if value cannot be serialized. - */ - writeValue(val: any): boolean; - - /** - * Returns the stored internal buffer. - * This serializer should not be used once the buffer is released. - * Calling this method results in undefined behavior if a previous write has failed. - */ - releaseBuffer(): Buffer; - - /** - * Marks an ArrayBuffer as having its contents transferred out of band.\ - * Pass the corresponding ArrayBuffer in the deserializing context to deserializer.transferArrayBuffer(). - */ - transferArrayBuffer(id: number, arrayBuffer: ArrayBuffer): void; - - /** - * Write a raw 32-bit unsigned integer. - */ - writeUint32(value: number): void; - - /** - * Write a raw 64-bit unsigned integer, split into high and low 32-bit parts. - */ - writeUint64(hi: number, lo: number): void; - - /** - * Write a JS number value. - */ - writeDouble(value: number): void; - - /** - * Write raw bytes into the serializer’s internal buffer. - * The deserializer will require a way to compute the length of the buffer. - */ - writeRawBytes(buffer: NodeJS.TypedArray): void; - } - - /** - * A subclass of `Serializer` that serializes `TypedArray` (in particular `Buffer`) and `DataView` objects as host objects, - * and only stores the part of their underlying `ArrayBuffers` that they are referring to. - */ - class DefaultSerializer extends Serializer { - } - - class Deserializer { - constructor(data: NodeJS.TypedArray); - /** - * Reads and validates a header (including the format version). - * May, for example, reject an invalid or unsupported wire format. - * In that case, an Error is thrown. - */ - readHeader(): boolean; - - /** - * Deserializes a JavaScript value from the buffer and returns it. - */ - readValue(): any; - - /** - * Marks an ArrayBuffer as having its contents transferred out of band. - * Pass the corresponding `ArrayBuffer` in the serializing context to serializer.transferArrayBuffer() - * (or return the id from serializer._getSharedArrayBufferId() in the case of SharedArrayBuffers). - */ - transferArrayBuffer(id: number, arrayBuffer: ArrayBuffer): void; - - /** - * Reads the underlying wire format version. - * Likely mostly to be useful to legacy code reading old wire format versions. - * May not be called before .readHeader(). - */ - getWireFormatVersion(): number; - - /** - * Read a raw 32-bit unsigned integer and return it. - */ - readUint32(): number; - - /** - * Read a raw 64-bit unsigned integer and return it as an array [hi, lo] with two 32-bit unsigned integer entries. - */ - readUint64(): [number, number]; - - /** - * Read a JS number value. - */ - readDouble(): number; - - /** - * Read raw bytes from the deserializer’s internal buffer. - * The length parameter must correspond to the length of the buffer that was passed to serializer.writeRawBytes(). - */ - readRawBytes(length: number): Buffer; - } - - /** - * A subclass of `Serializer` that serializes `TypedArray` (in particular `Buffer`) and `DataView` objects as host objects, - * and only stores the part of their underlying `ArrayBuffers` that they are referring to. - */ - class DefaultDeserializer extends Deserializer { - } - - /** - * Uses a `DefaultSerializer` to serialize value into a buffer. - */ - function serialize(value: any): Buffer; - - /** - * Uses a `DefaultDeserializer` with default options to read a JS value from a buffer. - */ - function deserialize(data: NodeJS.TypedArray): any; -} diff --git a/node_modules/@types/node/vm.d.ts b/node_modules/@types/node/vm.d.ts deleted file mode 100644 index 399c2a6..0000000 --- a/node_modules/@types/node/vm.d.ts +++ /dev/null @@ -1,146 +0,0 @@ -declare module "vm" { - interface Context extends NodeJS.Dict { } - interface BaseOptions { - /** - * Specifies the filename used in stack traces produced by this script. - * Default: `''`. - */ - filename?: string; - /** - * Specifies the line number offset that is displayed in stack traces produced by this script. - * Default: `0`. - */ - lineOffset?: number; - /** - * Specifies the column number offset that is displayed in stack traces produced by this script. - * Default: `0` - */ - columnOffset?: number; - } - interface ScriptOptions extends BaseOptions { - displayErrors?: boolean; - timeout?: number; - cachedData?: Buffer; - produceCachedData?: boolean; - } - interface RunningScriptOptions extends BaseOptions { - /** - * When `true`, if an `Error` occurs while compiling the `code`, the line of code causing the error is attached to the stack trace. - * Default: `true`. - */ - displayErrors?: boolean; - /** - * Specifies the number of milliseconds to execute code before terminating execution. - * If execution is terminated, an `Error` will be thrown. This value must be a strictly positive integer. - */ - timeout?: number; - /** - * If `true`, the execution will be terminated when `SIGINT` (Ctrl+C) is received. - * Existing handlers for the event that have been attached via `process.on('SIGINT')` will be disabled during script execution, but will continue to work after that. - * If execution is terminated, an `Error` will be thrown. - * Default: `false`. - */ - breakOnSigint?: boolean; - /** - * If set to `afterEvaluate`, microtasks will be run immediately after the script has run. - */ - microtaskMode?: 'afterEvaluate'; - } - interface CompileFunctionOptions extends BaseOptions { - /** - * Provides an optional data with V8's code cache data for the supplied source. - */ - cachedData?: Buffer; - /** - * Specifies whether to produce new cache data. - * Default: `false`, - */ - produceCachedData?: boolean; - /** - * The sandbox/context in which the said function should be compiled in. - */ - parsingContext?: Context; - - /** - * An array containing a collection of context extensions (objects wrapping the current scope) to be applied while compiling - */ - contextExtensions?: Object[]; - } - - interface CreateContextOptions { - /** - * Human-readable name of the newly created context. - * @default 'VM Context i' Where i is an ascending numerical index of the created context. - */ - name?: string; - /** - * Corresponds to the newly created context for display purposes. - * The origin should be formatted like a `URL`, but with only the scheme, host, and port (if necessary), - * like the value of the `url.origin` property of a URL object. - * Most notably, this string should omit the trailing slash, as that denotes a path. - * @default '' - */ - origin?: string; - codeGeneration?: { - /** - * If set to false any calls to eval or function constructors (Function, GeneratorFunction, etc) - * will throw an EvalError. - * @default true - */ - strings?: boolean; - /** - * If set to false any attempt to compile a WebAssembly module will throw a WebAssembly.CompileError. - * @default true - */ - wasm?: boolean; - }; - } - - type MeasureMemoryMode = 'summary' | 'detailed'; - - interface MeasureMemoryOptions { - /** - * @default 'summary' - */ - mode?: MeasureMemoryMode; - context?: Context; - } - - interface MemoryMeasurement { - total: { - jsMemoryEstimate: number; - jsMemoryRange: [number, number]; - }; - } - - class Script { - constructor(code: string, options?: ScriptOptions); - runInContext(contextifiedSandbox: Context, options?: RunningScriptOptions): any; - runInNewContext(sandbox?: Context, options?: RunningScriptOptions): any; - runInThisContext(options?: RunningScriptOptions): any; - createCachedData(): Buffer; - } - function createContext(sandbox?: Context, options?: CreateContextOptions): Context; - function isContext(sandbox: Context): boolean; - function runInContext(code: string, contextifiedSandbox: Context, options?: RunningScriptOptions | string): any; - function runInNewContext(code: string, sandbox?: Context, options?: RunningScriptOptions | string): any; - function runInThisContext(code: string, options?: RunningScriptOptions | string): any; - function compileFunction(code: string, params?: ReadonlyArray, options?: CompileFunctionOptions): Function; - - /** - * Measure the memory known to V8 and used by the current execution context or a specified context. - * - * The format of the object that the returned Promise may resolve with is - * specific to the V8 engine and may change from one version of V8 to the next. - * - * The returned result is different from the statistics returned by - * `v8.getHeapSpaceStatistics()` in that `vm.measureMemory()` measures - * the memory reachable by V8 from a specific context, while - * `v8.getHeapSpaceStatistics()` measures the memory used by an instance - * of V8 engine, which can switch among multiple contexts that reference - * objects in the heap of one engine. - * - * @experimental - */ - function measureMemory(options?: MeasureMemoryOptions): Promise; -} diff --git a/node_modules/@types/node/wasi.d.ts b/node_modules/@types/node/wasi.d.ts deleted file mode 100644 index fe2b2aa..0000000 --- a/node_modules/@types/node/wasi.d.ts +++ /dev/null @@ -1,86 +0,0 @@ -declare module 'wasi' { - interface WASIOptions { - /** - * An array of strings that the WebAssembly application will - * see as command line arguments. The first argument is the virtual path to the - * WASI command itself. - */ - args?: string[]; - - /** - * An object similar to `process.env` that the WebAssembly - * application will see as its environment. - */ - env?: object; - - /** - * This object represents the WebAssembly application's - * sandbox directory structure. The string keys of `preopens` are treated as - * directories within the sandbox. The corresponding values in `preopens` are - * the real paths to those directories on the host machine. - */ - preopens?: NodeJS.Dict; - - /** - * By default, WASI applications terminate the Node.js - * process via the `__wasi_proc_exit()` function. Setting this option to `true` - * causes `wasi.start()` to return the exit code rather than terminate the - * process. - * @default false - */ - returnOnExit?: boolean; - - /** - * The file descriptor used as standard input in the WebAssembly application. - * @default 0 - */ - stdin?: number; - - /** - * The file descriptor used as standard output in the WebAssembly application. - * @default 1 - */ - stdout?: number; - - /** - * The file descriptor used as standard error in the WebAssembly application. - * @default 2 - */ - stderr?: number; - } - - class WASI { - constructor(options?: WASIOptions); - /** - * - * Attempt to begin execution of `instance` by invoking its `_start()` export. - * If `instance` does not contain a `_start()` export, then `start()` attempts to - * invoke the `__wasi_unstable_reactor_start()` export. If neither of those exports - * is present on `instance`, then `start()` does nothing. - * - * `start()` requires that `instance` exports a [`WebAssembly.Memory`][] named - * `memory`. If `instance` does not have a `memory` export an exception is thrown. - * - * If `start()` is called more than once, an exception is thrown. - */ - start(instance: object): void; // TODO: avoid DOM dependency until WASM moved to own lib. - - /** - * Attempt to initialize `instance` as a WASI reactor by invoking its `_initialize()` export, if it is present. - * If `instance` contains a `_start()` export, then an exception is thrown. - * - * `start()` requires that `instance` exports a [`WebAssembly.Memory`][] named - * `memory`. If `instance` does not have a `memory` export an exception is thrown. - * - * If `initialize()` is called more than once, an exception is thrown. - */ - initialize(instance: object): void; // TODO: avoid DOM dependency until WASM moved to own lib. - - /** - * Is an object that implements the WASI system call API. This object - * should be passed as the `wasi_snapshot_preview1` import during the instantiation of a - * [`WebAssembly.Instance`][]. - */ - readonly wasiImport: NodeJS.Dict; // TODO: Narrow to DOM types - } -} diff --git a/node_modules/@types/node/worker_threads.d.ts b/node_modules/@types/node/worker_threads.d.ts deleted file mode 100644 index 3a8881e..0000000 --- a/node_modules/@types/node/worker_threads.d.ts +++ /dev/null @@ -1,238 +0,0 @@ -declare module "worker_threads" { - import { Context } from "vm"; - import { EventEmitter } from "events"; - import { Readable, Writable } from "stream"; - import { URL } from "url"; - import { FileHandle } from "fs/promises"; - - const isMainThread: boolean; - const parentPort: null | MessagePort; - const resourceLimits: ResourceLimits; - const SHARE_ENV: unique symbol; - const threadId: number; - const workerData: any; - - class MessageChannel { - readonly port1: MessagePort; - readonly port2: MessagePort; - } - - type TransferListItem = ArrayBuffer | MessagePort | FileHandle; - - class MessagePort extends EventEmitter { - close(): void; - postMessage(value: any, transferList?: ReadonlyArray): void; - ref(): void; - unref(): void; - start(): void; - - addListener(event: "close", listener: () => void): this; - addListener(event: "message", listener: (value: any) => void): this; - addListener(event: "messageerror", listener: (error: Error) => void): this; - addListener(event: string | symbol, listener: (...args: any[]) => void): this; - - emit(event: "close"): boolean; - emit(event: "message", value: any): boolean; - emit(event: "messageerror", error: Error): boolean; - emit(event: string | symbol, ...args: any[]): boolean; - - on(event: "close", listener: () => void): this; - on(event: "message", listener: (value: any) => void): this; - on(event: "messageerror", listener: (error: Error) => void): this; - on(event: string | symbol, listener: (...args: any[]) => void): this; - - once(event: "close", listener: () => void): this; - once(event: "message", listener: (value: any) => void): this; - once(event: "messageerror", listener: (error: Error) => void): this; - once(event: string | symbol, listener: (...args: any[]) => void): this; - - prependListener(event: "close", listener: () => void): this; - prependListener(event: "message", listener: (value: any) => void): this; - prependListener(event: "messageerror", listener: (error: Error) => void): this; - prependListener(event: string | symbol, listener: (...args: any[]) => void): this; - - prependOnceListener(event: "close", listener: () => void): this; - prependOnceListener(event: "message", listener: (value: any) => void): this; - prependOnceListener(event: "messageerror", listener: (error: Error) => void): this; - prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; - - removeListener(event: "close", listener: () => void): this; - removeListener(event: "message", listener: (value: any) => void): this; - removeListener(event: "messageerror", listener: (error: Error) => void): this; - removeListener(event: string | symbol, listener: (...args: any[]) => void): this; - - off(event: "close", listener: () => void): this; - off(event: "message", listener: (value: any) => void): this; - off(event: "messageerror", listener: (error: Error) => void): this; - off(event: string | symbol, listener: (...args: any[]) => void): this; - } - - interface WorkerOptions { - /** - * List of arguments which would be stringified and appended to - * `process.argv` in the worker. This is mostly similar to the `workerData` - * but the values will be available on the global `process.argv` as if they - * were passed as CLI options to the script. - */ - argv?: any[]; - env?: NodeJS.Dict | typeof SHARE_ENV; - eval?: boolean; - workerData?: any; - stdin?: boolean; - stdout?: boolean; - stderr?: boolean; - execArgv?: string[]; - resourceLimits?: ResourceLimits; - /** - * Additional data to send in the first worker message. - */ - transferList?: TransferListItem[]; - trackUnmanagedFds?: boolean; - } - - interface ResourceLimits { - /** - * The maximum size of a heap space for recently created objects. - */ - maxYoungGenerationSizeMb?: number; - /** - * The maximum size of the main heap in MB. - */ - maxOldGenerationSizeMb?: number; - /** - * The size of a pre-allocated memory range used for generated code. - */ - codeRangeSizeMb?: number; - /** - * The default maximum stack size for the thread. Small values may lead to unusable Worker instances. - * @default 4 - */ - stackSizeMb?: number; - } - - class Worker extends EventEmitter { - readonly stdin: Writable | null; - readonly stdout: Readable; - readonly stderr: Readable; - readonly threadId: number; - readonly resourceLimits?: ResourceLimits; - - /** - * @param filename The path to the Worker’s main script or module. - * Must be either an absolute path or a relative path (i.e. relative to the current working directory) starting with ./ or ../, - * or a WHATWG URL object using file: protocol. If options.eval is true, this is a string containing JavaScript code rather than a path. - */ - constructor(filename: string | URL, options?: WorkerOptions); - - postMessage(value: any, transferList?: ReadonlyArray): void; - ref(): void; - unref(): void; - /** - * Stop all JavaScript execution in the worker thread as soon as possible. - * Returns a Promise for the exit code that is fulfilled when the `exit` event is emitted. - */ - terminate(): Promise; - - /** - * Returns a readable stream for a V8 snapshot of the current state of the Worker. - * See [`v8.getHeapSnapshot()`][] for more details. - * - * If the Worker thread is no longer running, which may occur before the - * [`'exit'` event][] is emitted, the returned `Promise` will be rejected - * immediately with an [`ERR_WORKER_NOT_RUNNING`][] error - */ - getHeapSnapshot(): Promise; - - addListener(event: "error", listener: (err: Error) => void): this; - addListener(event: "exit", listener: (exitCode: number) => void): this; - addListener(event: "message", listener: (value: any) => void): this; - addListener(event: "messageerror", listener: (error: Error) => void): this; - addListener(event: "online", listener: () => void): this; - addListener(event: string | symbol, listener: (...args: any[]) => void): this; - - emit(event: "error", err: Error): boolean; - emit(event: "exit", exitCode: number): boolean; - emit(event: "message", value: any): boolean; - emit(event: "messageerror", error: Error): boolean; - emit(event: "online"): boolean; - emit(event: string | symbol, ...args: any[]): boolean; - - on(event: "error", listener: (err: Error) => void): this; - on(event: "exit", listener: (exitCode: number) => void): this; - on(event: "message", listener: (value: any) => void): this; - on(event: "messageerror", listener: (error: Error) => void): this; - on(event: "online", listener: () => void): this; - on(event: string | symbol, listener: (...args: any[]) => void): this; - - once(event: "error", listener: (err: Error) => void): this; - once(event: "exit", listener: (exitCode: number) => void): this; - once(event: "message", listener: (value: any) => void): this; - once(event: "messageerror", listener: (error: Error) => void): this; - once(event: "online", listener: () => void): this; - once(event: string | symbol, listener: (...args: any[]) => void): this; - - prependListener(event: "error", listener: (err: Error) => void): this; - prependListener(event: "exit", listener: (exitCode: number) => void): this; - prependListener(event: "message", listener: (value: any) => void): this; - prependListener(event: "messageerror", listener: (error: Error) => void): this; - prependListener(event: "online", listener: () => void): this; - prependListener(event: string | symbol, listener: (...args: any[]) => void): this; - - prependOnceListener(event: "error", listener: (err: Error) => void): this; - prependOnceListener(event: "exit", listener: (exitCode: number) => void): this; - prependOnceListener(event: "message", listener: (value: any) => void): this; - prependOnceListener(event: "messageerror", listener: (error: Error) => void): this; - prependOnceListener(event: "online", listener: () => void): this; - prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; - - removeListener(event: "error", listener: (err: Error) => void): this; - removeListener(event: "exit", listener: (exitCode: number) => void): this; - removeListener(event: "message", listener: (value: any) => void): this; - removeListener(event: "messageerror", listener: (error: Error) => void): this; - removeListener(event: "online", listener: () => void): this; - removeListener(event: string | symbol, listener: (...args: any[]) => void): this; - - off(event: "error", listener: (err: Error) => void): this; - off(event: "exit", listener: (exitCode: number) => void): this; - off(event: "message", listener: (value: any) => void): this; - off(event: "messageerror", listener: (error: Error) => void): this; - off(event: "online", listener: () => void): this; - off(event: string | symbol, listener: (...args: any[]) => void): this; - } - - /** - * Mark an object as not transferable. - * If `object` occurs in the transfer list of a `port.postMessage()` call, it will be ignored. - * - * In particular, this makes sense for objects that can be cloned, rather than transferred, - * and which are used by other objects on the sending side. For example, Node.js marks - * the `ArrayBuffer`s it uses for its Buffer pool with this. - * - * This operation cannot be undone. - */ - function markAsUntransferable(object: object): void; - - /** - * Transfer a `MessagePort` to a different `vm` Context. The original `port` - * object will be rendered unusable, and the returned `MessagePort` instance will - * take its place. - * - * The returned `MessagePort` will be an object in the target context, and will - * inherit from its global `Object` class. Objects passed to the - * `port.onmessage()` listener will also be created in the target context - * and inherit from its global `Object` class. - * - * However, the created `MessagePort` will no longer inherit from - * `EventEmitter`, and only `port.onmessage()` can be used to receive - * events using it. - */ - function moveMessagePortToContext(port: MessagePort, context: Context): MessagePort; - - /** - * Receive a single message from a given `MessagePort`. If no message is available, - * `undefined` is returned, otherwise an object with a single `message` property - * that contains the message payload, corresponding to the oldest message in the - * `MessagePort`’s queue. - */ - function receiveMessageOnPort(port: MessagePort): { message: any } | undefined; -} diff --git a/node_modules/@types/node/zlib.d.ts b/node_modules/@types/node/zlib.d.ts deleted file mode 100644 index 754f5ed..0000000 --- a/node_modules/@types/node/zlib.d.ts +++ /dev/null @@ -1,361 +0,0 @@ -declare module "zlib" { - import * as stream from "stream"; - - interface ZlibOptions { - /** - * @default constants.Z_NO_FLUSH - */ - flush?: number; - /** - * @default constants.Z_FINISH - */ - finishFlush?: number; - /** - * @default 16*1024 - */ - chunkSize?: number; - windowBits?: number; - level?: number; // compression only - memLevel?: number; // compression only - strategy?: number; // compression only - dictionary?: NodeJS.ArrayBufferView | ArrayBuffer; // deflate/inflate only, empty dictionary by default - info?: boolean; - maxOutputLength?: number; - } - - interface BrotliOptions { - /** - * @default constants.BROTLI_OPERATION_PROCESS - */ - flush?: number; - /** - * @default constants.BROTLI_OPERATION_FINISH - */ - finishFlush?: number; - /** - * @default 16*1024 - */ - chunkSize?: number; - params?: { - /** - * Each key is a `constants.BROTLI_*` constant. - */ - [key: number]: boolean | number; - }; - maxOutputLength?: number; - } - - interface Zlib { - /** @deprecated Use bytesWritten instead. */ - readonly bytesRead: number; - readonly bytesWritten: number; - shell?: boolean | string; - close(callback?: () => void): void; - flush(kind?: number, callback?: () => void): void; - flush(callback?: () => void): void; - } - - interface ZlibParams { - params(level: number, strategy: number, callback: () => void): void; - } - - interface ZlibReset { - reset(): void; - } - - interface BrotliCompress extends stream.Transform, Zlib { } - interface BrotliDecompress extends stream.Transform, Zlib { } - interface Gzip extends stream.Transform, Zlib { } - interface Gunzip extends stream.Transform, Zlib { } - interface Deflate extends stream.Transform, Zlib, ZlibReset, ZlibParams { } - interface Inflate extends stream.Transform, Zlib, ZlibReset { } - interface DeflateRaw extends stream.Transform, Zlib, ZlibReset, ZlibParams { } - interface InflateRaw extends stream.Transform, Zlib, ZlibReset { } - interface Unzip extends stream.Transform, Zlib { } - - function createBrotliCompress(options?: BrotliOptions): BrotliCompress; - function createBrotliDecompress(options?: BrotliOptions): BrotliDecompress; - function createGzip(options?: ZlibOptions): Gzip; - function createGunzip(options?: ZlibOptions): Gunzip; - function createDeflate(options?: ZlibOptions): Deflate; - function createInflate(options?: ZlibOptions): Inflate; - function createDeflateRaw(options?: ZlibOptions): DeflateRaw; - function createInflateRaw(options?: ZlibOptions): InflateRaw; - function createUnzip(options?: ZlibOptions): Unzip; - - type InputType = string | ArrayBuffer | NodeJS.ArrayBufferView; - - type CompressCallback = (error: Error | null, result: Buffer) => void; - - function brotliCompress(buf: InputType, options: BrotliOptions, callback: CompressCallback): void; - function brotliCompress(buf: InputType, callback: CompressCallback): void; - namespace brotliCompress { - function __promisify__(buffer: InputType, options?: BrotliOptions): Promise; - } - - function brotliCompressSync(buf: InputType, options?: BrotliOptions): Buffer; - - function brotliDecompress(buf: InputType, options: BrotliOptions, callback: CompressCallback): void; - function brotliDecompress(buf: InputType, callback: CompressCallback): void; - namespace brotliDecompress { - function __promisify__(buffer: InputType, options?: BrotliOptions): Promise; - } - - function brotliDecompressSync(buf: InputType, options?: BrotliOptions): Buffer; - - function deflate(buf: InputType, callback: CompressCallback): void; - function deflate(buf: InputType, options: ZlibOptions, callback: CompressCallback): void; - namespace deflate { - function __promisify__(buffer: InputType, options?: ZlibOptions): Promise; - } - - function deflateSync(buf: InputType, options?: ZlibOptions): Buffer; - - function deflateRaw(buf: InputType, callback: CompressCallback): void; - function deflateRaw(buf: InputType, options: ZlibOptions, callback: CompressCallback): void; - namespace deflateRaw { - function __promisify__(buffer: InputType, options?: ZlibOptions): Promise; - } - - function deflateRawSync(buf: InputType, options?: ZlibOptions): Buffer; - - function gzip(buf: InputType, callback: CompressCallback): void; - function gzip(buf: InputType, options: ZlibOptions, callback: CompressCallback): void; - namespace gzip { - function __promisify__(buffer: InputType, options?: ZlibOptions): Promise; - } - - function gzipSync(buf: InputType, options?: ZlibOptions): Buffer; - - function gunzip(buf: InputType, callback: CompressCallback): void; - function gunzip(buf: InputType, options: ZlibOptions, callback: CompressCallback): void; - namespace gunzip { - function __promisify__(buffer: InputType, options?: ZlibOptions): Promise; - } - - function gunzipSync(buf: InputType, options?: ZlibOptions): Buffer; - - function inflate(buf: InputType, callback: CompressCallback): void; - function inflate(buf: InputType, options: ZlibOptions, callback: CompressCallback): void; - namespace inflate { - function __promisify__(buffer: InputType, options?: ZlibOptions): Promise; - } - - function inflateSync(buf: InputType, options?: ZlibOptions): Buffer; - - function inflateRaw(buf: InputType, callback: CompressCallback): void; - function inflateRaw(buf: InputType, options: ZlibOptions, callback: CompressCallback): void; - namespace inflateRaw { - function __promisify__(buffer: InputType, options?: ZlibOptions): Promise; - } - - function inflateRawSync(buf: InputType, options?: ZlibOptions): Buffer; - - function unzip(buf: InputType, callback: CompressCallback): void; - function unzip(buf: InputType, options: ZlibOptions, callback: CompressCallback): void; - namespace unzip { - function __promisify__(buffer: InputType, options?: ZlibOptions): Promise; - } - - function unzipSync(buf: InputType, options?: ZlibOptions): Buffer; - - namespace constants { - const BROTLI_DECODE: number; - const BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES: number; - const BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP: number; - const BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES: number; - const BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1: number; - const BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2: number; - const BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS: number; - const BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET: number; - const BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1: number; - const BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2: number; - const BROTLI_DECODER_ERROR_FORMAT_CL_SPACE: number; - const BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT: number; - const BROTLI_DECODER_ERROR_FORMAT_DICTIONARY: number; - const BROTLI_DECODER_ERROR_FORMAT_DISTANCE: number; - const BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE: number; - const BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE: number; - const BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE: number; - const BROTLI_DECODER_ERROR_FORMAT_PADDING_1: number; - const BROTLI_DECODER_ERROR_FORMAT_PADDING_2: number; - const BROTLI_DECODER_ERROR_FORMAT_RESERVED: number; - const BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET: number; - const BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME: number; - const BROTLI_DECODER_ERROR_FORMAT_TRANSFORM: number; - const BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS: number; - const BROTLI_DECODER_ERROR_INVALID_ARGUMENTS: number; - const BROTLI_DECODER_ERROR_UNREACHABLE: number; - const BROTLI_DECODER_NEEDS_MORE_INPUT: number; - const BROTLI_DECODER_NEEDS_MORE_OUTPUT: number; - const BROTLI_DECODER_NO_ERROR: number; - const BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION: number; - const BROTLI_DECODER_PARAM_LARGE_WINDOW: number; - const BROTLI_DECODER_RESULT_ERROR: number; - const BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT: number; - const BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT: number; - const BROTLI_DECODER_RESULT_SUCCESS: number; - const BROTLI_DECODER_SUCCESS: number; - - const BROTLI_DEFAULT_MODE: number; - const BROTLI_DEFAULT_QUALITY: number; - const BROTLI_DEFAULT_WINDOW: number; - const BROTLI_ENCODE: number; - const BROTLI_LARGE_MAX_WINDOW_BITS: number; - const BROTLI_MAX_INPUT_BLOCK_BITS: number; - const BROTLI_MAX_QUALITY: number; - const BROTLI_MAX_WINDOW_BITS: number; - const BROTLI_MIN_INPUT_BLOCK_BITS: number; - const BROTLI_MIN_QUALITY: number; - const BROTLI_MIN_WINDOW_BITS: number; - - const BROTLI_MODE_FONT: number; - const BROTLI_MODE_GENERIC: number; - const BROTLI_MODE_TEXT: number; - - const BROTLI_OPERATION_EMIT_METADATA: number; - const BROTLI_OPERATION_FINISH: number; - const BROTLI_OPERATION_FLUSH: number; - const BROTLI_OPERATION_PROCESS: number; - - const BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING: number; - const BROTLI_PARAM_LARGE_WINDOW: number; - const BROTLI_PARAM_LGBLOCK: number; - const BROTLI_PARAM_LGWIN: number; - const BROTLI_PARAM_MODE: number; - const BROTLI_PARAM_NDIRECT: number; - const BROTLI_PARAM_NPOSTFIX: number; - const BROTLI_PARAM_QUALITY: number; - const BROTLI_PARAM_SIZE_HINT: number; - - const DEFLATE: number; - const DEFLATERAW: number; - const GUNZIP: number; - const GZIP: number; - const INFLATE: number; - const INFLATERAW: number; - const UNZIP: number; - - // Allowed flush values. - const Z_NO_FLUSH: number; - const Z_PARTIAL_FLUSH: number; - const Z_SYNC_FLUSH: number; - const Z_FULL_FLUSH: number; - const Z_FINISH: number; - const Z_BLOCK: number; - const Z_TREES: number; - - // Return codes for the compression/decompression functions. - // Negative values are errors, positive values are used for special but normal events. - const Z_OK: number; - const Z_STREAM_END: number; - const Z_NEED_DICT: number; - const Z_ERRNO: number; - const Z_STREAM_ERROR: number; - const Z_DATA_ERROR: number; - const Z_MEM_ERROR: number; - const Z_BUF_ERROR: number; - const Z_VERSION_ERROR: number; - - // Compression levels. - const Z_NO_COMPRESSION: number; - const Z_BEST_SPEED: number; - const Z_BEST_COMPRESSION: number; - const Z_DEFAULT_COMPRESSION: number; - - // Compression strategy. - const Z_FILTERED: number; - const Z_HUFFMAN_ONLY: number; - const Z_RLE: number; - const Z_FIXED: number; - const Z_DEFAULT_STRATEGY: number; - - const Z_DEFAULT_WINDOWBITS: number; - const Z_MIN_WINDOWBITS: number; - const Z_MAX_WINDOWBITS: number; - - const Z_MIN_CHUNK: number; - const Z_MAX_CHUNK: number; - const Z_DEFAULT_CHUNK: number; - - const Z_MIN_MEMLEVEL: number; - const Z_MAX_MEMLEVEL: number; - const Z_DEFAULT_MEMLEVEL: number; - - const Z_MIN_LEVEL: number; - const Z_MAX_LEVEL: number; - const Z_DEFAULT_LEVEL: number; - - const ZLIB_VERNUM: number; - } - - // Allowed flush values. - /** @deprecated Use `constants.Z_NO_FLUSH` */ - const Z_NO_FLUSH: number; - /** @deprecated Use `constants.Z_PARTIAL_FLUSH` */ - const Z_PARTIAL_FLUSH: number; - /** @deprecated Use `constants.Z_SYNC_FLUSH` */ - const Z_SYNC_FLUSH: number; - /** @deprecated Use `constants.Z_FULL_FLUSH` */ - const Z_FULL_FLUSH: number; - /** @deprecated Use `constants.Z_FINISH` */ - const Z_FINISH: number; - /** @deprecated Use `constants.Z_BLOCK` */ - const Z_BLOCK: number; - /** @deprecated Use `constants.Z_TREES` */ - const Z_TREES: number; - - // Return codes for the compression/decompression functions. - // Negative values are errors, positive values are used for special but normal events. - /** @deprecated Use `constants.Z_OK` */ - const Z_OK: number; - /** @deprecated Use `constants.Z_STREAM_END` */ - const Z_STREAM_END: number; - /** @deprecated Use `constants.Z_NEED_DICT` */ - const Z_NEED_DICT: number; - /** @deprecated Use `constants.Z_ERRNO` */ - const Z_ERRNO: number; - /** @deprecated Use `constants.Z_STREAM_ERROR` */ - const Z_STREAM_ERROR: number; - /** @deprecated Use `constants.Z_DATA_ERROR` */ - const Z_DATA_ERROR: number; - /** @deprecated Use `constants.Z_MEM_ERROR` */ - const Z_MEM_ERROR: number; - /** @deprecated Use `constants.Z_BUF_ERROR` */ - const Z_BUF_ERROR: number; - /** @deprecated Use `constants.Z_VERSION_ERROR` */ - const Z_VERSION_ERROR: number; - - // Compression levels. - /** @deprecated Use `constants.Z_NO_COMPRESSION` */ - const Z_NO_COMPRESSION: number; - /** @deprecated Use `constants.Z_BEST_SPEED` */ - const Z_BEST_SPEED: number; - /** @deprecated Use `constants.Z_BEST_COMPRESSION` */ - const Z_BEST_COMPRESSION: number; - /** @deprecated Use `constants.Z_DEFAULT_COMPRESSION` */ - const Z_DEFAULT_COMPRESSION: number; - - // Compression strategy. - /** @deprecated Use `constants.Z_FILTERED` */ - const Z_FILTERED: number; - /** @deprecated Use `constants.Z_HUFFMAN_ONLY` */ - const Z_HUFFMAN_ONLY: number; - /** @deprecated Use `constants.Z_RLE` */ - const Z_RLE: number; - /** @deprecated Use `constants.Z_FIXED` */ - const Z_FIXED: number; - /** @deprecated Use `constants.Z_DEFAULT_STRATEGY` */ - const Z_DEFAULT_STRATEGY: number; - - /** @deprecated */ - const Z_BINARY: number; - /** @deprecated */ - const Z_TEXT: number; - /** @deprecated */ - const Z_ASCII: number; - /** @deprecated */ - const Z_UNKNOWN: number; - /** @deprecated */ - const Z_DEFLATED: number; -} diff --git a/node_modules/before-after-hook/README.md b/node_modules/before-after-hook/README.md index ebcf419..07d7756 100644 --- a/node_modules/before-after-hook/README.md +++ b/node_modules/before-after-hook/README.md @@ -3,16 +3,12 @@ > asynchronous hooks for internal functionality [![npm downloads](https://img.shields.io/npm/dw/before-after-hook.svg)](https://www.npmjs.com/package/before-after-hook) -[![Build Status](https://travis-ci.org/gr2m/before-after-hook.svg?branch=master)](https://travis-ci.org/gr2m/before-after-hook) -[![Coverage Status](https://coveralls.io/repos/gr2m/before-after-hook/badge.svg?branch=master)](https://coveralls.io/r/gr2m/before-after-hook?branch=master) -[![Greenkeeper badge](https://badges.greenkeeper.io/gr2m/before-after-hook.svg)](https://greenkeeper.io/) +[![Test](https://github.com/gr2m/before-after-hook/actions/workflows/test.yml/badge.svg)](https://github.com/gr2m/before-after-hook/actions/workflows/test.yml) ## Usage ### Singular hook -Recommended for [TypeScript](#typescript) - ```js // instantiate singular hook API const hook = new Hook.Singular(); @@ -64,7 +60,7 @@ The methods are executed in the following order 1. `beforeHook` 2. `fetchFromDatabase` 3. `afterHook` -4. `getData` +4. `handleData` `beforeHook` can mutate `options` before it’s passed to `fetchFromDatabase`. @@ -72,10 +68,10 @@ If an error is thrown in `beforeHook` or `fetchFromDatabase` then `errorHook` is called next. If `afterHook` throws an error then `handleGetError` is called instead -of `getData`. +of `handleData`. If `errorHook` throws an error then `handleGetError` is called next, otherwise -`afterHook` and `getData`. +`afterHook` and `handleData`. You can also use `hook.wrap` to achieve the same thing as shown above (collection example): @@ -526,49 +522,113 @@ hookCollection.remove("save", validateRecord); ## TypeScript -This library contains type definitions for TypeScript. When you use TypeScript we highly recommend using the `Hook.Singular` constructor for your hooks as this allows you to pass along type information for the options object. For example: +This library contains type definitions for TypeScript. + +### Type support for `Singular`: ```ts +import { Hook } from "before-after-hook"; -import {Hook} from 'before-after-hook' +type TOptions = { foo: string }; // type for options +type TResult = { bar: number }; // type for result +type TError = Error; // type for error -interface Foo { - bar: string - num: number; -} +const hook = new Hook.Singular(); -const hook = new Hook.Singular(); +hook.before((options) => { + // `options.foo` has `string` type -hook.before(function (foo) { + // not allowed + options.foo = 42; - // typescript will complain about the following mutation attempts - foo.hello = 'world' - foo.bar = 123 + // allowed + options.foo = "Forty-Two"; +}); - // yet this is valid - foo.bar = 'other-string' - foo.num = 123 -}) +const hookedMethod = hook( + (options) => { + // `options.foo` has `string` type -const foo = hook(function(foo) { - // handle `foo` - foo.bar = 'another-string' -}, {bar: 'random-string'}) + // not allowed, because it does not satisfy the `R` type + return { foo: 42 }; -// foo outputs -{ - bar: 'another-string', - num: 123 -} + // allowed + return { bar: 42 }; + }, + { foo: "Forty-Two" } +); +``` + +You can choose not to pass the types for options, result or error. So, these are completely valid: + +```ts +const hook = new Hook.Singular(); +const hook = new Hook.Singular(); +const hook = new Hook.Singular(); +``` + +In these cases, the omitted types will implicitly be `any`. + +### Type support for `Collection`: + +`Collection` also has strict type support. You can use it like this: + +```ts +import { Hook } from "before-after-hook"; + +type HooksType = { + add: { + Options: { type: string }; + Result: { id: number }; + Error: Error; + }; + save: { + Options: { type: string }; + Result: { id: number }; + }; + read: { + Options: { id: number; foo: number }; + }; + destroy: { + Options: { id: number; foo: string }; + }; +}; + +const hooks = new Hook.Collection(); + +hooks.before("destroy", (options) => { + // `options.id` has `number` type +}); + +hooks.error("add", (err, options) => { + // `options.type` has `string` type + // `err` is `instanceof Error` +}); + +hooks.error("save", (err, options) => { + // `options.type` has `string` type + // `err` has type `any` +}); + +hooks.after("save", (result, options) => { + // `options.type` has `string` type + // `result.id` has `number` type +}); +``` + +You can choose not to pass the types altogether. In that case, everything will implicitly be `any`: + +```ts +const hook = new Hook.Collection(); ``` -An alternative import: +Alternative imports: ```ts import { Singular, Collection } from "before-after-hook"; -const hook = new Singular<{ foo: string }>(); -const hookCollection = new Collection(); +const hook = new Singular(); +const hooks = new Collection(); ``` ## Upgrading to 1.4 diff --git a/node_modules/before-after-hook/index.d.ts b/node_modules/before-after-hook/index.d.ts index 3c19a5c..817bf93 100644 --- a/node_modules/before-after-hook/index.d.ts +++ b/node_modules/before-after-hook/index.d.ts @@ -1,96 +1,186 @@ -type HookMethod = (options: O) => R | Promise +type HookMethod = ( + options: Options +) => Result | Promise; -type BeforeHook = (options: O) => void -type ErrorHook = (error: E, options: O) => void -type AfterHook = (result: R, options: O) => void -type WrapHook = ( - hookMethod: HookMethod, - options: O -) => R | Promise +type BeforeHook = (options: Options) => void | Promise; +type ErrorHook = ( + error: Error, + options: Options +) => unknown | Promise; +type AfterHook = ( + result: Result, + options: Options +) => void | Promise; +type WrapHook = ( + hookMethod: HookMethod, + options: Options +) => Result | Promise; -type AnyHook = - | BeforeHook - | ErrorHook - | AfterHook - | WrapHook +type AnyHook = + | BeforeHook + | ErrorHook + | AfterHook + | WrapHook; -export interface HookCollection { +type TypeStoreKeyLong = "Options" | "Result" | "Error"; +type TypeStoreKeyShort = "O" | "R" | "E"; +type TypeStore = + | ({ [key in TypeStoreKeyLong]?: any } & + { [key in TypeStoreKeyShort]?: never }) + | ({ [key in TypeStoreKeyLong]?: never } & + { [key in TypeStoreKeyShort]?: any }); +type GetType< + Store extends TypeStore, + LongKey extends TypeStoreKeyLong, + ShortKey extends TypeStoreKeyShort +> = LongKey extends keyof Store + ? Store[LongKey] + : ShortKey extends keyof Store + ? Store[ShortKey] + : any; + +export interface HookCollection< + HooksType extends Record = Record< + string, + { Options: any; Result: any; Error: any } + >, + HookName extends keyof HooksType = keyof HooksType +> { /** * Invoke before and after hooks */ - ( - name: string | string[], - hookMethod: HookMethod, - options?: any - ): Promise + ( + name: Name | Name[], + hookMethod: HookMethod< + GetType, + GetType + >, + options?: GetType + ): Promise>; /** * Add `before` hook for given `name` */ - before(name: string, beforeHook: BeforeHook): void + before( + name: Name, + beforeHook: BeforeHook> + ): void; /** * Add `error` hook for given `name` */ - error(name: string, errorHook: ErrorHook): void + error( + name: Name, + errorHook: ErrorHook< + GetType, + GetType + > + ): void; /** * Add `after` hook for given `name` */ - after(name: string, afterHook: AfterHook): void + after( + name: Name, + afterHook: AfterHook< + GetType, + GetType + > + ): void; /** * Add `wrap` hook for given `name` */ - wrap(name: string, wrapHook: WrapHook): void + wrap( + name: Name, + wrapHook: WrapHook< + GetType, + GetType + > + ): void; /** * Remove added hook for given `name` */ - remove(name: string, hook: AnyHook): void + remove( + name: Name, + hook: AnyHook< + GetType, + GetType, + GetType + > + ): void; + /** + * Public API + */ + api: Pick< + HookCollection, + "before" | "error" | "after" | "wrap" | "remove" + >; } -export interface HookSingular { +export interface HookSingular { /** * Invoke before and after hooks */ - (hookMethod: HookMethod, options?: O): Promise + (hookMethod: HookMethod, options?: Options): Promise; /** * Add `before` hook */ - before(beforeHook: BeforeHook): void + before(beforeHook: BeforeHook): void; /** * Add `error` hook */ - error(errorHook: ErrorHook): void + error(errorHook: ErrorHook): void; /** * Add `after` hook */ - after(afterHook: AfterHook): void + after(afterHook: AfterHook): void; /** * Add `wrap` hook */ - wrap(wrapHook: WrapHook): void + wrap(wrapHook: WrapHook): void; /** * Remove added hook */ - remove(hook: AnyHook): void + remove(hook: AnyHook): void; + /** + * Public API + */ + api: Pick< + HookSingular, + "before" | "error" | "after" | "wrap" | "remove" + >; } -type Collection = new () => HookCollection -type Singular = new () => HookSingular +type Collection = new < + HooksType extends Record = Record< + string, + { Options: any; Result: any; Error: any } + > +>() => HookCollection; +type Singular = new < + Options = any, + Result = any, + Error = any +>() => HookSingular; interface Hook { - new (): HookCollection + new < + HooksType extends Record = Record< + string, + { Options: any; Result: any; Error: any } + > + >(): HookCollection; /** * Creates a collection of hooks */ - Collection: Collection + Collection: Collection; /** * Creates a nameless hook that supports strict typings */ - Singular: Singular + Singular: Singular; } -export const Hook: Hook -export const Collection: Collection -export const Singular: Singular +export const Hook: Hook; +export const Collection: Collection; +export const Singular: Singular; -export default Hook +export default Hook; diff --git a/node_modules/before-after-hook/index.js b/node_modules/before-after-hook/index.js index a97d89b..6b60d3c 100644 --- a/node_modules/before-after-hook/index.js +++ b/node_modules/before-after-hook/index.js @@ -1,57 +1,61 @@ -var register = require('./lib/register') -var addHook = require('./lib/add') -var removeHook = require('./lib/remove') +var register = require("./lib/register"); +var addHook = require("./lib/add"); +var removeHook = require("./lib/remove"); // bind with array of arguments: https://stackoverflow.com/a/21792913 -var bind = Function.bind -var bindable = bind.bind(bind) - -function bindApi (hook, state, name) { - var removeHookRef = bindable(removeHook, null).apply(null, name ? [state, name] : [state]) - hook.api = { remove: removeHookRef } - hook.remove = removeHookRef - - ;['before', 'error', 'after', 'wrap'].forEach(function (kind) { - var args = name ? [state, kind, name] : [state, kind] - hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args) - }) +var bind = Function.bind; +var bindable = bind.bind(bind); + +function bindApi(hook, state, name) { + var removeHookRef = bindable(removeHook, null).apply( + null, + name ? [state, name] : [state] + ); + hook.api = { remove: removeHookRef }; + hook.remove = removeHookRef; + ["before", "error", "after", "wrap"].forEach(function (kind) { + var args = name ? [state, kind, name] : [state, kind]; + hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args); + }); } -function HookSingular () { - var singularHookName = 'h' +function HookSingular() { + var singularHookName = "h"; var singularHookState = { - registry: {} - } - var singularHook = register.bind(null, singularHookState, singularHookName) - bindApi(singularHook, singularHookState, singularHookName) - return singularHook + registry: {}, + }; + var singularHook = register.bind(null, singularHookState, singularHookName); + bindApi(singularHook, singularHookState, singularHookName); + return singularHook; } -function HookCollection () { +function HookCollection() { var state = { - registry: {} - } + registry: {}, + }; - var hook = register.bind(null, state) - bindApi(hook, state) + var hook = register.bind(null, state); + bindApi(hook, state); - return hook + return hook; } -var collectionHookDeprecationMessageDisplayed = false -function Hook () { +var collectionHookDeprecationMessageDisplayed = false; +function Hook() { if (!collectionHookDeprecationMessageDisplayed) { - console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4') - collectionHookDeprecationMessageDisplayed = true + console.warn( + '[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4' + ); + collectionHookDeprecationMessageDisplayed = true; } - return HookCollection() + return HookCollection(); } -Hook.Singular = HookSingular.bind() -Hook.Collection = HookCollection.bind() +Hook.Singular = HookSingular.bind(); +Hook.Collection = HookCollection.bind(); -module.exports = Hook +module.exports = Hook; // expose constructors as a named property for TypeScript -module.exports.Hook = Hook -module.exports.Singular = Hook.Singular -module.exports.Collection = Hook.Collection +module.exports.Hook = Hook; +module.exports.Singular = Hook.Singular; +module.exports.Collection = Hook.Collection; diff --git a/node_modules/before-after-hook/package.json b/node_modules/before-after-hook/package.json index 41cb523..533a3eb 100644 --- a/node_modules/before-after-hook/package.json +++ b/node_modules/before-after-hook/package.json @@ -1,6 +1,6 @@ { "name": "before-after-hook", - "version": "2.1.1", + "version": "2.2.3", "description": "asynchronous before/error/after hooks for internal functionality", "main": "index.js", "files": [ @@ -13,8 +13,8 @@ "prebuild": "rimraf dist && mkdirp dist", "build": "browserify index.js --standalone=Hook > dist/before-after-hook.js", "postbuild": "uglifyjs dist/before-after-hook.js -mc > dist/before-after-hook.min.js", - "lint": "prettier --check '{lib,test,examples}/**/*' README.md package.json", - "lint:fix": "prettier --write '{lib,test,examples}/**/*' README.md package.json", + "lint": "prettier --check '{lib,test,examples}/**/*' 'index.*' README.md package.json", + "lint:fix": "prettier --write '{lib,test,examples}/**/*' 'index.*' README.md package.json", "pretest": "npm run -s lint", "test": "npm run -s test:node | tap-spec", "posttest": "npm run validate:ts", @@ -27,10 +27,7 @@ "presemantic-release": "npm run build", "semantic-release": "semantic-release" }, - "repository": { - "type": "git", - "url": "https://github.com/gr2m/before-after-hook.git" - }, + "repository": "github:gr2m/before-after-hook", "keywords": [ "hook", "hooks", @@ -38,10 +35,6 @@ ], "author": "Gregor Martynus", "license": "Apache-2.0", - "bugs": { - "url": "https://github.com/gr2m/before-after-hook/issues" - }, - "homepage": "https://github.com/gr2m/before-after-hook#readme", "dependencies": {}, "devDependencies": { "browserify": "^16.0.0", @@ -51,7 +44,7 @@ "mkdirp": "^1.0.3", "prettier": "^2.0.0", "rimraf": "^3.0.0", - "semantic-release": "^17.0.0", + "semantic-release": "^19.0.3", "simple-mock": "^0.8.0", "tap-min": "^2.0.0", "tap-spec": "^5.0.0", @@ -60,14 +53,19 @@ "uglify-js": "^3.9.0" }, "release": { - "publish": [ - "@semantic-release/npm", + "branches": [ + "+([0-9]).x", + "main", + "next", { - "path": "@semantic-release/github", - "assets": [ - "dist/*.js" - ] + "name": "beta", + "prerelease": true } ] + }, + "renovate": { + "extends": [ + "github>gr2m/.github" + ] } } diff --git a/node_modules/commander/CHANGELOG.md b/node_modules/commander/CHANGELOG.md index ac5f535..0b55881 100644 --- a/node_modules/commander/CHANGELOG.md +++ b/node_modules/commander/CHANGELOG.md @@ -8,6 +8,19 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. +## [7.2.0] (2021-03-26) + +### Added + +- TypeScript typing for `parent` property on `Command` ([#1475]) +- TypeScript typing for `.attributeName()` on `Option` ([#1483]) +- support information in package ([#1477]) + +### Changed + +- improvements to error messages, README, and tests +- update dependencies + ## [7.1.0] (2021-02-15) ### Added @@ -402,10 +415,12 @@ to expand `-fb` to `-f -b` rather than `-f b`. [#1453]: https://github.com/tj/commander.js/pull/1453 [#1454]: https://github.com/tj/commander.js/pull/1454 [#1464]: https://github.com/tj/commander.js/pull/1464 - - +[#1475]: https://github.com/tj/commander.js/pull/1475 +[#1477]: https://github.com/tj/commander.js/pull/1477 +[#1483]: https://github.com/tj/commander.js/pull/1483 [Unreleased]: https://github.com/tj/commander.js/compare/master...develop +[7.2.0]: https://github.com/tj/commander.js/compare/v7.1.0...v7.2.0 [7.1.0]: https://github.com/tj/commander.js/compare/v7.0.0...v7.1.0 [7.0.0]: https://github.com/tj/commander.js/compare/v6.2.1...v7.0.0 [7.0.0-2]: https://github.com/tj/commander.js/compare/v7.0.0-1...v7.0.0-2 diff --git a/node_modules/commander/Readme.md b/node_modules/commander/Readme.md index c8ce6ed..d2a88a7 100644 --- a/node_modules/commander/Readme.md +++ b/node_modules/commander/Readme.md @@ -711,7 +711,7 @@ an option for a different purpose in subcommands. Example file: [positional-options.js](./examples/positional-options.js) -With positional options, the `-b` is a program option in the first line and a subcommand option in the second: +With positional options, the `-b` is a program option in the first line and a subcommand option in the second line: ```sh program -b subcommand @@ -725,7 +725,7 @@ To use pass through options in a subcommand, the program needs to enable positio Example file: [pass-through-options.js](./examples/pass-through-options.js) -With pass through options, the `--port=80` is a program option in the line and passed through as a command-argument in the second: +With pass through options, the `--port=80` is a program option in the first line and passed through as a command-argument in the second line: ```sh program --port=80 arg diff --git a/node_modules/commander/index.js b/node_modules/commander/index.js index ec98879..985a8cf 100644 --- a/node_modules/commander/index.js +++ b/node_modules/commander/index.js @@ -1172,7 +1172,7 @@ class Command extends EventEmitter { passThroughOptions(passThrough = true) { this._passThroughOptions = !!passThrough; if (!!this.parent && passThrough && !this.parent._enablePositionalOptions) { - throw new Error('passThroughOptions can not be used without turning on enablePositionOptions for parent command(s)'); + throw new Error('passThroughOptions can not be used without turning on enablePositionalOptions for parent command(s)'); } return this; }; diff --git a/node_modules/commander/package-support.json b/node_modules/commander/package-support.json new file mode 100644 index 0000000..4eabb97 --- /dev/null +++ b/node_modules/commander/package-support.json @@ -0,0 +1,16 @@ +{ + "versions": [ + { + "version": "*", + "target": { + "node": "supported" + }, + "response": { + "type": "time-permitting" + }, + "backing": { + "npm-funding": true + } + } + ] +} diff --git a/node_modules/commander/package.json b/node_modules/commander/package.json index 94f5a96..ca153e5 100644 --- a/node_modules/commander/package.json +++ b/node_modules/commander/package.json @@ -1,6 +1,6 @@ { "name": "commander", - "version": "7.1.0", + "version": "7.2.0", "description": "the complete solution for node.js command-line programs", "keywords": [ "commander", @@ -20,9 +20,9 @@ }, "scripts": { "lint": "eslint index.js esm.mjs \"tests/**/*.js\"", - "typescript-lint": "eslint typings/*.ts", + "typescript-lint": "eslint typings/*.ts tests/*.ts", "test": "jest && npm run test-typings", - "test-esm": "node --experimental-modules ./tests/esm-test.mjs", + "test-esm": "node --experimental-modules ./tests/esm-imports-test.mjs", "test-typings": "tsd", "typescript-checkJS": "tsc --allowJS --checkJS index.js --noEmit", "test-all": "npm run test && npm run lint && npm run typescript-lint && npm run typescript-checkJS && npm run test-esm" @@ -31,7 +31,8 @@ "files": [ "index.js", "esm.mjs", - "typings/index.d.ts" + "typings/index.d.ts", + "package-support.json" ], "type": "commonjs", "dependencies": {}, @@ -45,14 +46,23 @@ "eslint-plugin-jest": "^24.1.3", "jest": "^26.6.3", "standard": "^16.0.3", + "ts-jest": "^26.5.1", "tsd": "^0.14.0", "typescript": "^4.1.2" }, "types": "typings/index.d.ts", "jest": { - "collectCoverage": true + "testEnvironment": "node", + "collectCoverage": true, + "transform": { + "^.+\\.tsx?$": "ts-jest" + }, + "testPathIgnorePatterns": [ + "/node_modules/" + ] }, "engines": { "node": ">= 10" - } + }, + "support": true } diff --git a/node_modules/commander/typings/index.d.ts b/node_modules/commander/typings/index.d.ts index 36163d3..ee40d89 100644 --- a/node_modules/commander/typings/index.d.ts +++ b/node_modules/commander/typings/index.d.ts @@ -78,6 +78,12 @@ declare namespace commander { * Return option name. */ name(): string; + + /** + * Return option name, in a camelcase format that can be used + * as a object attribute key. + */ + attributeName(): string; } type OptionConstructor = new (flags: string, description?: string) => Option; @@ -156,8 +162,8 @@ declare namespace commander { interface Command { args: string[]; - commands: Command[]; + parent: Command | null; /** * Set the program version to `str`. diff --git a/node_modules/dotenv/.DS_Store b/node_modules/dotenv/.DS_Store deleted file mode 100644 index 354f8eb3e8579b577cbeb7a3437fadf1a28e8b08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKOG?B*5Up}XhzK%Em%Vi9fCp%Yc!Ifr#1Rz|5>OX{i|hqgUcsAq4o@)$@Kski zlg8juM600tb=Nm}knR)_@#20pCz=safg#AU7!gsAns&@tj4V0k%Zs+@MpFDTd_+t$4v|N@8yp-LoUtUk{+JJG6AtHXg oEFf5CKLOatIdYhcY7er8Uo`9$C5z}&IM9Ct5+Oc013$pP2b$7Hv;Y7A diff --git a/node_modules/dotenv/.github/FUNDING.yml b/node_modules/dotenv/.github/FUNDING.yml new file mode 100644 index 0000000..5728bf3 --- /dev/null +++ b/node_modules/dotenv/.github/FUNDING.yml @@ -0,0 +1 @@ +tidelift: "npm/dotenv" diff --git a/node_modules/dotenv/CHANGELOG.md b/node_modules/dotenv/CHANGELOG.md index 7bf933b..4b1efce 100644 --- a/node_modules/dotenv/CHANGELOG.md +++ b/node_modules/dotenv/CHANGELOG.md @@ -2,24 +2,53 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [8.6.0](https://github.com/motdotla/dotenv/compare/v8.5.1...v8.6.0) (2021-05-05) + +### Added + +- define package.json in exports + +## [8.5.1](https://github.com/motdotla/dotenv/compare/v8.5.0...v8.5.1) (2021-05-05) + +### Changed + +- updated dev dependencies via npm audit + +## [8.5.0](https://github.com/motdotla/dotenv/compare/v8.4.0...v8.5.0) (2021-05-05) + +### Added + +- allow for `import "dotenv/config"` + +## [8.4.0](https://github.com/motdotla/dotenv/compare/v8.3.0...v8.4.0) (2021-05-05) + +### Changed + +- point to exact types file to work with VS Code + +## [8.3.0](https://github.com/motdotla/dotenv/compare/v8.2.0...v8.3.0) (2021-05-05) + +### Changed + +- _Breaking:_ drop support for Node v8 + ## [8.2.0](https://github.com/motdotla/dotenv/compare/v8.1.0...v8.2.0) (2019-10-16) -## [8.1.0](https://github.com/motdotla/dotenv/compare/v7.0.0...v8.1.0) (2019-08-18) +### Added +- TypeScript types -### ⚠ BREAKING CHANGES +## [8.1.0](https://github.com/motdotla/dotenv/compare/v8.0.0...v8.1.0) (2019-08-18) -* dropping Node v6 support because end-of-life +### Changed -* Drop support for Node v6 (#392) ([2e9636a](https://github.com/motdotla/dotenv/commit/2e9636a)), closes [#392](https://github.com/motdotla/dotenv/issues/392) +- _Breaking:_ drop support for Node v6 ([#392](https://github.com/motdotla/dotenv/issues/392)) # [8.0.0](https://github.com/motdotla/dotenv/compare/v7.0.0...v8.0.0) (2019-05-02) -- Drop support for Node v6 (#392) ([2e9636a](https://github.com/motdotla/dotenv/commit/2e9636a)), closes [#392](https://github.com/motdotla/dotenv/issues/392) - -### BREAKING CHANGES +### Changed -- dropping Node v6 support because end-of-life +- _Breaking:_ drop support for Node v6 ([#302](https://github.com/motdotla/dotenv/issues/392)) ## [7.0.0] - 2019-03-12 diff --git a/node_modules/dotenv/README.md b/node_modules/dotenv/README.md index cf65c9e..ad619b7 100644 --- a/node_modules/dotenv/README.md +++ b/node_modules/dotenv/README.md @@ -1,3 +1,5 @@ +**Announcement 📣** - From the makers that brought you .env, introducing [.env.me](http://npmjs.org/package/dotenv-me). Sync your .env files across machines. [Join the early access list.](https://me.dotenv.org/) + # dotenv dotenv @@ -62,7 +64,7 @@ $ node -r dotenv/config your_script.js The configuration options below are supported as command line arguments in the format `dotenv_config_